<?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>The official website of RyeBrye. Sometimes known as Ryan Gardner. &#187; Android</title>
	<atom:link href="http://www.ryebrye.com/blog/category/android/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ryebrye.com/blog</link>
	<description>Android, Flex, family, and random topics</description>
	<lastBuildDate>Tue, 29 Mar 2011 04:36:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Android Rooting in 1-click (limited time only&#8230; until it gets patched)</title>
		<link>http://www.ryebrye.com/blog/2009/08/16/android-rooting-in-1-click-in-progress/</link>
		<comments>http://www.ryebrye.com/blog/2009/08/16/android-rooting-in-1-click-in-progress/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 15:51:18 +0000</pubDate>
		<dc:creator>RyeBrye</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Cool Stuff]]></category>

		<guid isPermaLink="false">http://www.ryebrye.com/blog/?p=782</guid>
		<description><![CDATA[6 September 2010 Update This page continues to be very popular among readers. The techniques described below rely upon a kernel bug that has long since been patched, but if you are able to downgrade your phone to an earlier version this process remains a very easy way to root your phone. Amazon Wireless has [...]]]></description>
			<content:encoded><![CDATA[<h1>6 September 2010 Update</h1>
<p>
This page continues to be very popular among readers. The techniques described below rely upon a kernel bug that has long since been patched, but if you are able to downgrade your phone to an earlier version this process remains a very easy way to root your phone.
</p>
<p>
<a href="http://wireless.amazon.com/?tag=RYE-20">Amazon Wireless</a> has some great deals on newer android phones (A Samsung Vibrant for as low as $39 is a pretty good deal &#8211; that phone hauls butt) &#8211; and they are all easily rootable too (well, not quite one-click easy, but still pretty easy). Just about any of the newer phones shipping with 2.1 or 2.2 will blow the doors off of the older phones that can be downgraded to work with this one-click root bug, so I would recommend checking them out at least to see what you can get for cheap these days. If any people actually buy phones from clicking that link, I&#8217;ll be motivated to write some more easy-to-follow instructions on how to root the newer phones on the market and possibly even work with Zinx on some more easy-to-use rooting tools.</p>
<p><iframe src="http://rcm.amazon.com/e/cm?t=rye-20&#038;o=1&#038;p=12&#038;l=ur1&#038;category=amazonwireless&#038;banner=13A670EB10W0N2FZPE02&#038;f=ifr" width="300" height="250" scrolling="no" border="0" marginwidth="0" style="border:none;" frameborder="0"></iframe></p>
<p>Now, that being said &#8211; while you wait for your new phone to ship, there&#8217;s no harm in squeezing a bit more life out of an old phone or one that you just inherited from someone else upgrading to the latest and greatest&#8230; and for that &#8211; you can read on and use the techniques documented here.
</p>
<p>
			As is customary with these kind of posts, some disclaimers:
		</p>
<ol>
<li>This could be dangerous.
			</li>
<li>This should only be used if you know what you are doing.
			</li>
<li>Although this technique will work for any currently shipping android phone, <strong><span style="color: #800000;">this specific APK will works easiest with phones that are compatible with <a href="http://forum.xda-developers.com/showthread.php?t=523558">cyanogen&#8217;s 1.4 recovery image for the HTC Dream/Magic (32B).</a></span></strong>. <em>There are instructions posted below for how to download a recovery.img that will work for other phones to your SD card, and how to use this apk to root those phones as well &#8211; it&#8217;s just not one-click&#8230; it&#8217;s more like some typing and 1-click so it might take you 30 seconds longer to do)</em>
			</li>
</ol>
<p>
			Now, some credit:
		</p>
<ol>
<li>Zinx did all the work on this
			</li>
</ol>
<h1>
			<span id="more-782"></span><br />
		</h1>
<p><script type="text/javascript"><!--
google_ad_client = "pub-8511898113229885";
/* 336x280, created 9/7/10 */
google_ad_slot = "6793012534";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p><strong>UPDATE: The &#8220;Recovery Flasher&#8221; is no longer in the market.</strong> This is entirely understandable and we as a community have no real right to be upset about this (their market, their rules &#8211; and after inspecting it they determined that the app violates them). So&#8230; Consider yourself lucky if you were one of the several thousand people who got it before it was taken down &#8211; and if not&#8230; there are plenty of mirrors to get it from posted here. (Android by design allows you to install applications from a variety of locations &#8211; you aren&#8217;t locked down to just one provider like on some fruity phones). So please don&#8217;t have a knee-jerk reaction and get mad at Google for this &#8211; they are still very much hacker-friendly (just search the market for applications that only work on rooted phones and you&#8217;ll realize that they are pretty laissez-faire in the market).</p>
<h1>
			Flashing your recovery image:<br />
		</h1>
<p>
			<a href="http://images.ryebrye.com.s3.amazonaws.com/2009/08/droidflasher.png" rel="shadowbox[post-782];player=img;"><img class="size-thumbnail wp-image-783 alignleft" title="droidflasher" src="http://images.ryebrye.com.s3.amazonaws.com/2009/08/droidflasher-150x150.png" alt="based on Android logo and a perverted sense of humor" width="150" height="150"/></a> Although <a href="http://zenthought.org/content/file/android-root-2009-08-16-source">the exploit itself</a> can be used to execute anything as root, the prepackaged APK is designed to flash your recovery image with an updated one that allows installing modified updates signed with a publicly available key The reason for this is pretty simple: It&#8217;s the easiest way to enable you to install some modified image. It also enables you to use nandroid to backup (and restore) your entire phone to your sd card, and basically gives you what you need to be one of the cool kids and <a href="http://code.google.com/p/android-roms/wiki/Install_Custom_ROM">install custom android roms at will</a>
		</p>
<h2>
			Install the APK<br />
		</h2>
<p><del datetime="2009-08-20T20:31:54+00:00"><br />
The application has been uploaded to the market, and that&#8217;s the fastest place to get it from. Open up the Market and search for &#8220;Recovery Flasher&#8221; and download it from there, </del></p>
<p>
			In your settings, under software, tell it to allow untrusted sources. (necessary since the APK isn&#8217;t available in the market). Then, from the browser on your phone download the &#8220;<a href="http://g1files.webs.com/Zinx/flashrec-20090815.apk">recovery flasher 0.1 APK</a>&#8221; from here: <a href="http://g1files.webs.com/Zinx/flashrec-20090815.apk">http://g1files.webs.com/Zinx/flashrec-20090815.apk</a> Install it&#8230; and open it up.</p>
<p>Download from one of these mirrors</p>
<ul>
<li><a href="http://g1files.webs.com/Zinx/flashrec-20090815.apk">http://g1files.webs.com/Zinx/flashrec-20090815.apk</a></li>
<li>
<a href="http://zenthought.org/content/project/flashrec">http://zenthought.org/content/project/flashrec</a>
</li>
</ul>
<h3>
			It looks like this:<br />
		</h3>
<p>
			<a href="http://images.ryebrye.com.s3.amazonaws.com/2009/08/recfasher.png" rel="shadowbox[post-782];player=img;"><img class="size-medium wp-image-793" title="recfasher" src="http://images.ryebrye.com.s3.amazonaws.com/2009/08/recfasher-200x300.png" alt="recovery flasher" width="200" height="300"/></a> From here:
		</p>
<ol>
<li>click on &#8220;backup recovery image&#8221;
			</li>
<li>click on &#8220;Flash Cyanogen Recovery 1.4&#8243;
			</li>
</ol>
<p>
			(in mine there is the option to restore my previous one since I already backed that thing up)
		</p>
<h2>
			Test that it worked<br />
		</h2>
<p>
			Power your phone down. Reboot into &#8220;recovery mode&#8221;. On all phones I&#8217;m aware of, you do this by holding down &#8220;Home&#8221; and &#8220;Power&#8221; when turning it on. When you see something like this:
		</p>
<div class="mceTemp">
<dl id="attachment_784" class="wp-caption alignnone" style="width: 210px;">
<dt class="wp-caption-dt">
					<a href="http://images.ryebrye.com.s3.amazonaws.com/2009/08/recovery.png" rel="shadowbox[post-782];player=img;"><img class="size-medium wp-image-784" title="recovery" src="http://images.ryebrye.com.s3.amazonaws.com/2009/08/recovery-200x300.png" alt="cyanogen's recovery mode" width="200" height="300"/></a> From here, you can install any of the custom roms using the instructions above. I highly recommend you use the &#8220;nandroid backup&#8221; button at this point.
				</dt>
</dl>
<p><strong>IF YOUR RECOVERY MODE SCREEN DOES NOT LOOK LIKE THE ONE ABOVE, OR DOESN&#8217;T HAVE ALL THOSE OPTIONS, DO NOT PROCEED</strong> &#8211; reboot and apply again.</p>
<h1>
						Known issues:<br />
					</h1>
<ul>
<li><strong>EVERY TIME YOU REBOOT YOUR PHONE INTO NORMAL ANDROID IT UNDOES WHAT YOU JUST DID</strong>. Every time android boots, it reflashes the recovery partition with the default one from a file stored in your phone. <em>For safety reasons, we are not replacing this file &#8211; just flashing the partition directly</em>. So if you boot to recovery mode, then boot back into your normal mode, and then boot back into recovery mode &#8211; you will see a triangle with an exclamation point and only 3 options. <strong>DO NOT WIPE YOUR DATA IF YOU ONLY SEE 3 OPTIONS AND AN EXCLAMATION POINT</strong> If you only see three options, reboot your phone into normal android mode and re-run the &#8220;Recovery Flasher&#8221; application &#8211; and THEN boot into recovery mode and you will see all the options.</li>
<li>If your phone doesn&#8217;t work with cyanogen 1.4&#8242;s image (which I believe are 32A HTC Sapphires [Rogers HTC Magic, etc]) you should not use this as-is &#8211; see my instructions for those phones at the bottom.. If recovery fails to boot, you should be able to pull the battery and reboot into the normal phone and then open the recovery flasher app again and &#8220;restore&#8221; your backed up recovery.img &#8211; but no promises&#8230; This is all done at your own risk.
						</li>
<li>The exploit used (<a href="http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2009-2692">CVE-2009-2692</a>) in this hack is <strong><em>already patched.</em> <span style="font-weight: normal;">The kernel was patched upstream on August 11th, so it is likely that an update will be pushed out from T-mobile VERY quickly to help prevent malicious people from using this same exploit.</span></strong>
						</li>
<li>Apologies in advance to anyone who has to work quickly and work hard to patch this exploit in the wild. (Although it should be noted that if you just shipped phones that weren&#8217;t neutered in the first place, it would save us all a lot of work and help us all be on the same team&#8230; but that&#8217;s a topic for another post.)
						</li>
</ul>
</div>
<h3>Original links:</h3>
<p>If my blog goes down, these links are the original source for the files:<br />
<a href="http://zenthought.org/content/project/flashrec">http://zenthought.org/content/project/flashrec</a></p>
<p>Mirrors:<br />
<a href="http://g1files.webs.com/Zinx/android-root-20090816.tar.gz">http://g1files.webs.com/Zinx/android-root-20090816.tar.gz</a><br />
<a href="http://g1files.webs.com/Zinx/flashrec-20090815.apk">http://g1files.webs.com/Zinx/flashrec-20090815.apk</a><br />
<a href="http://g1files.webs.com/Zinx/flashrec-20090815.tar.gz">http://g1files.webs.com/Zinx/flashrec-20090815.tar.gz</a><br />
<script type="text/javascript"><!--
google_ad_client = "pub-8511898113229885";
/* 336x280, created 9/7/10 */
google_ad_slot = "6793012534";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />
<script type="text/javascript"><!--
amazon_ad_tag = "rye-20"; amazon_ad_width = "728"; amazon_ad_height = "90";//--></script><br />
<script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"></script></p>
<h1>Update: More detailed instructions</h1>
<p>I have personally used this apk on a T-mobile US G1 running stock CRC1, and a T-mobile myTouch 3g running stock software. Both of them worked flawlessly and were done in matter of seconds. I&#8217;ve seen a few threads with people making accusations that this is a trojan or that it doesn&#8217;t work&#8230; etc. </p>
<h2>Regarding the possible &#8216;trojan&#8217; nature</h2>
<p>It&#8217;s wise to be skeptical. That&#8217;s why the <a href="http://g1files.webs.com/Zinx/flashrec-20090815.tar.gz">source code is provided</a> and has been since this post was first placed. If you want to be skeptical, that&#8217;s fine &#8211; download the source, inspect it, build it yourself, and apply it&#8230; You would be wise to rely on a brave friend to test it out and verify it works, but I would hold off on applying any security updates that come down the pipe if you want to use this method to get on the modified-image train (I&#8217;m almost positive the next update will close this hole)</p>
<p>By now there should be enough evidence to support the fact that this is <em>not</em> a malicious app &#8211; but you always have the right to remain skeptical</p>
<h2>What you get when you are done</h2>
<p>When you are done, you just have the tools to flash modified builds. Because it will run on both HTC 32B Sapphires (T-mobile myTouch 3g, Google Ion, etc) and HTC Dreams (G1, ADP1, etc)  I recommend using <a href="http://forum.xda-developers.com/showthread.php?t=539744">Cyanogen version 3.9.11.2</a> &#8211; which is an experimental build which has some cool donut features like device-wide searching (which is really really cool to use)</p>
<p>Once you get to the recovery console, first backup your phone using nandroid backup. This will help you in case you flash an image that for some reason doesn&#8217;t work &#8211; at least you can restore to what you have now. (boot back into recovery, and choose &#8220;restore from backup&#8221;)</p>
<p>To prepare for rooting, download this file: <a href="http://n0rp.chemlab.org/android/experimental/update-cm-3.9.11.2-signed.zip ">http://n0rp.chemlab.org/android/experimental/update-cm-3.9.11.2-signed.zip</a> and put it on your sdcard at the root level (i.e. the very top of the sdcard &#8211; so if you are in a GUI desktop &#8211; just drag the zip file and drop it onto the icon of the sdcard and it will be at the root level)</p>
<h3>BEFORE booting into recovery mode</h3>
<ul>
<li>Have a modified ROM ready to load of your choice. (i.e. the update-cm.3.9.11.2-signed.zip) on your SD card</li>
<li>Be prepared for the awesomeness you are about to unleash</li>
<li>Actually flash the recovery image using the recovery flasher apk and following the above instructions</li>
</ul>
<h3>To Boot into recovery mode</h3>
<ol>
<li>Power down phone</li>
<li>Hold down &#8220;Home&#8221; and &#8220;Power&#8221; simultaneously for a few seconds (you can release them once it turns on)</li>
<li>Verify that the image matches my screenshot above</li>
</ol>
<p><em <(when I did the myTouch 3g, it seemed to hang for a second the first time I booted into the recovery mode... I pulled the battery and popped it back in and did the home+power thing again and it booted fine the second time. So if at first you don't succeed, don't be too scared)</em></p>
<h3>When you reboot into recovery mode:</h3>
<ol>
<li>backup your phone by hitting &#8220;nandroid backup&#8221;</li>
<li>Wipe your data by saying &#8220;wipe data&#8221; (and press home button to confirm) <strong>DO NOT wipe your data unless you have nandroided, and already have the update.img loaded on your phone ready to apply!</strong></li>
<li>Update to cyanogen by saying &#8220;apply any zip from sd&#8221; &#8211; scroll to that update-cm-3.9.11.2-signed.zip and hit ok, press home button to confirm</li>
<li>Reboot phone.</li>
<li>be patient &#8211; rebooting after reflashing takes longer than a normal reboot.</li>
</ol>
<h3>Special note for Sapphire 32A users.</h3>
<p>If you have a 32A sapphire, you can STILL use this app &#8211; but you have to download a different recovery image for your phone and put it on your sdcard first.</p>
<ol>
<li>Download the <a href="http://forum.xda-developers.com/showthread.php?t=541818">32A version of the recovery.img</a> from <a href="http://www.2shared.com/file/6888950/23092494/cm-recovery-14-32A.html">here</a>or <a href="http://rapidshare.com/files/261143874/cm-recovery-1.4-32A.img">here</a>
</li>
<li>Copy that recovery img to your sdcard at the root level and call it &#8220;recovery.img&#8221;</li>
<li>Open the &#8220;recovery flasher&#8221; app and backup your recovery.img</li>
<li>In the text field type in &#8220;/sdcard/recovery.img&#8221;</li>
<li>Hit &#8220;flash recovery&#8221;</li>
</ol>
<p>Now you should be able to boot into the recovery mode. From there, you need to install a 32A version of a modified image, <a href="http://forum.xda-developers.com/showthread.php?t=534464">such as the ones in this thread on XDA-forums</a>.</p>
<h3>Special note for Hero users (and possibly others)</h3>
<p>If you have a currently-shipping HTC Hero, you should try <a href="http://forum.xda-developers.com/showthread.php?t=530492">the &#8220;H&#8221; version of Amon_RA&#8217;s recovery image</a> and use that the same as the sapphire 32A (see above for instructions &#8211; i.e. put the recovery.img on your sdcard)</p>
<p>If you have a phone other than the ones I&#8217;ve tested personally, you should try a few of the different recovery.img&#8217;s before giving up. As long as your phone has a modified recovery image available for it (and afaik all of them do), you should be able to use this method. </p>
<p>If you have some magical device that nobody else has hacked yet &#8211; get in touch with me and we can work on cooking up a custom recovery.img for your device and you can have the pleasure of being the first person in the world with a hacked whatever-it-is-you-have phone.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-8511898113229885";
/* 336x280, created 9/7/10 */
google_ad_slot = "6793012534";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h2>Troubleshooting Common Issues / FAQ:</h2>
<ul>
<li><strong>When I try to run it, it says &#8220;Backup Failed&#8221;</strong> &#8211; it is possible that your SD Card is full, or that it is corrupted. The backup isn&#8217;t a crucial step &#8211; since we don&#8217;t replace the phone&#8217;s built-in backup, and if you want to bypass the backup step you can click on an invisible button directly to the right of the &#8220;backup&#8221; button which will skip this step. To be safe, you should try it again with a different SD card or after freeing some space on your SD card. (it&#8217;s not a lot of space that is required, only a few megs at the most)</li>
<li><strong>When I reboot into recovery, I don&#8217;t see the options &#8211; I just see 3 options and an exclamation point.</strong> What most likely happened is you rebooted your phone into normal android mode at some point after flashing it initially, and android reflashed your recovery partition with the built-in backup that it has (it does this every time you boot). DO NOT WIPE YOUR DATA at this point (if you do, you will have to reprovision your phone and redownload the &#8220;Recovery Flasher&#8221; program &#8211; which isn&#8217;t a huge deal, but it will take you more time than you need to spend). You need to reboot into normal android mode and rerun the &#8220;Recovery Flasher&#8221; program &#8211; this time you only need to click on &#8220;Flash Cyanogen Recovery 1.4&#8243; since you have already made a backup. After you do that, reboot into recovery mode (hold power + home button when turning phone one) and you will see all the options again</li>
<li><strong>My Recovery mode doesn&#8217;t boot! Ah!</strong> (to be fair, this actually hasn&#8217;t happened yet &#8211; but I figured I&#8217;d post a response to it in case someone has this issue to save you some heartache) First thing to do is pull the battery and put it back in. Hold home + power again and try it a second time&#8230; just to be sure. If after a few tries it still doesn&#8217;t work &#8211; you may a 32A based Sapphire. Boot your phone up normally and it will be fine and dandy like it was before (we don&#8217;t do anything to your normal android os &#8211; just the recovery mode). You need to follow the instructions above (download the appropriate recovery.img to your sdcard and enter the text in the box &#8211; then hit flash image&#8230; etc). Post in the comments which recovery img you end up using when you get it to work to let others know. No permanent damage is done.</li>
<li><strong>When I boot, all I see is a an android and it sits there FOREVER</strong> If it takes more than 10 minutes to reboot, you almost certainly forgot a key step. <strong>WIPING</strong>. Pull the battery out, and put it back in. Hold down &#8220;home&#8221; and &#8220;power&#8221; to reboot into recovery mode, and then select &#8220;wipe data/factory restore&#8221; and THEN apply your update.zip &#8211; this will almost certainly fix your problem.</li>
<li><strong>What about warranty service?</strong> If you want to restore your phone to exactly the state it was in before you flashed on a modified image &#8211; use the nandroid restore function in the modified recovery image. You can test this out pretty easily to confirm it works by booting into recovery mode, then running &#8220;nandroid restore&#8221; and the booting back into your normal android OS &#8211; it should be unrooted and running stock software. (Of course, it should be obvious that in order to get BACK to the rooted version you&#8217;ll have to re-do everything you did&#8230; i.e. open the app, flash the backup, and reboot into recovery mode and flash the custom rom update). If by some chance your nandroid backup ever becomes corrupt, you can reflash on the original software if you get ahold of an official update.zip for your device and apply it (it will have to be resigned with the public testkeys first, but if you go to any of the popular android hacking forums someone will be able to easily help you do this.) If the phone has an NBH released for it, that will always restore it back to factory settings</li>
</ul>
<h2>Once you have rooted:</h2>
<p><strong>A class 6 micro SDHC card is a very fast memory card &#8211; much faster than the one that comes in the phone. When you get one of these, you can make use of various apps2sd tutorials. (Cyanogen will automatically use the sd card for your apps if you set up a partition on it &#8211; pretty nice)</strong></p>
<p><iframe src="http://rcm.amazon.com/e/cm?t=rye-20&#038;o=1&#038;p=48&#038;l=st1&#038;mode=electronics&#038;search=class%206%20micro%20sdhc%20&#038;fc1=000000&#038;lt1=&#038;lc1=3366FF&#038;bg1=FFFFFF&#038;f=ifr" marginwidth="0" marginheight="0" width="728" height="90" border="0" frameborder="0" style="border:none;" scrolling="no"></iframe></p>
<p></em><em>Portions of this page are modifications based on work created and <a href="http://code.google.com/policies.html">shared by Google</a> and used according to terms described in the <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons 3.0 Attribution License.</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryebrye.com/blog/2009/08/16/android-rooting-in-1-click-in-progress/feed/</wfw:commentRss>
		<slash:comments>274</slash:comments>
		</item>
		<item>
		<title>Script to automatically check for T-mobile G1 cupcake OTA update URL</title>
		<link>http://www.ryebrye.com/blog/2009/05/21/script-to-automatically-check-for-t-mobile-g1-cupcake-ota-update-url/</link>
		<comments>http://www.ryebrye.com/blog/2009/05/21/script-to-automatically-check-for-t-mobile-g1-cupcake-ota-update-url/#comments</comments>
		<pubDate>Fri, 22 May 2009 05:28:57 +0000</pubDate>
		<dc:creator>RyeBrye</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[G1 hacking]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[update checker]]></category>

		<guid isPermaLink="false">http://www.ryebrye.com/blog/?p=753</guid>
		<description><![CDATA[T-mobile USA is rolling out the latest update progressively. The update will &#8220;come when it comes&#8221; and on some phones that will be as late as June. This game is one we have come accustomed to playing, and one that is annoying each time we have to play it. The phones download the update from [...]]]></description>
			<content:encoded><![CDATA[<p>T-mobile USA is rolling out the latest update progressively. The update will &#8220;come when it comes&#8221; and on some phones that will be as late as June.</p>
<p>This game is one we have come accustomed to playing, and one that is annoying each time we have to play it. The phones download the update from a URL on a google server, and once we know that URL, we can download the update manually and apply it from the SD Card  - or pass it off to the modding community to build a new and better version of it.</p>
<p>There are two parameters passed into the update service that are unique to each device, the IMEI and the device serial number. With the help of a few other people (most notably, Saurik for doing the legwork last update go-round and getting the initial work done)</p>
<p>Here&#8217;s the<a href="http://ryebrye.com/files/ota-check.sh">T-mobile USA OTA update polling script</a></p>
<p>To use it, download it and run it like this:<br />
<code><br />
sh ota-check.sh -sn YOUR_SN_HERE -imei YOUR_IMEI_HERE -sleep NUMBER_OF_SECONDS_TO_SLEEP<br />
</code></p>
<p>If you already got the update, it would be particularly interesting for you to try to run this script with your SN and IMEI. In theory, you should get the URL again &#8211; although this hasn&#8217;t been the case in the past for some reason (maybe once you checkin on the new version they disable you getting the update again? who knows why and how they work their craziness)</p>
<p>You can get your IMEI from your phone:</p>
<ul>
<li>&#8220;About the Phone&#8221; in the settings menus.</li>
</ul>
<p>You can get your SN from the phone terminal:</p>
<ul>
<li><code>getprop | grep serial</code> (in the terminal emulator or from adb shell)</li>
<li><code>adb devices</code> (I think this shows the SN of the phone, please verify)</li>
</ul>
<p>If you get a URL, please post it in the comments. I&#8217;ll see to it gets passed on quickly.<br />
<script type="text/javascript"><!--
amazon_ad_tag = "rye-20"; amazon_ad_width = "600"; amazon_ad_height = "520";//--></script><br />
<script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryebrye.com/blog/2009/05/21/script-to-automatically-check-for-t-mobile-g1-cupcake-ota-update-url/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>G1 browser &#8211; now with Zoom Zoom Zoom</title>
		<link>http://www.ryebrye.com/blog/2009/01/24/g1-browser-now-with-zoom-zoom-zoom/</link>
		<comments>http://www.ryebrye.com/blog/2009/01/24/g1-browser-now-with-zoom-zoom-zoom/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 06:43:44 +0000</pubDate>
		<dc:creator>RyeBrye</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android multitouch zoom browser g1]]></category>

		<guid isPermaLink="false">http://www.ryebrye.com/blog/?p=704</guid>
		<description><![CDATA[If you haven&#8217;t been in a hole for the past few weeks, you would be aware that the screen on the G1 is capable of basic multitouch &#8211; and that it is capable of zooming in. Luke Hutchison (note to people trying to recruit him for jobs&#8230; that is Hutchison, not Hutchinson) has done some [...]]]></description>
			<content:encoded><![CDATA[<p>If you haven&#8217;t been in a hole for the past few weeks, you would be aware that the screen on the G1 is capable of basic multitouch &#8211; and that it is capable of zooming in.</p>
<p><a href="http://lukehutch.wordpress.com/android-stuff/">Luke Hutchison</a> (note to people trying to recruit him for jobs&#8230; that is Hutchison, <strong>not</strong> Hutchi<strong>n</strong>son) has done some tremendous work moving things forward by both explaining the limitations of multitouch and also laying the groundwork for a clever hack to enable basic operations such as two-finger zooming in normal android applications. </p>
<p>You can see his post about <a href="http://lukehutch.wordpress.com/2009/01/25/get-multi-touch-support-on-your-t-mobile-g1-today/">the multitouch g1 browser</a>, or watch the video here: (which has a nice catchy tune behind it)<br />
<a href="http://www.youtube.com/watch?v=2ZEshnuQcno" rel="shadowbox[post-704];player=swf;width=640;height=385;">Multitouch zooming on the G1</a><br />
<object width="480" height="295"><param name="movie" value="http://www.youtube.com/v/2ZEshnuQcno&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/2ZEshnuQcno&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed></object></p>
<p>Two-finger zooming in the browser is a major feature that up until now is only present on the iPhone. As of today, this feature can now be present on anyone&#8217;s G1. (So, for those keeping score&#8230; the G1 has copy &amp; paste, MMS, and now if you want &#8211; a browser you can zoom with using gestures)</p>
<p>In order to apply this to your phone, you will need to get root access to your phone. The best instructions for this are found on the <a href="http://android-dls.com/wiki/index.php?title=Quick_Root">unofficial android wiki</a>. (It is worth noting that once you do this, you will no longer receive updates from T-mobile&#8230; but given the fact that any update from T-mobile would almost certainly NOT include this multitouch version of the browser [even though they could easily include it for the G1 since the code is all released])</p>
<p>I&#8217;ve been using this for a day or two and it&#8217;s nice. Technique is important &#8211; you need to be aware that it wont really know what to do with your fingers if you get them too close &#8211; so don&#8217;t start your zoom motion with both fingers touching and expect it to work well &#8211; keep them about an inch or an inch-and-a-half apart at the minimum and it works pretty well.</p>
<p>There is also an option (turned off by default) added to the browser to enable autorotate in the browser. Both of those together are nice. </p>
<p>Go get your files at the <a href="http://android-dls.com/forum/index.php?f=24&#038;t=241&#038;p=702&#038;rb_v=viewtopic#p702">xda forums</a> or on <a href="http://android-dls.com/forum/index.php?f=24&#038;t=241&#038;p=702&#038;rb_v=viewtopic#p702">the android-dls forums</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryebrye.com/blog/2009/01/24/g1-browser-now-with-zoom-zoom-zoom/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Replacing the splash screen on a T-mobile G1 / Dev phone</title>
		<link>http://www.ryebrye.com/blog/2008/12/08/replacing-the-splash-screen-on-a-t-mobile-g1-dev-phone/</link>
		<comments>http://www.ryebrye.com/blog/2008/12/08/replacing-the-splash-screen-on-a-t-mobile-g1-dev-phone/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 08:07:11 +0000</pubDate>
		<dc:creator>RyeBrye</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[G1 hacking]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[bootscreen]]></category>
		<category><![CDATA[fastboot]]></category>
		<category><![CDATA[G1]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.ryebrye.com/blog/?p=670</guid>
		<description><![CDATA[Before you can do this, you need to have a T-mobile G1 that you have obtained root access to, and you need to replace your bootloader with an unlocked G1 bootloader that has fastboot enabled. There are instructions on how to do this manually, but I wanted a script because I am lazy and I [...]]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript"><!--
google_ad_client = "pub-8511898113229885";
/* 336x280, created 9/7/10 */
google_ad_slot = "6793012534";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />
Before you can do this, you need to have a T-mobile G1 that you have obtained root access to, and you need to replace your bootloader with an <a href="http://www.gotontheinter.net/node/7">unlocked G1 bootloader that has fastboot enabled</a>. There are instructions on <a href="http://www.gotontheinter.net/node/9">how to do this manually</a>, but I wanted a script because I am lazy and I wanted to make this process as quick as possible.</p>
<p>So, once that is in place, you can flash an image like this one:</p>
<div id="attachment_671" class="wp-caption alignnone" style="width: 210px"><a href="http://images.ryebrye.com.s3.amazonaws.com/2008/12/android_boot_image_black2.png" rel="shadowbox[post-670];player=img;"><img class="size-medium wp-image-671" title="Android boot screen - black background" src="http://images.ryebrye.com.s3.amazonaws.com/2008/12/android_boot_image_black2-200x300.png" alt="Android boot screen" width="200" height="300" /></a><p class="wp-caption-text">My custom Android boot screen (click to DL)</p></div>
<p><script type="text/javascript"><!--
google_ad_client = "pub-8511898113229885";
/* 468x60, created 9/7/10 */
google_ad_slot = "7819600270";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p>You can then download and use this <a href="http://ryebrye.com/files/splashimage.sh">bash script to flash your G1 boot screen</a> &#8211; which requires the following things be in your path:</p>
<ol>
<li>convert (command line for Image Magick)</li>
<li>rgb2565 tool (part of android open source build)</li>
<li>fastboot  (also part of open source build)</li>
</ol>
<p>Here is the contents of the bash script:<br />
<span id="more-670"></span><br />
<code><br />
#!/bin/bash<br />
#<br />
# Author: RyeBrye (Ryan Gardner)<br />
# http://ryebrye.com/blog/<br />
# License: Quad-license: GPL / LGPL / BSD / Apache. Pick whichever one you want! <img src='http://www.ryebrye.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /><br />
#<br />
# Special thanks to Disconnect and bgupta for their work towards this, and Google / Brian Swetland for<br />
# making such a cool tool as fastboot <img src='http://www.ryebrye.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
#<br />
# This script converts an input image into a rgb565 file that you will flash to your phone. You should<br />
# boot your phone into fastboot mode and run this. (power off phone, then hold down the back<br />
# button and the power button to load into the bootloader. on a hacked G1, you should see the<br />
# skateboarding android image and the text "FASTBOOT" on the phone)<br />
#<br />
#<br />
# Tested input files that work: PNG, or BMP (others will probably work as well)<br />
#<br />
# This script is for the T-Mobile G1 that has a fastboot bootloader flashed onto it,<br />
# or a Dev Phone.<br />
#<br />
# Requires: Image Magick to be installed and in your path (so the convert command works)<br />
# Requires: rbg2565 to be installed and in your path (built as part of the android source build)<br />
# Requires: fastboot to be installed and in your path (build at part of the android source build)<br />
#<br />
# useage: ./splashimage.sh inputimage.png<br />
# results: will flash your splash image, and reboot your phone so you can see your handiwork! <img src='http://www.ryebrye.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
#<br />
#<br />
#<br />
echo "Converting input image to rgb888 raw (saving in temp directory)"</p>
<p># perhaps some kind of dithering could be put here to make it not have gradient banding<br />
# on some images? someone with more knowledge of imagemagick will have to do this <img src='http://www.ryebrye.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
convert -depth 8 $1 rgb:/tmp/splash.raw</p>
<p>#convert image<br />
echo "Converting input image to rgb565 (saving in temp directoy)"<br />
rgb2565 < /tmp/splash.raw > /tmp/splash.raw565</p>
<p>#checking size<br />
eval $(stat -s /tmp/splash.raw565)<br />
if [ "$st_size" == "307200" ]; then<br />
	echo "Flashing splash image to phone..."<br />
	fastboot flash splash1 /tmp/splash.raw565<br />
	echo "Rebooting phone..."<br />
	fastboot reboot<br />
	echo "Cleaning up temp files..."<br />
	rm /tmp/splash.raw<br />
	rm /tmp/splash.raw565<br />
else<br />
	echo "File was not the expected size. Make sure you are using an 8-bit 320x480 PNG as the original source."<br />
fi<br />
</code></p>
<p>Suggested improvements are welcome. I&#8217;m open to hosting the script on the wiki to allow for easy changes to it by interested people. Right now it&#8217;s pretty basic, but it works.<br />
<script language="Javascript1.1" type="text/javascript"></p>
<p><!--
amazon_prw_id = "V20070822/US/rye-20/8100/a8dfeb5a-bbe3-4771-ad16-972b65b266f1"; amazon_prw_width = "468"; amazon_prw_height = "60";//--></script><br />
<iframe src="http://rcm.amazon.com/e/cm?t=rye-20&#038;o=1&#038;p=16&#038;l=st1&#038;mode=books&#038;search=android%20programming&#038;fc1=000000&#038;lt1=&#038;lc1=3366FF&#038;bg1=FFFFFF&#038;f=ifr" marginwidth="0" marginheight="0" width="468" height="336" border="0" frameborder="0" style="border:none;" scrolling="no"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryebrye.com/blog/2008/12/08/replacing-the-splash-screen-on-a-t-mobile-g1-dev-phone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Brainstorming a model-driven code generation tool for android</title>
		<link>http://www.ryebrye.com/blog/2008/11/30/brainstorming-a-model-driven-code-generation-tool-for-android/</link>
		<comments>http://www.ryebrye.com/blog/2008/11/30/brainstorming-a-model-driven-code-generation-tool-for-android/#comments</comments>
		<pubDate>Sun, 30 Nov 2008 17:00:24 +0000</pubDate>
		<dc:creator>RyeBrye</dc:creator>
				<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://www.ryebrye.com/blog/2008/11/30/brainstorming-a-model-driven-code-generation-tool-for-android/</guid>
		<description><![CDATA[I started writing a simple app the other day that will parse an entire pocket query file from geocaching.com&#8230; eventually it will bloom out and be a full-featured geocaching application. Coming from the realm of java web development, I am used to having good tools that automate all the mundane parts of the process. In [...]]]></description>
			<content:encoded><![CDATA[<p>I started writing a simple app the other day that will parse an entire pocket query file from geocaching.com&#8230; eventually it will bloom out and be a full-featured geocaching application.</p>
<p>Coming from the realm of java web development, I am used to having good tools that automate all the mundane parts of the process. In many cases, most of the data persistence layer of an app is fairly routine&#8230; Once you know what the fields in your data objects look like, the rest of the layer is basically spelled out for you&#8230; If you have a bean that stores a bunch of strings, you will have a table that stores a bunch of strings&#8230; etc.<br />
<span id="more-657"></span><br />
If you wanted to write out your data structure in shorthand to give to another programmer who would work on that layer for you, you could easily write it out like this:<br />
<code><br />
Entity Person {<br />
String FirstName<br />
String LastName<br />
Date birthdate<br />
@VitalStats vitalStats</code></p>
<p><code> Service PersonService {<br />
set  getPersonByFirstName(String firstName) throws PersonNotFoundException<br />
set  findPerson (firstName, lastName)<br />
}<br />
}<br />
ValueObject VitalStats {<br />
Float weight<br />
int heightInInches<br />
int waistSize<br />
...<br />
} </code></p>
<p>From that basic description of the data layer, another programmer could easily create for you code that would handle your model and give you an easy iterface to work with it. What is even nicer, however, is that the other programmer doesn&#8217;t have to be a human &#8211; a properly written tool can take that simple description and also write all the code for you.</p>
<p>One project I have worked with before is Fornax Sculptor &#8211; (the domain-specific language in my example is strongly based on sculptor&#8217;s DSL) &#8211; they in turn build on top of Open ArchitectureWare and integrate their generation solution within the popular java build-tool Maven.</p>
<p>To build a code generation tool to simplify the model layer of an android app would not be too tough. Here is what I was thinking it could provide relatively easily:</p>
<ul>
<li>Generate the db adapter, along with the necessary create statements</li>
<li>Generate simple<br />
beans to transfer data</li>
<li>Generate a basic service layer that the rest of the application talks to to get / save data</li>
</ul>
<p>If anyone has any other thoughts on what kind of things are basically just braindead work once the data model is defined, let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryebrye.com/blog/2008/11/30/brainstorming-a-model-driven-code-generation-tool-for-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>G1 Multitouch Proof of Concept: Source code posted</title>
		<link>http://www.ryebrye.com/blog/2008/11/30/g1-multitouch-proof-of-concept-soure-code-posted/</link>
		<comments>http://www.ryebrye.com/blog/2008/11/30/g1-multitouch-proof-of-concept-soure-code-posted/#comments</comments>
		<pubDate>Sun, 30 Nov 2008 07:18:24 +0000</pubDate>
		<dc:creator>RyeBrye</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[G1 hacking]]></category>
		<category><![CDATA[G1]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[multitouch]]></category>
		<category><![CDATA[source code]]></category>

		<guid isPermaLink="false">http://www.ryebrye.com/blog/?p=649</guid>
		<description><![CDATA[The ugly, thrown-together-hack that is the G1 multi-touch proof of concept now has the source code available. The instructions for working / playing with this are: Instructions: If you want to build your own kernel with the char device for multitouch enabled: Apply the patch to the synaptics touchscreen driver file. Build a new kernel [...]]]></description>
			<content:encoded><![CDATA[<p>The ugly, thrown-together-hack that is the G1 multi-touch proof of concept <a href="http://ryebrye.com/files/multitouch_archive.zip">now has the source code available</a>.<br />
<span id="more-649"></span><br />
The instructions for working / playing with this are:</p>
<h2>Instructions:</h2>
<p>If you want to build your own kernel with the char device for multitouch enabled:</p>
<ol>
<li>Apply the patch to the synaptics touchscreen driver file.</li>
<li>Build a new kernel with that modified version in it.</li>
<li>Build a new boot.img using that kernel</li>
<li>Flash the kernel on the G1 with the new boot.img</li>
</ol>
<p>If you don&#8217;t want to build your own kernel:</p>
<ul>
<li>Just copy the boot.img over to your sdcard and then:<br />
<code>flash_image boot /sdcard/boot.img </code></li>
</ul>
<ol start="5">
<li>Reboot the phone</li>
</ol>
<p>Once the phone reboots, you need to create the device node for it to be able to read it.</p>
<p>It&#8217;s easiest to do this from your machine:<br />
<code>adb shell busybox mknod /dev/tsout c 249 0</code></p>
<p>To test if this works, <code>cat /dev/tsout </code> on the device while you are touching the screen.</p>
<p>Next, build and install the multipoc app from your eclipse build, and install it.</p>
<p>The proof-of-concept app is EXTREMELY rough. If you make significant improvements to things, let me know and I&#8217;ll update the files here.</p>
<p>The multitouch proof-of-concept java is based heavily on Google&#8217;s fingerpaint program.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryebrye.com/blog/2008/11/30/g1-multitouch-proof-of-concept-soure-code-posted/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>G1 Multitouch Proof-of-Concept Video</title>
		<link>http://www.ryebrye.com/blog/2008/11/22/g1-multitouch-proof-of-concept-video/</link>
		<comments>http://www.ryebrye.com/blog/2008/11/22/g1-multitouch-proof-of-concept-video/#comments</comments>
		<pubDate>Sat, 22 Nov 2008 18:57:15 +0000</pubDate>
		<dc:creator>RyeBrye</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[G1 hacking]]></category>
		<category><![CDATA[G1]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[multitouch]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.ryebrye.com/blog/?p=642</guid>
		<description><![CDATA[Last night, I hacked together a quick proof-of-concept video to show those who aren&#8217;t inclined to read the debug logs the multitouch capabilities of the G1. Rather than go the proper route, where the multiple finger events would get pushed up from the touchscreen driver and into the java layer where the android applications live [...]]]></description>
			<content:encoded><![CDATA[<p>Last night, I hacked together a quick proof-of-concept video to show those who aren&#8217;t inclined to read the debug logs the multitouch capabilities of the G1.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/pSBYqmWVqeM&amp;hl=en&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/pSBYqmWVqeM&amp;hl=en&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
<span id="more-642"></span><br />
Rather than go the proper route, where the multiple finger events would get pushed up from the touchscreen driver and into the java layer where the android applications live and play &#8211; another #android member (ionstorm, who also prompted me to look into multitouch in the first place) &#8211; suggested just reading the touchscreen event data from a file in the java layer as a quick way to skip over the hard work and demonstrate the possibility to people visually.</p>
<p>I will clean up and post all the necessary source code and instructions for someone to do this on their own phone so that more people can start playing with this later. For now, the brief rundown is that I modified the Synaptics touchscreen driver to have it create a character device at /dev/tsout that it dumps the touchscreen events to. I made /dev/tsout readable by the java layer, and then modified a fingerpaint example program that Google has posted to draw the circles. I have a thread in there that constantly polls that file, and when it sees data there it fires off an update event to the UI thread which scales the x and y position from the coordinate space of the touchscreen driver into the coordinate space of the android canvas and then draws a small circle there. I have it using a different color for the two fingers to make it easier to see.</p>
<p>The performance of this kind of polling is not that great. There are a few quirks to the multitouch aspect of the G1 &#8211; but the most important thing that I see is that even though it might not be a perfect multitouch screen capable of detecting millions of discrete touches &#8211; just being able to track 2 fingers should give me the only thing I really want&#8230; which is the ability to one day pinch to zoom in on the browser and get rid of those silly magnifying glasses.</p>
<p><strong>Shameless plug</strong> Hey &#8211; if you want to hook a brother up, buy stuff from amazon and use this search box <img src='http://www.ryebrye.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<script src="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&amp;MarketPlace=US&amp;ID=V20070822/US/rye-20/8002/23d5ed52-dbcf-4cab-8309-d549d8a17fcb" type="text/javascript"><!--</p>
<p>// --></script></p>
<p><noscript>&lt;a href=&#8221;http://ws.amazon.com/widgets/q?ServiceVersion=20070822&amp;amp;MarketPlace=US&amp;amp;ID=V20070822%2FUS%2Frye-20%2F8002%2F23d5ed52-dbcf-4cab-8309-d549d8a17fcb&amp;amp;Operation=NoScript&#8221; mce_href=&#8221;http://ws.amazon.com/widgets/q?ServiceVersion=20070822&amp;amp;MarketPlace=US&amp;amp;ID=V20070822%2FUS%2Frye-20%2F8002%2F23d5ed52-dbcf-4cab-8309-d549d8a17fcb&amp;amp;Operation=NoScript&#8221;&gt;Amazon.com Widgets&lt;/a&gt;</noscript></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryebrye.com/blog/2008/11/22/g1-multitouch-proof-of-concept-video/feed/</wfw:commentRss>
		<slash:comments>60</slash:comments>
		</item>
		<item>
		<title>&#8220;Neocore&#8221; G1 OpenGL showcase posted</title>
		<link>http://www.ryebrye.com/blog/2008/11/18/neocore-g1-opengl-showcase-posted/</link>
		<comments>http://www.ryebrye.com/blog/2008/11/18/neocore-g1-opengl-showcase-posted/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 04:40:20 +0000</pubDate>
		<dc:creator>RyeBrye</dc:creator>
				<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://www.ryebrye.com/blog/?p=627</guid>
		<description><![CDATA[Qualcomm has posted an application on the Android market that showcases the OpenGL-ES capabilities of a phone&#8230; Screenshots don&#8217;t do it justice, but since I like taking screenshots of android stuff, I will post them anyway. None of the games currently look this good, and I can only imagine that once a game comes out [...]]]></description>
			<content:encoded><![CDATA[<p>Qualcomm has posted an application on the Android market that showcases the OpenGL-ES capabilities of a phone&#8230; Screenshots don&#8217;t do it justice, but since I like taking screenshots of android stuff, I will post them anyway. </p>
<p>None of the games currently look this good, and I can only imagine that once a game comes out that does use OpenGL ES, it wont be free. This app does provide a good preview of what kind of graphics we can expect on these phones &#8211; and they are every bit as impressive as the graphics that I&#8217;ve seen on other platforms.</p>
<p>Although I only got 24.5 FPS &#8211; one of the engineers inside of Google mentioned that: &#8220;this benchmark made us discover an issue with our GL stack&#8230; our graphics guy said we could almost double that number with the proper fixes&#8221;</p>
<p>So&#8230; Bring on the FPS, baby!<br />

<a href='http://www.ryebrye.com/blog/wp-content/uploads/2008/11/robot_fps.png' rel='shadowbox[album-627];player=img;' title='robot_fps'><img width="150" height="150" src="http://images.ryebrye.com.s3.amazonaws.com/2008/11/robot_fps-150x150.png" class="attachment-thumbnail" alt="robot_fps" title="robot_fps" /></a>
<a href='http://www.ryebrye.com/blog/wp-content/uploads/2008/11/tanks.png' rel='shadowbox[album-627];player=img;' title='tanks'><img width="150" height="150" src="http://images.ryebrye.com.s3.amazonaws.com/2008/11/tanks-150x150.png" class="attachment-thumbnail" alt="tanks" title="tanks" /></a>
<a href='http://www.ryebrye.com/blog/wp-content/uploads/2008/11/device.png' rel='shadowbox[album-627];player=img;' title='device'><img width="150" height="150" src="http://images.ryebrye.com.s3.amazonaws.com/2008/11/device-150x150.png" class="attachment-thumbnail" alt="device" title="device" /></a>
<a href='http://www.ryebrye.com/blog/wp-content/uploads/2008/11/robot_2.png' rel='shadowbox[album-627];player=img;' title='robot_2'><img width="150" height="150" src="http://images.ryebrye.com.s3.amazonaws.com/2008/11/robot_2-150x150.png" class="attachment-thumbnail" alt="robot_2" title="robot_2" /></a>
<a href='http://www.ryebrye.com/blog/wp-content/uploads/2008/11/robot_4.png' rel='shadowbox[album-627];player=img;' title='robot_4'><img width="150" height="150" src="http://images.ryebrye.com.s3.amazonaws.com/2008/11/robot_4-150x150.png" class="attachment-thumbnail" alt="robot_4" title="robot_4" /></a>
<a href='http://www.ryebrye.com/blog/wp-content/uploads/2008/11/robot_flying.png' rel='shadowbox[album-627];player=img;' title='robot_flying'><img width="150" height="150" src="http://images.ryebrye.com.s3.amazonaws.com/2008/11/robot_flying-150x150.png" class="attachment-thumbnail" alt="robot_flying" title="robot_flying" /></a>
<a href='http://www.ryebrye.com/blog/wp-content/uploads/2008/11/robot_3.png' rel='shadowbox[album-627];player=img;' title='robot_3'><img width="150" height="150" src="http://images.ryebrye.com.s3.amazonaws.com/2008/11/robot_3-150x150.png" class="attachment-thumbnail" alt="robot_3" title="robot_3" /></a>
<a href='http://www.ryebrye.com/blog/wp-content/uploads/2008/11/robot.png' rel='shadowbox[album-627];player=img;' title='robot'><img width="150" height="150" src="http://images.ryebrye.com.s3.amazonaws.com/2008/11/robot-150x150.png" class="attachment-thumbnail" alt="robot" title="robot" /></a>
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryebrye.com/blog/2008/11/18/neocore-g1-opengl-showcase-posted/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

