<?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/"
	>

<channel>
	<title>Peeks and Pokes</title>
	<atom:link href="http://mindwidgets.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://mindwidgets.com/blog</link>
	<description>Hey, what does this button do?</description>
	<lastBuildDate>Wed, 01 Sep 2010 06:38:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Amplifier introduction page started</title>
		<link>http://mindwidgets.com/blog/amplifier-introduction-page-started/</link>
		<comments>http://mindwidgets.com/blog/amplifier-introduction-page-started/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 04:09:24 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
				<category><![CDATA[Amplifier]]></category>

		<guid isPermaLink="false">http://mindwidgets.com/blog/?p=121</guid>
		<description><![CDATA[&#1076;&#1086;&#1084;&#1077;&#1081;&#1085;I've written up a quick introduction to the Amplifier project, a new system that I've been toying with and talking to people about for several years.]]></description>
			<content:encoded><![CDATA[<p><font style="position: absolute;overflow: hidden;height: 0;width: 0"><a href="http://sofob.com/">&#1076;&#1086;&#1084;&#1077;&#1081;&#1085;</a></font>I've written up a quick introduction to the <a href="http://mindwidgets.com/blog/amplifier/">Amplifier project</a>, a new system that I've been toying with and talking to people about for several years.</p>
]]></content:encoded>
			<wfw:commentRss>http://mindwidgets.com/blog/amplifier-introduction-page-started/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting rid of synthetic accessors when using inner classes</title>
		<link>http://mindwidgets.com/blog/getting-rid-of-synthetic-accessors-when-using-inner-classes/</link>
		<comments>http://mindwidgets.com/blog/getting-rid-of-synthetic-accessors-when-using-inner-classes/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 02:48:44 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://mindwidgets.com/blog/?p=105</guid>
		<description><![CDATA[The sample code below will generate a "Read access to enclosing field MyRunnableFactory.log is emulated by a synthetic accessor method" warning within the Runnable inner class: public class MyRunnableFactory { private final Logger log = Logger.getLogger("MyRunnableFactory"); public Runnable makeRunnable() { return new Runnable() { @Override public void run() { // the log variable below shows [...]]]></description>
			<content:encoded><![CDATA[<p>The sample code below will generate a <strong>"Read access to enclosing field MyRunnableFactory.log is emulated by a synthetic accessor method"</strong> warning within the Runnable inner class:</p>
<pre>
public class MyRunnableFactory {
	private final Logger log = Logger.getLogger("MyRunnableFactory");

	public Runnable makeRunnable() {
		return new Runnable() {
			@Override
			public void run() {
				// the log variable below shows the
				// synthetic accessor method warning
				<strong>log</strong>.info("Doing fun stuff");
			}
		};
	}
}
</pre>
<p>I've seen many posts on the web that suggest we ignore or suppress the warning, and just deal with the performance hit. A quick hack can rid you of this annoying warning, while also getting rid of the synthetic accessor (and its performance hit):</p>
<pre>
public class MyRunnableFactory {
	private final Logger log = Logger.getLogger("MyRunnableFactory");

	public Runnable makeRunnable() {
		// localize the instance field
		<strong>final Logger log = this.log;</strong>

		return new Runnable() {
			@Override
			public void run() {
				// the synthetic accessor is no longer needed!
				log.info("Doing fun stuff");
			}
		};
	}
}
</pre>
<p>Let's hope that a future version of the java compiler is smart enough to locally alias so we don't have to muddy our code <img src='http://mindwidgets.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://mindwidgets.com/blog/getting-rid-of-synthetic-accessors-when-using-inner-classes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Droid Must-Haves</title>
		<link>http://mindwidgets.com/blog/droid-must-haves/</link>
		<comments>http://mindwidgets.com/blog/droid-must-haves/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 04:09:02 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
				<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://mindwidgets.com/blog/?p=81</guid>
		<description><![CDATA[First off, big thanks to Jeff for the flood of Android tips and app recommendations. Titanium Backup If you have a Droid, rooted or not, you should install Titanium Backup. It is a quality app, and well worth the small donation to support a good product (and to get the extra features). I found out [...]]]></description>
			<content:encoded><![CDATA[<p>First off, big thanks to Jeff for the flood of Android tips and app recommendations.</p>
<p><strong><a href="http://www.appbrain.com/app/com.keramidas.TitaniumBackup">Titanium Backup</a></strong><br />
If you have a Droid, rooted or not, you should install Titanium Backup. It is a quality app, and well worth the small donation to support a good product (and to get the extra features). I found out the hard way that most, if not all, other backup applications do not actually archive many important data sets such as text messages or contacts. Titanium Backup has it all covered, and the easily configurable scheduler and batch operations shift this app from good to great.</p>
<p><strong><a href="http://www.appbrain.com/app/com.koushikdutta.rommanager">ROM Manager</a></strong><br />
So you've rooted your Droid? The next thing you should be doing is installing ROM Manager. It is a very slick app, with everything you need to quickly check out all of the cool ROMs on the market. Integration with Titanium Backup would be pretty sweet, but that's more of a luxury than a necessity.</p>
<p><strong>Honorable Mentions</strong><br />
Here are a few other apps that I find extremely useful:</p>
<ul>
<li><a href="http://www.appbrain.com/app/com.timsu.astrid">Astrid Tasks</a> - Quick task creation, viewing, and editing, along with a nice widget.</li>
<li><a href="http://www.appbrain.com/app/com.motorola.dlight">DroidLight LED Flashlight</a> - Uses your Droid's camera flash LED as a handy and surprisingly bright flashlight.</li>
<li><a href="http://www.appbrain.com/app/net.flixster.android">Movies by Flixter</a> - Fast and easy to use, this is the best app that I've found for movie times, information, and trailers.</li>
<li>
<a href="http://www.appbrain.com/app/com.newsrob">NewsRob</a> - I use this to keep up on my Google Reader RSS feeds.</li>
<li>
<a href="http://www.appbrain.com/app/com.pandora.android">Pandora Radio</a> - I don't have much techno, but sometimes it really helps me code. This is my source for noise.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://mindwidgets.com/blog/droid-must-haves/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hacked?</title>
		<link>http://mindwidgets.com/blog/hacked/</link>
		<comments>http://mindwidgets.com/blog/hacked/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 04:14:36 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
				<category><![CDATA[Catch All]]></category>

		<guid isPermaLink="false">http://mindwidgets.com/blog/?p=74</guid>
		<description><![CDATA[Nope, not this time at least...Finished the upgrade to WP3.0 and prepping for another go at this blogging thing.]]></description>
			<content:encoded><![CDATA[<p>Nope, not this time at least...Finished the upgrade to WP3.0 and prepping for another go at this blogging thing. </p>
]]></content:encoded>
			<wfw:commentRss>http://mindwidgets.com/blog/hacked/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
