<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Tech Euphoria</title>
	<atom:link href="http://wardrip.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://wardrip.wordpress.com</link>
	<description>n. happiness for high tech people</description>
	<lastBuildDate>Thu, 08 Dec 2011 22:28:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='wardrip.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Tech Euphoria</title>
		<link>http://wardrip.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://wardrip.wordpress.com/osd.xml" title="Tech Euphoria" />
	<atom:link rel='hub' href='http://wardrip.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Rotating Tomcat&#8217;s &#8220;catalina.out&#8221; Logfile</title>
		<link>http://wardrip.wordpress.com/2011/12/08/rotating-tomcats-catalina-out-logfile/</link>
		<comments>http://wardrip.wordpress.com/2011/12/08/rotating-tomcats-catalina-out-logfile/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 22:28:19 +0000</pubDate>
		<dc:creator>Paul Wardrip</dc:creator>
				<category><![CDATA[Tip of the... Whatever]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Tomcat]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://wardrip.wordpress.com/?p=235</guid>
		<description><![CDATA[Like many of my &#8220;Tip of the&#8230; Whatever&#8221; articles, this came up at the office today and I decided to post the information here. Apache Tomcat writes console messages into a file called catalina.out in its log directory. By default this file doesn&#8217;t get rotated and will continue to grow to extreme sizes. When it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wardrip.wordpress.com&amp;blog=14725161&amp;post=235&amp;subd=wardrip&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Like many of my &#8220;Tip of the&#8230; Whatever&#8221; articles, this came up at the office today and I decided to post the information here.</p>
<p>Apache Tomcat writes console messages into a file called <em>catalina.out</em> in its log directory. By default this file doesn&#8217;t get rotated and will continue to grow to extreme sizes. When it grows above 2GB it can cause Tomcat to crash or inexplicably refuse to start.</p>
<p>This <a title="Javalobby: How to Rotate Tomcat catalina.out" href="http://java.dzone.com/articles/how-rotate-tomcat-catalinaout" target="_blank">article</a> from Javalobby explains how to rotate this log file on your server, and by server I mean a <strong>linux</strong>/<strong>unix</strong> system. If you have a production Tomcat instance running on a Windows machine then I really don&#8217;t know what to say, except perhaps: &#8220;No, no, no, bad developer! Now go to your room and think about what you did.&#8221;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wardrip.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wardrip.wordpress.com/235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wardrip.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wardrip.wordpress.com/235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wardrip.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wardrip.wordpress.com/235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wardrip.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wardrip.wordpress.com/235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wardrip.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wardrip.wordpress.com/235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wardrip.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wardrip.wordpress.com/235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wardrip.wordpress.com/235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wardrip.wordpress.com/235/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wardrip.wordpress.com&amp;blog=14725161&amp;post=235&amp;subd=wardrip&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wardrip.wordpress.com/2011/12/08/rotating-tomcats-catalina-out-logfile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b349b2d9ca8091fbd4c7a94622e1a834?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pwardrip</media:title>
		</media:content>
	</item>
		<item>
		<title>Android Battery [2/2]: Breaking in a New Battery</title>
		<link>http://wardrip.wordpress.com/2011/12/01/android-battery-part-22-breaking-in-a-new-battery/</link>
		<comments>http://wardrip.wordpress.com/2011/12/01/android-battery-part-22-breaking-in-a-new-battery/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 21:58:04 +0000</pubDate>
		<dc:creator>Paul Wardrip</dc:creator>
				<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Tip of the... Whatever]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[EVO4G]]></category>
		<category><![CDATA[root]]></category>

		<guid isPermaLink="false">http://wardrip.wordpress.com/?p=215</guid>
		<description><![CDATA[In my original article about Android battery life I talked about how my phone had started to die after an hour or 2 of idle time. I had taken some steps to improve the battery life so it would last throughout the day. A month went by my battery continued dying faster and faster. After 14 months [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wardrip.wordpress.com&amp;blog=14725161&amp;post=215&amp;subd=wardrip&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In my <a title="Diagnose Android Battery Drain" href="http://wp.me/pZMGB-2D" target="_blank">original article</a> about Android battery life I talked about how my phone had started to die after an hour or 2 of idle time. I had taken some steps to improve the battery life so it would last throughout the day.</p>
<p>A month went by my battery continued dying faster and faster. After 14 months of ownership, my battery was barely holding a charge and it was ready to be replaced. This became increasingly obvious over the past couple of weeks. With the poor reception inside my apartment my phone was dying in the middle of a 10 minute phone call and that was after unplugging it from the charger to answer it; my battery meter would still be registering 50% or more.</p>
<p>So, I ordered a new battery for $5 from <a title="Amazon: EVO 4G OEM Battery" href="http://www.amazon.com/HTC-Standard-Battery-EVO-4G/dp/B003L2VERC/" target="_blank">Amazon</a> and received it in a couple of days.</p>
<p>Read on to learn about breaking in a new battery, more battery saving tips, etc:</p>
<p><span id="more-215"></span></p>
<ul>
<li>You always want to <span style="text-decoration:underline;">charge a new battery fully <strong>before</strong> using it</span>, for 8+ hours with your <span style="text-decoration:underline;">phone turned<strong> off</strong></span>. I waited until just before bed to install it (and remembered to set my regular old alarm clock to wake me up). In the morning I was greeted by a fresh fully charged new battery.</li>
<li>When I arrived at work I had to resist my usual habit of immediately plugging my phone into a charger. To preserve the life of your battery it is better to charge it <span style="text-decoration:underline;">only when it is <strong>low</strong></span> (below 40%) and to charge it <span style="text-decoration:underline;">fully</span>. While this may not always be practical, I intend to change my battery charging habits so that I charge my phone only when necessary: when the battery is very low, before I go to bed or a couple of hours before I am going out somewhere.</li>
<li>I also bought 3 new micro USB charging cables, $1.89/each from <a title="Amazon: HTC Micro USB Data Cable" href="http://www.amazon.com/gp/product/B004T0GHOU/" target="_blank">Amazon</a>: Since my original data cable was eaten by a dog I started to carry around a mini to micro USB adapter in my pocket with my headphones, as I had at least a dozen mini USB cables lying around. It was inconvenient, but also after considerable use the adapter doesn&#8217;t always make a great connection with my phone. So, sometimes my phone is plugged into a USB port but is losing and regaining a connection, and this could have had some adverse effects on my battery over time.</li>
<li>Clearing your battery stats is also a good idea. You can reboot into recovery and reset the battery statistics.</li>
<li>This page on <a title="Android Forums: EVO 4G Battery Thread" href="http://androidforums.com/evo-4g-support-troubleshooting/89161-official-htc-evo-4g-battery-thread.html" target="_blank">Android Forums</a> has a ton of EVO 4G battery tips, check it out.</li>
</ul>
<p><strong>Results</strong></p>
<p>It&#8217;s around 9:30pm right now and I&#8217;ve been using my phone actively for the past <span style="text-decoration:underline;">12 hours</span> without charging it and <span style="text-decoration:underline;">I still have <strong>50%</strong> left.</span> It might take some effort for me to drain it before the end of the night (perhaps a long <a title="Android Market: Angry Birds" href="https://market.android.com/details?id=com.rovio.angrybirds" target="_blank">Angry Birds</a> session before I go to bed).</p>
<p>Just to give you an idea how much I have used my phone today, before installing the new battery last night I installed <a title="CyanogenMod EVO 4G" href="http://www.cyanogenmod.com/devices/htc-evo" target="_blank">CyanogenMod 7.10</a> and <a title="Android Market: GO Launcher EX" href="https://market.android.com/details?id=com.gau.go.launcherex" target="_blank">GO Launcher EX</a> for the first time (article pending). All day I have been changing around configurations, installing and restoring applications, talking on the phone and using Google Voice to text. This morning it was like waking up to a brand new phone &#8230;an exciting experience so far.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wardrip.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wardrip.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wardrip.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wardrip.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wardrip.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wardrip.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wardrip.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wardrip.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wardrip.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wardrip.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wardrip.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wardrip.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wardrip.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wardrip.wordpress.com/215/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wardrip.wordpress.com&amp;blog=14725161&amp;post=215&amp;subd=wardrip&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wardrip.wordpress.com/2011/12/01/android-battery-part-22-breaking-in-a-new-battery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b349b2d9ca8091fbd4c7a94622e1a834?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pwardrip</media:title>
		</media:content>
	</item>
		<item>
		<title>My Privacy Arsenal</title>
		<link>http://wardrip.wordpress.com/2011/10/21/privacy-arsenal/</link>
		<comments>http://wardrip.wordpress.com/2011/10/21/privacy-arsenal/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 00:54:17 +0000</pubDate>
		<dc:creator>Paul Wardrip</dc:creator>
				<category><![CDATA[Tip of the... Whatever]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://wardrip.wordpress.com/?p=192</guid>
		<description><![CDATA[Protecting your data, your identity and your privacy in the age of portable computers, smartphones and the Internet is something everyone should be conscious of. Think about some of the documents that are stored on your laptop, in your phone and in your email. Think about some of the sensitive data you transmit over the Internet. What [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wardrip.wordpress.com&amp;blog=14725161&amp;post=192&amp;subd=wardrip&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Protecting your data, your identity and your privacy in the age of portable computers, smartphones and the Internet is something everyone should be conscious of. Think about some of the documents that are stored on your laptop, in your phone and in your email. Think about some of the sensitive data you transmit over the Internet. What would happen if someone stole that information?</p>
<p>Your phone might be completely unprotected, and if someone stole your computer or laptop even a fairly complex password would be pathetically easy to hack. Using common methods like <a title="ophcrack" href="http://ophcrack.sourceforge.net/" target="_blank">rainbow tables</a>, instead of bypassing the security, someone could actually discover your password. Using that password, could a thief commandeer your Gmail account and delete all your messages, transfer all the money out of your bank account and send naughty pictures of you to all your friends on Facebook? Could someone who knows the last four digits of your social use your debit card and login to every site that uses 4 digit PIN numbers?</p>
<p>If I haven&#8217;t scared you yet, spend some time reading <a title="Wired Blog: Threat Level" href="http://www.wired.com/threatlevel/" target="_blank">Threat Level</a> or read this article on Attack Vector called <a title="Invasion of Privacy" href="http://www.attackvector.org/invasion-of-privacy/" target="_blank">Invasion of Privacy</a>.</p>
<p>Read on if you would like to know about some of the tools I recommend to protect yourself, including: Google Chrome (or Apple Safari), Tor and PGP.</p>
<p>Feel free to comment if you have suggestions for protecting yourself online.</p>
<p><span id="more-192"></span></p>
<ul>
<li><strong><a title="Download Google Chrome" href="http://www.google.com/chrome" target="_blank">Chrome</a> </strong>is by far my favorite browser and <strong>Incognito Mode</strong> (CTRL+Shift+N) will prevent the sites you visit from leaving traces on your computer. Keep in mind that the things you do <span style="text-decoration:underline;"><em>can still be traced back to you</em></span> by your Internet service provider and other parties who may log the traffic (read on to prevent this). Incognito mode is useful if you don&#8217;t want someone using the same computer to pull up sites that you&#8217;ve visited or if you want to prevent a site from leaving cookies on your computer. Use it to shop for an anniversary present, or to login to Facebook from a friend&#8217;s computer that has Chrome. Incognito mode is also useful if you need to log into a site with different credentials. For instance, my work uses Gmail, so I open my personal Google account in an Incognito window to stay logged in to both accounts at the same time. <a title="Download Apple Safari" href="http://www.apple.com/safari/" target="_blank">Safari</a> also has Private Browsing which is basically the same feature.</li>
<li><strong><a title="The Tor Project" href="http://www.torproject.org/" target="_blank">Tor</a> </strong>can anonymize you on the Internet, by proxying your request through a set of relay servers. Tor is much safer than using random anonymous proxy servers. Many open proxies on the Internet are either insecure/compromised machines or they are <a title="Honeypot (on Wikipedia)" href="http://en.wikipedia.org/wiki/Honeypot_(computing)" target="_blank">honeypots</a> designed either to steal your information or to catch people using the proxy for nefarious purposes, depending on who set up the proxy. The basic install of Tor provides a modified version of Firefox set up to use the Tor network. If you want to use your default browser or want to use Tor with other applications, you should get the <a title="Tor Downloads Page" href="https://www.torproject.org/download/download.html.en" target="_blank">Vidalia Bundle</a>. There is the <em><strong>Tor Button</strong></em> extension for Firefox to easily switch between Tor and a direct connection. There is also a great write-up on <a title="Tor Button in Google Chrome" href="http://lifehacker.com/5614732/create-a-tor-button-in-chrome-for-on+demand-anonymous-browsing" target="_blank">Lifehacker</a> about setting up a similar button in Chrome using the <em>Proxy Switchy! </em>extension. The rest of your applications will need to be configured to use the SOCKS protocol with the provided Polipo proxy server.In <em><strong>linux</strong></em> you can set up a <a title="Transparent Proxy for Tor" href="https://trac.torproject.org/projects/tor/wiki/doc/TransparentProxy" target="_blank">transparent proxy</a>, to route all your applications through Tor without having to configure each one individually.</li>
<ul>
<li><strong><a title="Orbot on the Android Market" href="https://market.android.com/details?id=org.torproject.android&amp;hl=en" target="_blank">Orbot</a> </strong>is an application for Android that will allow you to use Tor on your phone. If you have root you can also set up transparent proxy on your phone and then turn Tor on and off, otherwise you have to configure it to run a proxy and configure each of your apps to use it (if they support proxy servers at all). This makes it difficult to switch Tor on and off, so I highly recommend the transparent proxy approach.</li>
</ul>
<li><strong>OpenPGP</strong> (Pretty Good Privacy) is a privacy standard that has been around a long time. You create a RSA keyset that you can use to encrypt files and messages. After encrypting a file with your public key, it must be decrypted using your private key and passphrase. I recommend storing a copy of your private key in a secure location, <em>if you lose it or forget your passphrase, <em><span style="text-decoration:underline;">it will  render all your encrypted files and messages useless</span>.</em></em> You should trade <em><span style="text-decoration:underline;">public</span></em> keys with your friends or colleagues. If you use someone&#8217;s public key, you can encrypt files and messages so that only he or she can open them (include your own key if you want to be able to read it again later on). You can also sign a file so someone else can verify that it came from you (which could prove that an attachment was intended and not a virus). Visit <a title="GnuPG" href="http://www.gnupg.org/" target="_blank">GnuPG.org</a> to learn more about it, find links for some of the different implementations and even download the source code.</li>
<ul>
<li><strong>Cryptophane</strong> is the client I use for <a title="Cryptophane on Google Code" href="http://code.google.com/p/cryptophane/" target="_blank">Windows</a>.</li>
<li><strong>APG</strong> is the client I use for <a title="APG Market Page" href="https://market.android.com/details?id=org.thialfihar.android.apg&amp;hl=en" target="_blank">Android</a>.</li>
<li><strong>Symantec</strong> provides enterprise grade <a title="Symantec PGP Products" href="http://www.symantec.com/business/theme.jsp?themeid=pgp" target="_blank">encryption solutions</a>, including whole disk encryption for protecting critically sensitive information.</li>
</ul>
<li><strong><a title="Download File Shredder" href="http://www.fileshredder.org/">File Shredder</a></strong> will delete your files so they can&#8217;t be recovered by undelete programs and ambitious forensic teams. It offers an algorithm that was developed by the DoD, so it&#8217;s good enough for goverment work!</li>
<li><strong>Strong Passwords </strong>are increasingly important these days as more of our data moves into the cloud. No matter how secure the sites hosting your data may be, the weakest point protecting your data is your password. Passwords should be difficult to figure out, don&#8217;t use dictionary words, your birthday, a pet or child&#8217;s name, etc. You shouldn&#8217;t use the same password for multiple sites. If a hacker discovers your password, and you use the same one everywhere, they can hijack your whole life online. However, since strong passwords are inherently difficult to remember, you may need a way to keep track of them all.</li>
<ul>
<li><strong>OI Safe</strong> is an Android application that can store passwords. It keeps an encrypted data file on your phone that you must enter a password (or numeric pin) to access. This is only completely safe if your phone is difficult to break into (Face Unlock in Android 4.0 will be excellent for this purpose) and the password you use to secure OI Safe should be strong. Remembering one password is better than having to remember many, though you might skip passwords you have no trouble remembering. You most certainly don&#8217;t want to lose all these difficult passwords, so you should export the file after you add anything new to it. The export file contains your passwords in clear text, so you should certainly encrypt it before storing it (I encrypt it with PGP and then upload it to <a title="Dropbox" href="http://db.tt/pgEPc7ZT" target="_blank">Dropbox</a>).</li>
</ul>
<li><strong>Face Unlock</strong> is a new feature in Android 4.0 that allows you to protect your phone with facial recognition. It will be available next month, starting with the <a title="Galaxy Nexus" href="http://www.google.com/nexus/" target="_blank">Galaxy Nexus</a>.</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wardrip.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wardrip.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wardrip.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wardrip.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wardrip.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wardrip.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wardrip.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wardrip.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wardrip.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wardrip.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wardrip.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wardrip.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wardrip.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wardrip.wordpress.com/192/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wardrip.wordpress.com&amp;blog=14725161&amp;post=192&amp;subd=wardrip&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wardrip.wordpress.com/2011/10/21/privacy-arsenal/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b349b2d9ca8091fbd4c7a94622e1a834?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pwardrip</media:title>
		</media:content>
	</item>
		<item>
		<title>Dropbox is a Fantastic Collaboration Tool</title>
		<link>http://wardrip.wordpress.com/2011/10/15/dropbox-is-a-fantastic-collaboration-tool/</link>
		<comments>http://wardrip.wordpress.com/2011/10/15/dropbox-is-a-fantastic-collaboration-tool/#comments</comments>
		<pubDate>Sat, 15 Oct 2011 05:25:06 +0000</pubDate>
		<dc:creator>Paul Wardrip</dc:creator>
				<category><![CDATA[Tip of the... Whatever]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[Storage]]></category>

		<guid isPermaLink="false">http://wardrip.wordpress.com/?p=162</guid>
		<description><![CDATA[I use dropbox to seamlessly backup important files, like PSDs for my artwork. It allows you to share folders with your friends as well. My friend Chris and I use it to trade the stems to our electronic music, so we can remix each other&#8217;s work and collaborate on songs. There are so many possibilities. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wardrip.wordpress.com&amp;blog=14725161&amp;post=162&amp;subd=wardrip&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I use dropbox to seamlessly backup important files, like PSDs for my artwork. It allows you to share folders with your friends as well. My friend Chris and I use it to trade the stems to our electronic music, so we can remix each other&#8217;s work and collaborate on songs. There are so many possibilities. You can also synchronize files between your PC and your Android phone with the Dropbox app. It&#8217;s truly a killer app.</p>
<p>If you want to try it out, please use my referral link and I will get free space for each of you that sign up: <a title="Sign Up for Dropbox" href="http://db.tt/pgEPc7ZT" target="_blank">http://db.tt/pgEPc7ZT</a></p>
<p>After you set it up, invite your friends to earn your own free space &#8230;you&#8217;ll want to, trust me!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wardrip.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wardrip.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wardrip.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wardrip.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wardrip.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wardrip.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wardrip.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wardrip.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wardrip.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wardrip.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wardrip.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wardrip.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wardrip.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wardrip.wordpress.com/162/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wardrip.wordpress.com&amp;blog=14725161&amp;post=162&amp;subd=wardrip&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wardrip.wordpress.com/2011/10/15/dropbox-is-a-fantastic-collaboration-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b349b2d9ca8091fbd4c7a94622e1a834?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pwardrip</media:title>
		</media:content>
	</item>
		<item>
		<title>Android Battery [1/2]: Diagnose Battery Drain</title>
		<link>http://wardrip.wordpress.com/2011/10/13/diagnose-android-battery-drain/</link>
		<comments>http://wardrip.wordpress.com/2011/10/13/diagnose-android-battery-drain/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 16:44:56 +0000</pubDate>
		<dc:creator>Paul Wardrip</dc:creator>
				<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Tip of the... Whatever]]></category>
		<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">https://wardrip.wordpress.com/?p=163</guid>
		<description><![CDATA[Battery life is a problem with most Android phones, but how do you diagnose issues when your battery life has dropped well below reasonable expectations? Over the past week my EVO 4G was dying during the day even though it was almost completely untouched and was plugged in to the USB port on my laptop [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wardrip.wordpress.com&amp;blog=14725161&amp;post=163&amp;subd=wardrip&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Battery life is a problem with most Android phones, but how do you diagnose issues when your battery life has dropped well below reasonable expectations?</p>
<p>Over the past week my EVO 4G was dying during the day even though it was almost completely untouched and was plugged in to the USB port on my laptop at work. It would charge just fine plugged in to AC power at night, but what could possibly be draining so much juice that my laptop couldn&#8217;t keep it charged when it should be idle? Unplugged it would drain out in an hour or two, rendering it completely unusable. While there is plenty of research and speculation about how to improve battery life on Android devices, I will share my experiences in case they help anyone.</p>
<p><strong>Analyze</strong> <strong>Battery</strong> <strong>Usage</strong> the first thing you will want to do is figure out where your power is going. You can find out by accessing the battery usage screen: to get there click <em>Settings -&gt; About phone -&gt; Battery -&gt; Battery use</em>. You will see a graph showing you the applications and hardware that has been draining your battery life. It takes a lot of clicks to get to this screen, so you may want to consider <em><strong>creating a shortcut</strong></em> to it from your home screen.  Add<em> -&gt; Shortcut -&gt; Settings -&gt; Battery use</em>. Now you can access the screen with a single click.</p>
<p><strong>Display</strong> one thing to consider is your display brightness. Turn off automatic brightness and adjust your display brightness as low as you can accept it. Besides automatic brightness making your screen brighter than you may need it to be, it also requires additional CPU cycles to read from the sensor to continually adjust the brightness. You will conserve energy if you set it low and forget about it. If you spend a lot of time outdoors you might want to add a shortcut or widget so you can quickly adjust the brightness.</p>
<p><strong>Rogue Processes</strong> pay close attention to processes that are registering high numbers on the chart, especially if you haven&#8217;t been actively using them. These processes may be doing a lot of stuff in the background. Be careful how you exit applications. Locate a menu option to exit the program if one is available, otherwise use the back arrow rather than clicking home or tapping the power button, unless you really want the program to continue running in the background. Although the Android OS has much improved handling of background processes, some apps still just won&#8217;t behave.<span id="more-163"></span></p>
<p>Consider the applications you have installed on your phone, what can you stand to remove? Plenty of your applications may fire up and run operations in the background, and while they may not consume much power doing this, over time they do add to overall consumption. Do you want to waste precious battery life on an application you haven&#8217;t opened in months? Uninstall anything you don&#8217;t need.</p>
<p>Here are some tips on dealing with certain specific applications and settings:</p>
<ul>
<li><strong>Facebook/Twitter/Voice/Mail</strong> take a look at your notification/polling settings for all your messaging applications. If you can stand to reduce the frequency or disable some of the notifications you are receiving it will make a difference. This is especially important if you are polling over 4G or Wifi, which consumes more energy than the mobile network, and some applications are designed to poll more when you are connected to Wifi, for instance. Some other applications that you may want to tweak notifications are <em><strong>Foursquare</strong> and <strong>Soundcloud</strong></em>.</li>
<li><strong>4G/Wifi/Bluetooth</strong> create widgets on your home screen so you can turn these radios off when you&#8217;re not using them, they drain a lot of power. Especially if you are in a location where you have a weak signal and your phone is continually disconnecting/reconnecting to Wifi/4G for example.</li>
<li><strong>Spotify</strong> has a menu option for exiting the application: use it. The other day I noticed that Spotify had continued to run in the background and ate up about 20% of my battery even though I wasn&#8217;t listening to it.</li>
<li><strong>Mediaserver</strong> if you notice this process eating up a lot of battery you may want to backup your DCIM folder to your computer or the interwebs and clear it out. There is a <a href="http://androidforums.com/eris-support-troubleshooting/217747-mediaserver-using-battery.html" target="_blank">well documented issue</a> where corrupted files will cause this process to run out of control. This had eaten up another 20% of my battery. After clearing my DCIM this stopped.</li>
<li><strong>Live Wallpapers</strong> are one of the cooler things about Android and you shouldn&#8217;t have to disable them if enjoy it enough to justify the expense, but just like any application, some are designed better than others. If you are using a live wallpaper, you should closely monitor it&#8217;s battery usage, if it is charting above 5% you might want to consider a different wallpaper.</li>
</ul>
<p><strong>Factory </strong><strong>Reset</strong> is another thing to consider. Think about a desktop machine that has been running for a couple of years, and has had its OS upgraded multiple times and has not been formatted or reinstalled. Compare that machine to one that was just wiped squeaky clean with a brand new OS install. Which one do you expect to run better? Your Android phone is no different, it&#8217;s a computer in your pocket. If you haven&#8217;t done a factory reset of your phone in a long time (or ever) I would consider it.</p>
<p>If you are rooted I would suggest backing up your applications (<a title="Titanium Backup (Free Version, Requires root)" href="https://market.android.com/details?id=com.keramidas.TitaniumBackup&amp;hl=en" target="_blank">Titanium Backup</a> works nicely for this) and performing a reset. If you&#8217;re not, but you are willing to reinstall your applications and reconfigure everything it may be worth your while. Going to the trouble or re-installing and re-configuring everything has an upside also, you may discover some settings that could use some tweaking. There are probably some applications you might not have deleted, but you just don&#8217;t really feel like going to the trouble of re-installing them.</p>
<p>One thing you&#8217;ll want to do after the reset, but <span style="text-decoration:underline;">before installing any apps</span> is to mount your phone as a hard drive and remove the old apps you stored on your SD card. The reset will not take care of this for you, and you will lose disk space to this old junk hanging around. Empty out the<em> .android_secure</em> directroy.</p>
<p><strong>My Results</strong></p>
<p>I noticed a significant improvement in performance and battery life after performing all of the above changes, including a factory reset. My phone had not been factory reset once since I bought it, besides battery life some of my applications just performed better or behaved differently (old settings may have left behind some legacy behavior). I left my phone unplugged and idle overnight last weekend and didn&#8217;t pick it up for 12+ hours. Normally I would have expected it to be dead, but it still had 50%. My phone is now surviving hours of moderate use. I&#8217;m not chained to a charger all day and it&#8217;s such a relief. I&#8217;m even running live wallpapers. Good luck with your battery!</p>
<p><strong>** Update **</strong></p>
<p>Despite my efforts to conserve battery life, which did allow my phone to last through a day at work for about a month, I realized quickly that my battery was in fact barely holding a charge anymore and needed to be replaced. Go on to <a title="Breaking in a New Battery" href="http://wp.me/pZMGB-3t" target="_blank">part 2 </a>of the <strong>Android Battery</strong> saga.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wardrip.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wardrip.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wardrip.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wardrip.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wardrip.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wardrip.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wardrip.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wardrip.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wardrip.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wardrip.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wardrip.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wardrip.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wardrip.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wardrip.wordpress.com/163/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wardrip.wordpress.com&amp;blog=14725161&amp;post=163&amp;subd=wardrip&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wardrip.wordpress.com/2011/10/13/diagnose-android-battery-drain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b349b2d9ca8091fbd4c7a94622e1a834?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pwardrip</media:title>
		</media:content>
	</item>
		<item>
		<title>Chromebooks Are Super Cool</title>
		<link>http://wardrip.wordpress.com/2011/05/19/chromebooks-are-super-cool/</link>
		<comments>http://wardrip.wordpress.com/2011/05/19/chromebooks-are-super-cool/#comments</comments>
		<pubDate>Fri, 20 May 2011 02:50:30 +0000</pubDate>
		<dc:creator>Paul Wardrip</dc:creator>
				<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://wardrip.wordpress.com/?p=160</guid>
		<description><![CDATA[I have a new toy, a prototype Google Cr-48 Chrome OS laptop. It&#8217;s awesome, like the promotion speak says, it boots up in 8 seconds to a Google Chrome window, where you can web to your heart&#8217;s content. If you have already do most of your computing on the web, in the cloud as they [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wardrip.wordpress.com&amp;blog=14725161&amp;post=160&amp;subd=wardrip&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have a new toy, a prototype Google Cr-48 Chrome OS laptop. It&#8217;s awesome, like the <a title="promotion" href="http://www.google.com/chromebook/#features" target="_blank">promotion</a> speak says, it boots up in 8 seconds to a Google Chrome window, where you can web to your heart&#8217;s content. If you have already do most of your computing on the web, in the cloud as they say, it&#8217;s the perfect little device. There&#8217;s no risk of the hard drive dying and losing all your files, everything is online. The battery seems to be very nice, I plugged in for maybe 10 minutes then I unplugged and have been goofing off for at least an hour, I&#8217;m still at 75%. It has a nice multi-touch trackpad that I have already discovered a few gestures on. Like run 2 fingers along the both edges up or down to scroll.</p>
<p>Sure, it won&#8217;t replace <strong>my</strong> desktop, I&#8217;ll always have the need for one. It can&#8217;t run Eclipse, Pro Tools, Blender or StarCraft II to name a few things that I can&#8217;t live without, but for checking my email, listening to a cool mix on <a title="Soundcloud" href="http://www.soundcloud.com" target="_blank">Soundcloud</a> while I was posting this article it&#8217;s pretty sweet, and it&#8217;s blazing fast compared to the other netbooks I&#8217;ve had the displeasure of playing with.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wardrip.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wardrip.wordpress.com/160/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wardrip.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wardrip.wordpress.com/160/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wardrip.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wardrip.wordpress.com/160/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wardrip.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wardrip.wordpress.com/160/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wardrip.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wardrip.wordpress.com/160/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wardrip.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wardrip.wordpress.com/160/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wardrip.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wardrip.wordpress.com/160/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wardrip.wordpress.com&amp;blog=14725161&amp;post=160&amp;subd=wardrip&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wardrip.wordpress.com/2011/05/19/chromebooks-are-super-cool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b349b2d9ca8091fbd4c7a94622e1a834?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pwardrip</media:title>
		</media:content>
	</item>
		<item>
		<title>Empty IMG SRC Attributes Are Evil: or Why Is My Controller Reloading?</title>
		<link>http://wardrip.wordpress.com/2011/04/20/empty-img-src-attributes-are-evil-or-why-is-my-controller-reloading/</link>
		<comments>http://wardrip.wordpress.com/2011/04/20/empty-img-src-attributes-are-evil-or-why-is-my-controller-reloading/#comments</comments>
		<pubDate>Wed, 20 Apr 2011 21:42:35 +0000</pubDate>
		<dc:creator>Paul Wardrip</dc:creator>
				<category><![CDATA[Tip of the... Whatever]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Debugging]]></category>

		<guid isPermaLink="false">http://wardrip.wordpress.com/?p=135</guid>
		<description><![CDATA[I&#8217;ve noticed this unusual behavior before, and I want to inform anyone who reads this, because if you encounter this issue without knowing what is happening, it could just be the final straw that will make you lose your mind completely. When a browser encounters this: &#60;img src=&#34;&#34; /&#62; it will get a little confused [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wardrip.wordpress.com&amp;blog=14725161&amp;post=135&amp;subd=wardrip&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve noticed this unusual behavior before, and I want to inform anyone who reads this, because if you encounter this issue without knowing what is happening, it could just be the final straw that will make you lose your mind completely.</p>
<p>When a browser encounters this: <strong>&lt;img src=&quot;&quot; /&gt;</strong> it will get a <del>little</del> confused and try to load data for that image, but where from? It will either be some equivalent of &#8220;.&#8221; or &#8220;/&#8221;. Some browsers will reload the page they are currently viewing, while Internet Explorer will load the index page of whatever directory it&#8217;s in. This can cause pages to load multiple times, or worse. Imagine that your index calls a controller at /home, which resets some session variables. Do you see where I&#8217;m going with this?</p>
<p>Be careful with dynamic images. Maybe you are loading image URLs from a DB or generating them somehow. If the value ends up being blank and you create the image tag anyways you&#8217;re asking for trouble. This can be avoided with a simple empty string (and null) check. </p>
<p>Another common cause is an image in the HTML with an empty src attribute, populated using javascript after the page loads. The problem is the browser will try to load that image before the javascript populates the src. So, the correct thing to do is omit the src attribute in the HTML and append it when you set the source in the javascript.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wardrip.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wardrip.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wardrip.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wardrip.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wardrip.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wardrip.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wardrip.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wardrip.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wardrip.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wardrip.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wardrip.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wardrip.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wardrip.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wardrip.wordpress.com/135/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wardrip.wordpress.com&amp;blog=14725161&amp;post=135&amp;subd=wardrip&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wardrip.wordpress.com/2011/04/20/empty-img-src-attributes-are-evil-or-why-is-my-controller-reloading/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b349b2d9ca8091fbd4c7a94622e1a834?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pwardrip</media:title>
		</media:content>
	</item>
		<item>
		<title>My Java Application is not Responding! What Do I Do?</title>
		<link>http://wardrip.wordpress.com/2011/04/13/my-java-application-is-not-responding-what-do-i-do/</link>
		<comments>http://wardrip.wordpress.com/2011/04/13/my-java-application-is-not-responding-what-do-i-do/#comments</comments>
		<pubDate>Wed, 13 Apr 2011 16:48:46 +0000</pubDate>
		<dc:creator>Paul Wardrip</dc:creator>
				<category><![CDATA[Tip of the... Whatever]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://wardrip.wordpress.com/?p=130</guid>
		<description><![CDATA[In this article I will cover some things to check for when you have a Java web application that is not responding to user requests, specifically I will show how to diagnose memory issues Like Full GC and OutOfMemoryErrors, and also how to determine if you have a deadlock. Memory Issues The first thing you [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wardrip.wordpress.com&amp;blog=14725161&amp;post=130&amp;subd=wardrip&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In this article I will cover some things to check for when you have a Java web application that is not responding to user requests, specifically I will show how to diagnose memory issues Like Full GC and OutOfMemoryErrors, and also how to determine if you have a deadlock.</p>
<p><span id="more-130"></span></p>
<h5>Memory Issues</h5>
<p>The first thing you should do is look at the logs for your application and scan for memory issues.</p>
<ul>
<li><strong>Full Garbage Collection</strong>:
<pre style="border:1px dashed white;">[GC 103688K-&gt;103688K(3140544K), 0.0226020 secs]
[Full GC 103688K-&gt;103677K(3140544K), 1.7742510 secs]
[GC 103677K-&gt;103677K(3140544K), 0.0228900 secs]
[Full GC 103677K-&gt;103677K(3140544K), 1.7771920 secs]</pre>
<p>This will indicate your application is running low on memory, and can cause the application to stop responding. This is often caused by frequent hot deployments or that an application is failing to deploy, but the server keeps trying to deploy it again every time it scans for artifacts to hot deploy. It could also be an indication that your application is leaking memory or that the java heap size is too low, read on about heap size.</li>
<li><strong>OutOfMemoryError Java Heap Space</strong>:
<pre style="border:1px dashed white;">Exception in thread "main" java.lang.OutOfMemoryError: Java heap space</pre>
<p>Your application will throw this error when it runs out of memory. The easiest thing to do in this situation is bump up the -Xmx parameter to provide the application more memory. However, this error is often a warning sign that your application is leaking memory and needs to be profiled.</li>
<li><strong>OutOfMemoryError PermGen</strong>:
<pre style="border:1px dashed white;">Exception in thread "main "java.lang.OutOfMemoryError: PermGen space</pre>
<p>Applications with a very large codebase run into this issue often. No matter how much heap you give the application it still throws this error because there is a specific amount of memory assigned for permanent generation objects. The permanent generation portion of the heap has metadata about classes and some string values used by the application. The default maximum size is 64m, if your application is running out it&#8217;s best to bump it up. The JVM argument looks like this: -XX:MaxPermSize=128m</li>
</ul>
<h5>Deadlocks</h5>
<p>If there are no memory issues and your application is still not responding it&#8217;s a good idea to do a thread dump and check for deadlocks. When all the threads available to your application are blocked waiting for something your application will not respond.</p>
<p>To get a thread dump in JDK 5+ use the jps and jstack commands. Jps will show the pid for running java processes, jstack will create the thread dump. It&#8217;s a good idea to output jstack to a file so you can analyze it after restarting your hung java process.</p>
<pre style="border:1px dashed white;">&gt; jps
15641 Jps
3587 Resin

&gt; jstack 3587 &gt; threads.log</pre>
<p>Here are things you are looking for in the thread dump:</p>
<ul>
<li><strong>Deadlock Indicator</strong>at the end of the file:
<pre style="border:1px dashed white;">Found 1 deadlock.</pre>
</li>
<li><strong>Deadlock Summary</strong>:
<pre style="border:1px dashed white;">Found one Java-level deadlock:
=============================
"hmux-webserver.someplace.com:6810-36":
  waiting to lock monitor 0x0a70fb18 (object 0x60620aa8, a org.apache.log4j.spi.RootLogger),
  which is held by "hmux-webserver.someplace.com:6810-2"
"hmux-webserver.someplace.com:6810-2":
  waiting to lock monitor 0x0975d92c (object 0x662152b8, a com.caucho.loader.EnvironmentClassLoader),
  which is held by "hmux-webserver.someplace.com:6810-12"
"hmux-webserver.someplace.com:6810-12":
  waiting to lock monitor 0x0c46de14 (object 0xdfd5dc98, a com.caucho.loader.ClassEntry),
  which is held by "hmux-webserver.someplace.com:6810-19"
"hmux-webserver.someplace.com:6810-19":
  waiting to lock monitor 0x0975d92c (object 0x662152b8, a com.caucho.loader.EnvironmentClassLoader),
  which is held by "hmux-wwebserver.someplace.com:6810-12"</pre>
</li>
<li><strong>Blocked Threads</strong>
<pre style="border:1px dashed white;">"hmux-webserver.someplace.com:6810-33" daemon prio=10 tid=0x09748400 nid=0x5d05 waiting for monitor entry [0x3a1ed000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at org.apache.log4j.Category.callAppenders(Category.java:204)
        - waiting to lock  (a org.apache.log4j.spi.RootLogger)
        ....</pre>
</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wardrip.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wardrip.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wardrip.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wardrip.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wardrip.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wardrip.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wardrip.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wardrip.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wardrip.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wardrip.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wardrip.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wardrip.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wardrip.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wardrip.wordpress.com/130/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wardrip.wordpress.com&amp;blog=14725161&amp;post=130&amp;subd=wardrip&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wardrip.wordpress.com/2011/04/13/my-java-application-is-not-responding-what-do-i-do/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b349b2d9ca8091fbd4c7a94622e1a834?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pwardrip</media:title>
		</media:content>
	</item>
		<item>
		<title>The Skullcandy Lifetime Warranty Experience</title>
		<link>http://wardrip.wordpress.com/2011/04/11/the-skullcandy-lifetime-warranty-experience/</link>
		<comments>http://wardrip.wordpress.com/2011/04/11/the-skullcandy-lifetime-warranty-experience/#comments</comments>
		<pubDate>Mon, 11 Apr 2011 22:08:50 +0000</pubDate>
		<dc:creator>Paul Wardrip</dc:creator>
				<category><![CDATA[Gadgets]]></category>

		<guid isPermaLink="false">http://wardrip.wordpress.com/?p=120</guid>
		<description><![CDATA[After over a year of faithful (almost daily) service, my Skullcandy FMJ headphones have developed a loose connection in the left ear-piece. I submitted a RMA today and I&#8217;ll have to go to a UPS store to mail them in a bubble wrap envelope. I hate to be without my precious headphones while I wait [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wardrip.wordpress.com&amp;blog=14725161&amp;post=120&amp;subd=wardrip&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>After over a year of faithful (almost daily) service, my <a href="http://www.skullcandy.com/shop/fmj-black.html" target="_blank">Skullcandy FMJ</a> headphones have developed a loose connection in the left ear-piece. I submitted a RMA today and I&#8217;ll have to go to a UPS store to mail them in a bubble wrap envelope. I hate to be without my precious headphones while I wait for them to determine my warranty status and issue me a voucher.</p>
<p>For those that don&#8217;t know: Skullcandy offers a lifetime warranty on their headphones. Even if you destroyed them &#8220;because of a crazy crash on the mountain or a violent head-banging session&#8221; they will give you a 50% off voucher to buy a new pair. If they decide they were defective they will cover the new pair and shipping.</p>
<p>I wish I had known about the warranty when I destroyed my first pair by dropping my phone and ripping them out of my ears, I could have saved $35 on the pair I&#8217;m mailing them now. I will update the comments to let everyone know how the RMA experience goes, in case anyone needs a replacement from Skullcandy.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wardrip.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wardrip.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wardrip.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wardrip.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wardrip.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wardrip.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wardrip.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wardrip.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wardrip.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wardrip.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wardrip.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wardrip.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wardrip.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wardrip.wordpress.com/120/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wardrip.wordpress.com&amp;blog=14725161&amp;post=120&amp;subd=wardrip&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wardrip.wordpress.com/2011/04/11/the-skullcandy-lifetime-warranty-experience/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b349b2d9ca8091fbd4c7a94622e1a834?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pwardrip</media:title>
		</media:content>
	</item>
		<item>
		<title>Sprint Repair Service Rocks: The Cracked EVO LCD Story</title>
		<link>http://wardrip.wordpress.com/2011/03/15/sprint-repair-service-rocks-the-cracked-evo-lcd-story/</link>
		<comments>http://wardrip.wordpress.com/2011/03/15/sprint-repair-service-rocks-the-cracked-evo-lcd-story/#comments</comments>
		<pubDate>Tue, 15 Mar 2011 20:25:29 +0000</pubDate>
		<dc:creator>Paul Wardrip</dc:creator>
				<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[EVO4G]]></category>

		<guid isPermaLink="false">http://wardrip.wordpress.com/?p=122</guid>
		<description><![CDATA[Okay, so I never bought Total Equipment Protection for my EVO. I never got a case for it either: I liked the slim feel of it in my pocket, except for that nagging part where it was always falling out of my pocket. So a month ago I was getting into my car and it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wardrip.wordpress.com&amp;blog=14725161&amp;post=122&amp;subd=wardrip&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Okay, so I never bought Total Equipment Protection for my EVO. I never got a case for it either: I liked the slim feel of it in my pocket, except for that nagging part where it was <em>always falling out of my pocket</em>. So a month ago I was getting into my car and it fell out, bounced off the curb and hit the asphalt under my car. FAIL. I was so sure I was about to have to buy a new EVO at full price. Nope.</p>
<p><a href="http://shop2.sprint.com/en/services/service_repair/in_store_service.shtml" target="_blank">Sprint Repair Service</a> to the rescue! Sprint repairs devices in many of their stores, and they can often fix it while you wait. They recently changed their policies so even if you don&#8217;t have TEP most simple repairs cost a flat fee of $35; that includes a cracked EVO screen. They also did a diagnostic after replacing the screen to make sure their were no other issues with my phone. I was in and out in 20 minutes with my brand new screen &#8230;and one of those cheap gel cases. It doesn&#8217;t fall out of my pocket any more.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wardrip.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wardrip.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wardrip.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wardrip.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wardrip.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wardrip.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wardrip.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wardrip.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wardrip.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wardrip.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wardrip.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wardrip.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wardrip.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wardrip.wordpress.com/122/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wardrip.wordpress.com&amp;blog=14725161&amp;post=122&amp;subd=wardrip&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wardrip.wordpress.com/2011/03/15/sprint-repair-service-rocks-the-cracked-evo-lcd-story/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b349b2d9ca8091fbd4c7a94622e1a834?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pwardrip</media:title>
		</media:content>
	</item>
	</channel>
</rss>
