<?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>RemoteDroid &#187; Tech</title>
	<atom:link href="http://remotedroid.net/blog/category/tech/feed/" rel="self" type="application/rss+xml" />
	<link>http://remotedroid.net/blog</link>
	<description>Use your Android phone as a wireless keyboard and mouse to remote control your computer</description>
	<lastBuildDate>Wed, 08 Sep 2010 00:52:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Getting items in a ListView to show Alpha values</title>
		<link>http://remotedroid.net/blog/2010/09/07/getting-items-in-a-listview-to-show-alpha-values/</link>
		<comments>http://remotedroid.net/blog/2010/09/07/getting-items-in-a-listview-to-show-alpha-values/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 00:52:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://remotedroid.net/blog/?p=108</guid>
		<description><![CDATA[So I was trying to implement a ListView in Android the other day where the items would have varying levels of alpha transparency in the background. For some reason, every item&#8217;s background would go black whenever the ListView scrolled. (presumably for performance reasons.) Googling around yielded not much, but a co-worker had solved this problem [...]]]></description>
			<content:encoded><![CDATA[<p>So I was trying to implement a ListView in Android the other day where the items would have varying levels of alpha transparency in the background. For some reason, every item&#8217;s background would go black whenever the ListView scrolled. (presumably for performance reasons.) Googling around yielded not much, but a co-worker had solved this problem in a previous app. Looking through the layout file, I saw that the android:cacheColorHint was set in his layout, but not mine. Adding it solved the problem.</p>
<p>Basically, just adding android:cacheColorHint=&#8221;#00000000&#8243; to the ListView enabled transparency while scrolling.</p>
]]></content:encoded>
			<wfw:commentRss>http://remotedroid.net/blog/2010/09/07/getting-items-in-a-listview-to-show-alpha-values/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android memory leaks</title>
		<link>http://remotedroid.net/blog/2010/08/13/android-memory-leaks/</link>
		<comments>http://remotedroid.net/blog/2010/08/13/android-memory-leaks/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 09:34:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://remotedroid.net/blog/?p=103</guid>
		<description><![CDATA[Since I&#8217;ve been banging my head against this for the last 12 hours, I thought I&#8217;d post a solution here, so other people might stumble across it and benefit.
I ran into two memory leaks in Android itself in WebView, and Typeface. Both are because of bugs in the OS, so if you&#8217;re encountering memory leaks, [...]]]></description>
			<content:encoded><![CDATA[<p>Since I&#8217;ve been banging my head against this for the last 12 hours, I thought I&#8217;d post a solution here, so other people might stumble across it and benefit.</p>
<p>I ran into two memory leaks in Android itself in <a href="http://developer.android.com/reference/android/webkit/WebView.html">WebView</a>, and <a href="http://developer.android.com/reference/android/graphics/Typeface.html">Typeface</a>. Both are because of bugs in the OS, so if you&#8217;re encountering memory leaks, and all your code looks pretty watertight, (Meaning you never pass Activities as a Context to a View, and you use WeakReferences for static inner classes) you might be hitting one of these.</p>
<p>The first bug for WebView is described <a href="http://code.google.com/p/android/issues/detail?id=5067">here.</a></p>
<p>The solution is just to call destroy() on your webview in the onDestroy() method of the containing activity, then set any references to that WebView to null, just in case. The app I&#8217;m working on is webview heavy, so this was causing some grief.</p>
<p>The second bug for Typeface is described <a href="http://code.google.com/p/android/issues/detail?id=9904">here.</a></p>
<p>The issue was that I was creating a new Typeface from assets in the onCreate method of my activity. Every time I did this, it was allocating around 700k of memory, which then never got released. Big, big problems. The solution in this case is to initialize the typeface object in a static class (You can subclass Application and stick it there if you want, but be aware that you can&#8217;t call getAssets() before the first activity gets it&#8217;s onCreate method called.) and then use that one instance for any TextViews you may have.</p>
<p>The only way I managed to figure out what was causing the leaks was to go into adb shell, and then use dumpsys meminfo. That showed me a whole lot of bad.</p>
]]></content:encoded>
			<wfw:commentRss>http://remotedroid.net/blog/2010/08/13/android-memory-leaks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe AIR 2.0 adds support for UDP</title>
		<link>http://remotedroid.net/blog/2010/03/01/adobe-air-adds-support-for-udp/</link>
		<comments>http://remotedroid.net/blog/2010/03/01/adobe-air-adds-support-for-udp/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 02:52:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://remotedroid.net/blog/?p=90</guid>
		<description><![CDATA[One of the things I&#8217;ve always wanted to see in Flash has been support for UDP sockets. As anyone whose tried to write a real-time networked game knows, TCP/IP is just too slow for the sorts of fast-twitch reactions used for first-person shooters, or anything real-time at all.
Apparently, Adobe AIR 2.0 has now added support [...]]]></description>
			<content:encoded><![CDATA[<p>One of the things I&#8217;ve always wanted to see in Flash has been support for UDP sockets. As anyone whose tried to write a real-time networked game knows, TCP/IP is just too slow for the sorts of fast-twitch reactions used for first-person shooters, or anything real-time at all.</p>
<p>Apparently, <a href="http://www.adobe.com/products/air/">Adobe AIR 2.0</a> has now added support for UDP, and this post by <a href="http://jeffwinder.blogspot.com/2010/02/remotely-controlling-desktop-air-app.html">Jeff Winder</a> shows how he&#8217;s added accelerometer support to RemoteDroid, and is using it to control an Adobe AIR application. Check out the video below:</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/BeK493u712I&#038;color1=0xb1b1b1&#038;color2=0xcfcfcf&#038;hl=en_US&#038;feature=player_embedded&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/BeK493u712I&#038;color1=0xb1b1b1&#038;color2=0xcfcfcf&#038;hl=en_US&#038;feature=player_embedded&#038;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://remotedroid.net/blog/2010/03/01/adobe-air-adds-support-for-udp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>RemoteDroid has been open sourced</title>
		<link>http://remotedroid.net/blog/2010/01/09/remotedroid-has-been-open-sourced/</link>
		<comments>http://remotedroid.net/blog/2010/01/09/remotedroid-has-been-open-sourced/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 01:30:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://remotedroid.net/blog/?p=84</guid>
		<description><![CDATA[I&#8217;ve finally gotten around to open-sourcing RemoteDroid, and putting it up on Google code. You can get to it at:
http://code.google.com/p/remotedroid/
You&#8217;ll also always be able to find the latest .apk and server files there.
Part of my reason for open-sourcing it is that I&#8217;m just one person, with just one phone. Like or not, Android has already [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve finally gotten around to open-sourcing RemoteDroid, and putting it up on Google code. You can get to it at:</p>
<p><a href="http://code.google.com/p/remotedroid/">http://code.google.com/p/remotedroid/</a></p>
<p>You&#8217;ll also always be able to find the latest .apk and server files there.</p>
<p>Part of my reason for open-sourcing it is that I&#8217;m just one person, with just one phone. Like or not, Android has already fragmented, and will probably fragment even more in the future, so support for every Android device out there will become increasingly difficult. That&#8217;s where open-source comes in.</p>
<p>I&#8217;m looking for contributors to help debug on platforms other than the G1. There are several issues that I simply can&#8217;t fix because I have no way of replicating them. Additionally, other people might think of features that I haven&#8217;t or haven&#8217;t had time to implement. If nothing else, people might be curious about how RemoteDroid works, and open-source is a great way of dealing with these issues.</p>
<p>If you&#8217;d like to help, feel free to email me at admin@remotedroid.net, or use the feedback form.</p>
]]></content:encoded>
			<wfw:commentRss>http://remotedroid.net/blog/2010/01/09/remotedroid-has-been-open-sourced/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Android browser caching</title>
		<link>http://remotedroid.net/blog/2009/11/13/android-browser-caching/</link>
		<comments>http://remotedroid.net/blog/2009/11/13/android-browser-caching/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 18:07:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://remotedroid.net/blog/?p=82</guid>
		<description><![CDATA[I just wanted to get this out there, Android&#8217;s browser caches like a madman. It completely ignores POST variables. This is particularly relevant when doing AJAX calls. You can&#8217;t simply add a timestamp to POST and expect the Android browser to give you new page data. You have to append to timestamp to the GET [...]]]></description>
			<content:encoded><![CDATA[<p>I just wanted to get this out there, Android&#8217;s browser caches like a madman. It completely ignores POST variables. This is particularly relevant when doing AJAX calls. You can&#8217;t simply add a timestamp to POST and expect the Android browser to give you new page data. You have to append to timestamp to the GET query string.</p>
<p>Pragma: no-cache, and all the other server-side headers also have no effect as far as I can tell.</p>
<p>It makes sense though. Since the browser&#8217;s on a mobile network, and since they want to minimize network traffic as much as possible, caching is going to be extremely aggressive.</p>
]]></content:encoded>
			<wfw:commentRss>http://remotedroid.net/blog/2009/11/13/android-browser-caching/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Maintaining an object through an orientation change</title>
		<link>http://remotedroid.net/blog/2009/09/28/maintaining-an-object-through-an-orientation-change/</link>
		<comments>http://remotedroid.net/blog/2009/09/28/maintaining-an-object-through-an-orientation-change/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 19:22:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://remotedroid.net/blog/?p=77</guid>
		<description><![CDATA[One of the head-scrathers about Android for me has been that when you open the keyboard on a device with a slide-out keyboard, the current activity is totally destroyed, then rebuilt again. I understand why it's done, since all of a sudden, you've got a new resolution, and a new set of capabilities, but I never knew how to differentiate an orientation change from an Activity being destroyed because you're going to a new Activity.]]></description>
			<content:encoded><![CDATA[<p>One of the head-scrathers about Android for me has been that when you open the keyboard on a device with a slide-out keyboard, the current activity is totally destroyed, then rebuilt again. I understand why it&#8217;s done, since all of a sudden, you&#8217;ve got a new resolution, and a new set of capabilities, but I never knew how to differentiate an orientation change from an Activity being destroyed because you&#8217;re going to a new Activity.</p>
<p>An example of this might be if you have a game thread, or some process going that you don&#8217;t want to have to shut down and restart just because you suddenly have to deal with a keyboard. The solution to this is Activity&#8217;s onRetainNonConfigurationInstance() method, as described here:</p>
<p><a href="http://android-developers.blogspot.com/2009/02/faster-screen-orientation-change.html">http://android-developers.blogspot.com/2009/02/faster-screen-orientation-change.html</a></p>
<p>Now you know!</p>
]]></content:encoded>
			<wfw:commentRss>http://remotedroid.net/blog/2009/09/28/maintaining-an-object-through-an-orientation-change/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick alert, or non-modal dialog in Android</title>
		<link>http://remotedroid.net/blog/2009/08/26/quick-alert-or-non-modal-dialog-in-android/</link>
		<comments>http://remotedroid.net/blog/2009/08/26/quick-alert-or-non-modal-dialog-in-android/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 01:38:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://remotedroid.net/blog/?p=74</guid>
		<description><![CDATA[It&#8217;s called a Toast.
Here&#8217;s a quick little tutorial on how to use it.
quick alert tutorial
]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s called a <a href="http://developer.android.com/reference/android/widget/Toast.html">Toast.</a></p>
<p>Here&#8217;s a quick little tutorial on how to use it.<br />
<a href="http://moazzam-khan.com/blog/?p=134">quick alert tutorial</a></p>
]]></content:encoded>
			<wfw:commentRss>http://remotedroid.net/blog/2009/08/26/quick-alert-or-non-modal-dialog-in-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running native code in Android 2</title>
		<link>http://remotedroid.net/blog/2009/04/23/running-native-code-in-android-2/</link>
		<comments>http://remotedroid.net/blog/2009/04/23/running-native-code-in-android-2/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 18:37:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://remotedroid.net/blog/?p=66</guid>
		<description><![CDATA[So, the previous method only really works for statically compiled programs, meaning it&#8217;s kinda useless for anything more complex, or for cross-compiling much of anything really.
Luckily, I found another page that details a better, though more time consuming way of doing things.
Compiling for Android
Basically, you&#8217;re downloading the Android source and compiling it to get a [...]]]></description>
			<content:encoded><![CDATA[<p>So, the previous method only really works for statically compiled programs, meaning it&#8217;s kinda useless for anything more complex, or for cross-compiling much of anything really.</p>
<p>Luckily, I found another page that details a better, though more time consuming way of doing things.</p>
<p><a href="http://android-dls.com/wiki/index.php?title=Compiling_for_Android">Compiling for Android</a></p>
<p>Basically, you&#8217;re downloading the Android source and compiling it to get a cross-compiler that links to the appropriate Android libraries, and anything else you might need.</p>
<p>CAVEATS:</p>
<ol>
<li>Compiling takes a VERY long time. Don&#8217;t start the compilation over SSH, because something bad will happen, and you&#8217;ll be forced to close the SSH session, which&#8217;ll bork everything. If you&#8217;re doing stuff remotely, VNC into your Linux box, open a terminal window there, and do what you need that way.</li>
<li>I haven&#8217;t tested this on anything other than Linux.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://remotedroid.net/blog/2009/04/23/running-native-code-in-android-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Running native code in Android</title>
		<link>http://remotedroid.net/blog/2009/04/13/running-native-code-in-android/</link>
		<comments>http://remotedroid.net/blog/2009/04/13/running-native-code-in-android/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 04:03:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://remotedroid.net/blog/?p=59</guid>
		<description><![CDATA[As everyone probably knows by now, <a href="http://playerx.sourceforge.net/doom.html">Doom has been ported to Android</a>.

This is exciting for two reasons,

<ol>
<li>It's Doom!</li>
<li>It's actually native code running with a Dalvik frontend.</li>
</ol>

Now, Dalvik doesn't have JNI, so how can you write something in C and run it?]]></description>
			<content:encoded><![CDATA[<p>As everyone probably knows by now, <a href="http://playerx.sourceforge.net/doom.html">Doom has been ported to Android</a>.</p>
<p>This is exciting for two reasons,</p>
<ol>
<li>It&#8217;s Doom!</li>
<li>It&#8217;s actually native code running with a Dalvik frontend.</li>
</ol>
<p>Now, Dalvik doesn&#8217;t have JNI, so how can you write something in C and run it?</p>
<p><a href="http://gimite.net/en/index.php?Run%20native%20executable%20in%20Android%20App">This guy</a> will lead you down a link-clicking rabbit hole that&#8217;ll tell you how. The important parts are the <a href="http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite">compiler</a> (Choose ARM GNU/Linux and IA32 GNU/Linux), and the technique of running system commands from Dalvik, which is detailed on Gimite&#8217;s page.</p>
<p>One note, he links to a <a href="http://honeypod.blogspot.com/2007/12/dynamically-linked-hello-world-for.html">dynamic link</a> method of getting everything to work, which doesn&#8217;t seem to be strictly necessary. I just compiled this:</p>
<p>
<pre>
#include &lt;stdio.h&gt;

int main (int argc, char** argv) {
	printf("Hello world!\n");
	return 0;
}
</pre>
<!--end_raw-->

and it wrote to stdio just fine.

The other important part is getting the native code to actually run. You can put your binaries in your assets directory, but I'm thinking that the directory is within the .apk your app gets bundled into, and I don't think can even run anything from there. I wound up copying the binaries from the assets directory to /data/data/com.joshsera (where com.joshsera is replaced by your package name), chmodding it, and running it.

<!--start_raw-->
<pre>
File newHello = new File("/data/data/com.joshsera/hello");
try {
	newHello.createNewFile();
	BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(newHello));
	BufferedInputStream in = new BufferedInputStream(this.getAssets().open("hello"));
	int b;
	while ((b = in.read()) != -1) {
		out.write(b);
	}
	//
	out.flush();
	out.close();
	in.close();
	// chmod?
	this.doCommand("/system/bin/chmod", "777", "/data/data/com.joshsera/hello");
} catch (IOException ex) {

}
</pre>
<!--end_raw-->

doCommand is where I stuck the code to run system commands.

<!--start_raw-->
<pre>
public void doCommand(String command, String arg0, String arg1) {
	try {
		// android.os.Exec is not included in android.jar so we need to use reflection.
		Class<?> execClass = Class.forName("android.os.Exec");
		Method createSubprocess = execClass.getMethod("createSubprocess",
		String.class, String.class, String.class, int[].class);
		Method waitFor = execClass.getMethod("waitFor", int.class);
		
		// Executes the command.
		// NOTE: createSubprocess() is asynchronous.
		int[] pid = new int[1];
		FileDescriptor fd = (FileDescriptor)createSubprocess.invoke(
		null, command, arg0, arg1, pid);
		
		// Reads stdout.
		// NOTE: You can write to stdin of the command using new FileOutputStream(fd).
		FileInputStream in = new FileInputStream(fd);
		BufferedReader reader = new BufferedReader(new InputStreamReader(in));
		String output = "";
		try {
			String line;
			while ((line = reader.readLine()) != null) {
				output += line + "\n";
			}
		} catch (IOException e) {
			// It seems IOException is thrown when it reaches EOF.
		}
		
		// Waits for the command to finish.
		waitFor.invoke(null, pid[0]);
		
		// send output to the textbox
		this.addText(output);
	} catch (ClassNotFoundException e) {
		throw new RuntimeException(e.getMessage());
	} catch (SecurityException e) {
		throw new RuntimeException(e.getMessage());
	} catch (NoSuchMethodException e) {
		throw new RuntimeException(e.getMessage());
	} catch (IllegalArgumentException e) {
		throw new RuntimeException(e.getMessage());
	} catch (IllegalAccessException e) {
		throw new RuntimeException(e.getMessage());
	} catch (InvocationTargetException e) {
		throw new RuntimeException(e.getMessage());
	}
}
</pre>
</p>
<p>Anyway, this has a few issues:</p>
<ol>
<li>The newly created file is out of control of the install/uninstall process. When the user uninstalls your applicaton, the binaries you&#8217;ve copied will remain where they are, taking up space. This is bad. What I&#8217;m doing, is copying the file over in the onCreate method, then rm-ing it in the onDestroy method. This adds to the startup time as you&#8217;re copying files around whenever you start up, but at least it&#8217;s clean.</li>
<li>If Android goes to a machine with a different processor, your app probably won&#8217;t work. At the moment, this isn&#8217;t a big deal, but there&#8217;s rumors of Android being installed on netbooks, so this could become a problem later.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://remotedroid.net/blog/2009/04/13/running-native-code-in-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Filtering out accelerometer noise</title>
		<link>http://remotedroid.net/blog/2009/02/03/filtering-out-accelerometer-noise/</link>
		<comments>http://remotedroid.net/blog/2009/02/03/filtering-out-accelerometer-noise/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 05:48:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://remotedroid.net/blog/?p=56</guid>
		<description><![CDATA[At one point, I thought about using the accelerometer and compass in the G1 to turn the phone into a gyromouse/Wiimote style thing. After playing around with the accelerometer and compass, I decided that they were a bit too noisy to do that easily, so I shelved it because of time constraints.
Well, googling around today, [...]]]></description>
			<content:encoded><![CDATA[<p>At one point, I thought about using the accelerometer and compass in the G1 to turn the phone into a <a href="http://www.gyration.com/">gyromouse</a>/Wiimote style thing. After playing around with the accelerometer and compass, I decided that they were a bit too noisy to do that easily, so I shelved it because of time constraints.</p>
<p>Well, googling around today, I found this article on Kalman filtering, which might help me to cut down on some of that noise.</p>
<p><a href="http://www.gamasutra.com/view/feature/1494/wheres_the_wiimote_using_kalman_.php">Kalman Filtering</a></p>
<p>Maybe, if I can get that working, Wiimote-style pointing could find it&#8217;s way into RemoteDroid sometime in the future.</p>
]]></content:encoded>
			<wfw:commentRss>http://remotedroid.net/blog/2009/02/03/filtering-out-accelerometer-noise/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
