<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>..the cat came back..</title>
	
	<link>http://blog.automated.it</link>
	<description>i does tech i does.</description>
	<lastBuildDate>Tue, 17 Jan 2012 18:25:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/theCatCameBack" /><feedburner:info uri="thecatcameback" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Kiosk Browser Grows Up, Goes Pro</title>
		<link>http://feedproxy.google.com/~r/theCatCameBack/~3/jK8ZL8niBGw/</link>
		<comments>http://blog.automated.it/2011/11/08/kiosk-browser-grows-up-goes-pro/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 10:50:43 +0000</pubDate>
		<dc:creator>ScaredyCat / Andy Powell</dc:creator>
				<category><![CDATA[kiosk]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[android]]></category>

		<guid isPermaLink="false">http://blog.automated.it/?p=242</guid>
		<description><![CDATA[Over the last few days I&#8217;ve worked on a new release of Kiosk Browser what I&#8217;m calling the SE (Special Edition) for now. I am undecided as to how I&#8217;ll distribute and license this and at what cost. I know that some of you are using Android tablets that do not have the Google Market [...]]]></description>
			<content:encoded><![CDATA[<p><img src=/images/ic_launcher.png><br />
Over the last few days I&#8217;ve worked on a new release of Kiosk Browser what I&#8217;m calling the SE (Special Edition) for now. I am undecided as to how I&#8217;ll distribute and license this and at what cost. I know that some of you are using <a href="http://www.android.com/" target='blank'>Android</a> tablets that do not have the <a href="http://www.google.com" target='blank'>Google</a> Market on them. It may be that distribution is just an apk download from my server. I&#8217;m not sure many of you would appreciate entering licenses for each kiosk tied to a specific device, so I favour the one off fee, install however many times you want approach. I&#8217;ve put a poll at the end of this post, you can vote for the one you like the most or provide alternatives in the comments.</p>
<p>Kiosk Browser SE includes some extra, more advanced features such as</p>
<p><strong>Home Screen</strong></p>
<p>You can make Kiosk Browser SE the device home screen so that when pressing the home screen, or back button the user ends up in Kiosk Browser and not the &#8216;desktop&#8217;. When the device is booted Kiosk Browser SE will automatically start.</p>
<p><strong>Orientation Lock</strong></p>
<p>Kiosk Browser SE can lock the screen in landscape or portrait mode.</p>
<p><strong>Wake Lock</strong></p>
<p>If you don&#8217;t want your kiosk to sleep you can force it to stay awake. </p>
<p>Options are,</p>
<p><em><strong>off</strong></em>: The device will sleep as normal. This may result in loss of network connectivity and the lock screen may appear. </p>
<p><em><strong>dim</strong></em>: Wake lock that ensures that the screen is on (but may be dimmed); the keyboard backlight will be allowed to go off.</p>
<p><em><strong>full</strong></em>: Wake lock that ensures that the screen and keyboard are on at full brightness.* </p>
<p>*be aware of screen burn in and panel lifetime.</p>
<p><strong>Idle Timeout</strong></p>
<p>If there&#8217;s no input from the user you can jump back to the start url after a number of minutes you specify.</p>
<p><strong>Capture Images</strong></p>
<p>You can automatically capture images from the front camera and/or the screen when the user interacts with Kiosk Browser SE. You can have either image captured or both. If you have both each image filename is stamped with the same time. You can tag your kiosk files with a specific identity to help keep files unique. Useful if multiple kiosks are uploading to the same space. </p>
<p><strong>Upload Images</strong></p>
<p>Captured images can be FTP&#8217;d to a server, once complete they are removed from local storage to free up space. The target FTP path can also be specified.</p>
<p><strong>Remote Load</strong></p>
<p>Sometimes it may be useful to load a new configuration from a remote server. On boot Kiosk Browser SE will check for a local configuration file and then optionally a remote one. The local configuration file can be automatically deleted once loaded so can be used for initial provisioning. Settings are saved internally so after configuration updates the kiosk can operate without the presence of the configuration file on the remote server.</p>
<p><strong>XML Configuration</strong></p>
<p>Configuration is via XML, there is no preferences screen.</p>
<p>I&#8217;ll update this post with the status of Kiosk Browser SE as development progresses. I&#8217;ve set myself a target date for release, so far that&#8217;s looking good. Of course there&#8217;s still the documentation to do as well.</p>
<p>you can look to the <a href="http://kiosk.automated.it" target="_blank">Kiosk Browser SE</a> pages for more detail on the Pro version</p>
<p>If you&#8217;re twitter minded you can follow Kiosk Browser for updates and news <a href="https://twitter.com/KioskBrowser" class="twitter-follow-button" data-show-count="false">Follow @KioskBrowser</a><br />
<script src="//platform.twitter.com/widgets.js" type="text/javascript"></script></p>
Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.

<br><a href=http://blog.automated.it/2011/11/08/kiosk-browser-grows-up-goes-pro/><p><img style='float:right;margin-left:15px;margin-bottom:10px;' src='http://blog.automated.it/images/tccb.png' border='0'></a></p><br>

<br><span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.automated.it%2F2011%2F11%2F08%2Fkiosk-browser-grows-up-goes-pro%2F&amp;title=Kiosk+Browser+Grows+Up%2C+Goes+Pro" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.automated.it%2F2011%2F11%2F08%2Fkiosk-browser-grows-up-goes-pro%2F&amp;title=Kiosk+Browser+Grows+Up%2C+Goes+Pro" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2011%2F11%2F08%2Fkiosk-browser-grows-up-goes-pro%2F&amp;title=Kiosk+Browser+Grows+Up%2C+Goes+Pro" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fblog.automated.it%2F2011%2F11%2F08%2Fkiosk-browser-grows-up-goes-pro%2F&amp;title=Kiosk+Browser+Grows+Up%2C+Goes+Pro" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fblog.automated.it%2F2011%2F11%2F08%2Fkiosk-browser-grows-up-goes-pro%2F&amp;title=Kiosk+Browser+Grows+Up%2C+Goes+Pro', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://del.icio.us/favicon.ico" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.automated.it%2F2011%2F11%2F08%2Fkiosk-browser-grows-up-goes-pro%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fblog.automated.it%2F2011%2F11%2F08%2Fkiosk-browser-grows-up-goes-pro%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.automated.it%2F2011%2F11%2F08%2Fkiosk-browser-grows-up-goes-pro%2F&amp;title=Kiosk+Browser+Grows+Up%2C+Goes+Pro" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2011%2F11%2F08%2Fkiosk-browser-grows-up-goes-pro%2F&amp;title=Kiosk+Browser+Grows+Up%2C+Goes+Pro" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
<a href="http://twitter.com/home?status=Currently reading http%3A%2F%2Fblog.automated.it%2F2011%2F11%2F08%2Fkiosk-browser-grows-up-goes-pro%2F" title="Click to send this page to Twitter!" target="_blank"><img src="http://www.twitter.com/favicon.ico" width="16" height="16" alt="[Twitter]" /></a>
</span><br><br>
<p><a href="http://feedads.g.doubleclick.net/~a/sgSnzWu7llGdhb2N58toW2DMDnc/0/da"><img src="http://feedads.g.doubleclick.net/~a/sgSnzWu7llGdhb2N58toW2DMDnc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/sgSnzWu7llGdhb2N58toW2DMDnc/1/da"><img src="http://feedads.g.doubleclick.net/~a/sgSnzWu7llGdhb2N58toW2DMDnc/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/theCatCameBack/~4/jK8ZL8niBGw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.automated.it/2011/11/08/kiosk-browser-grows-up-goes-pro/feed/</wfw:commentRss>
		<slash:comments>29</slash:comments>
		<feedburner:origLink>http://blog.automated.it/2011/11/08/kiosk-browser-grows-up-goes-pro/</feedburner:origLink></item>
		<item>
		<title>Android App: Simple Kiosk Browser</title>
		<link>http://feedproxy.google.com/~r/theCatCameBack/~3/WCFRBOD-uc0/</link>
		<comments>http://blog.automated.it/2011/07/09/android-app-simple-kiosk-browser/#comments</comments>
		<pubDate>Sat, 09 Jul 2011 14:14:06 +0000</pubDate>
		<dc:creator>ScaredyCat / Andy Powell</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[kiosk]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://blog.automated.it/?p=239</guid>
		<description><![CDATA[Kiosk Browser, is as its name suggests, a browser that acts like a kiosk. You can limit the browser to a specific site or allow external sites to be loaded, optionally in the default standard browser. The browser has some additional features allowing the sending of Toast messages to the user from javascript, showing and [...]]]></description>
			<content:encoded><![CDATA[<p>Kiosk Browser, is as its name suggests, a browser that acts like a kiosk.</p>
<p><img src=/images/qr-kiosk.jpg></p>
<p>You can limit the browser to a specific site or allow external sites to be loaded, optionally in the default standard browser. The browser has some additional features allowing the sending of Toast messages to the user from javascript, showing and hiding the title bar and launching applications on the device.  </p>
<p>These special functions available from Javascript are demonstrated by the code below:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&nbsp;
&lt;input type=&quot;button&quot; value=&quot;Show Preferences screen&quot; onClick=&quot;Kiosk.showPreferences(); return false;&quot; /&gt;
&lt;input type=&quot;button&quot; value=&quot;Show Platform Settings&quot; onClick=&quot;Kiosk.platformSettings(); return false;&quot; /&gt;
&nbsp;
&lt;input type=&quot;button&quot; value=&quot;Clear cache, form data, history&quot; onClick=&quot;Kiosk.clearCaches(); return false;&quot; /&gt;
&nbsp;
&lt;input type=&quot;text&quot; size=30 name=something&gt;
&lt;br&gt;
&lt;input type=&quot;button&quot; value=&quot;Back&quot; onClick=&quot;Kiosk.goBack(); return false;&quot; /&gt;
&lt;input type=&quot;button&quot; value=&quot;Forward&quot; onClick=&quot;Kiosk.goForward(); return false;&quot; /&gt;
&lt;input type=&quot;button&quot; value=&quot;Reload&quot; onClick=&quot;Kiosk.reload(); return false;&quot; /&gt;
&lt;input type=&quot;button&quot; value=&quot;Stop&quot; onClick=&quot;Kiosk.stop(); return false;&quot; /&gt;
&nbsp;
&nbsp;
&lt;input type=&quot;button&quot; value=&quot;Disable Menus&quot; onClick=&quot;Kiosk.disableMenus(); return false;&quot; /&gt;
&lt;input type=&quot;button&quot; value=&quot;Enable Menus&quot; onClick=&quot;Kiosk.enableMenus(); return false;&quot; /&gt;
&lt;input type=&quot;button&quot; value=&quot;Disable Scaling&quot; onClick=&quot;Kiosk.disableScaling(); return false;&quot; /&gt;
&lt;input type=&quot;button&quot; value=&quot;Enable Scaling&quot; onClick=&quot;Kiosk.enableScaling(); return false;&quot; /&gt;
&nbsp;
&nbsp;
&nbsp;
&lt;input type=&quot;submit&quot; value=&quot;Android app interface&quot; onClick=&quot;Kiosk.showToast('Hello Android!'); return false;&quot; &gt;
&nbsp;
&lt;input type=&quot;button&quot; value=&quot;Fullscreen&quot; onClick=&quot;Kiosk.hideTitlebar(); return false;&quot; &gt;
&lt;input type=&quot;button&quot; value=&quot;With title&quot; onClick=&quot;Kiosk.showTitlebar(); return false;&quot; &gt;
&lt;input type=&quot;button&quot; value=&quot;Restart&quot; onClick=&quot;Kiosk.endApp(); return false;&quot; &gt;
&lt;input type=&quot;button&quot; value=&quot;Launch&quot; onClick=&quot;Kiosk.launch('fm.last.android','fm.last.android.LastFm'); return false;&quot; &gt;
&lt;input type=&quot;button&quot; value=&quot;Launch 2&quot; onClick=&quot;Kiosk.launch('fm.last.android-1','fm.last.android-1.activity.Profile_RadioTab'); return false;&quot; &gt;
&nbsp;
&nbsp;
&lt;a href=http://www.google.co.uk&gt;External&lt;/a&gt;</pre></div></div>

<p><strong>UPDATE: 04-November-2011</strong>: Added more javascript interfaces and preferences&#8230; (sorry about the 2 updates in one go) Second update allows for zoom to be set from 1 to 200</p>
<p><strong>UPDATE: 29-October-2011</strong>: Rearranged some of the options to make preferences a little less messy. </p>
<p>Added an optional &#8220;Page Loading&#8221; message, this blocks screen access until the page has completely loaded so be aware that it may just sit there forever if your network drops out. The good news is the addition of the labs section may help here.</p>
<p>Also added a &#8216;Labs&#8217; preference section where experimental stuff can go. Currently there&#8217;s one active preference in there called <strong>&#8220;Network Connect&#8221;</strong>. What this does is run the kiosk application when the network goes up or down. What this means is that you can have the kiosk automatically run when the device boots (and gets unlocked). Feedback on how useful it is would be useful <img src='http://blog.automated.it/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Seems I&#8217;ve managed to mess up the comments section :/ </p>
<p><strong>Some simple documentation is available <a href="http://lin.cx/kioskdoc">here</a></strong></p>
<p><strong>There&#8217;s also some information on the <a href='http://blog.automated.it/2011/11/08/kiosk-browser-grows-up-goes-pro/'>next iteration</a> of Kiosk Browser</strong></p>

<br><a href=http://blog.automated.it/2011/07/09/android-app-simple-kiosk-browser/><p><img style='float:right;margin-left:15px;margin-bottom:10px;' src='http://blog.automated.it/images/tccb.png' border='0'></a></p><br>

<br><span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.automated.it%2F2011%2F07%2F09%2Fandroid-app-simple-kiosk-browser%2F&amp;title=Android+App%3A+Simple+Kiosk+Browser" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.automated.it%2F2011%2F07%2F09%2Fandroid-app-simple-kiosk-browser%2F&amp;title=Android+App%3A+Simple+Kiosk+Browser" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2011%2F07%2F09%2Fandroid-app-simple-kiosk-browser%2F&amp;title=Android+App%3A+Simple+Kiosk+Browser" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fblog.automated.it%2F2011%2F07%2F09%2Fandroid-app-simple-kiosk-browser%2F&amp;title=Android+App%3A+Simple+Kiosk+Browser" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fblog.automated.it%2F2011%2F07%2F09%2Fandroid-app-simple-kiosk-browser%2F&amp;title=Android+App%3A+Simple+Kiosk+Browser', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://del.icio.us/favicon.ico" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.automated.it%2F2011%2F07%2F09%2Fandroid-app-simple-kiosk-browser%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fblog.automated.it%2F2011%2F07%2F09%2Fandroid-app-simple-kiosk-browser%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.automated.it%2F2011%2F07%2F09%2Fandroid-app-simple-kiosk-browser%2F&amp;title=Android+App%3A+Simple+Kiosk+Browser" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2011%2F07%2F09%2Fandroid-app-simple-kiosk-browser%2F&amp;title=Android+App%3A+Simple+Kiosk+Browser" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
<a href="http://twitter.com/home?status=Currently reading http%3A%2F%2Fblog.automated.it%2F2011%2F07%2F09%2Fandroid-app-simple-kiosk-browser%2F" title="Click to send this page to Twitter!" target="_blank"><img src="http://www.twitter.com/favicon.ico" width="16" height="16" alt="[Twitter]" /></a>
</span><br><br>
<p><a href="http://feedads.g.doubleclick.net/~a/L06tu33jz-NodEPYYDhqzcRvXs8/0/da"><img src="http://feedads.g.doubleclick.net/~a/L06tu33jz-NodEPYYDhqzcRvXs8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/L06tu33jz-NodEPYYDhqzcRvXs8/1/da"><img src="http://feedads.g.doubleclick.net/~a/L06tu33jz-NodEPYYDhqzcRvXs8/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/theCatCameBack/~4/WCFRBOD-uc0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.automated.it/2011/07/09/android-app-simple-kiosk-browser/feed/</wfw:commentRss>
		<slash:comments>36</slash:comments>
		<feedburner:origLink>http://blog.automated.it/2011/07/09/android-app-simple-kiosk-browser/</feedburner:origLink></item>
		<item>
		<title>Widget, it’s got a widget…</title>
		<link>http://feedproxy.google.com/~r/theCatCameBack/~3/mRVB19n_Dzw/</link>
		<comments>http://blog.automated.it/2011/05/20/widget-its-got-a-widget/#comments</comments>
		<pubDate>Fri, 20 May 2011 20:10:33 +0000</pubDate>
		<dc:creator>ScaredyCat / Andy Powell</dc:creator>
				<category><![CDATA[1-Wire]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[currentcost]]></category>

		<guid isPermaLink="false">http://blog.automated.it/?p=233</guid>
		<description><![CDATA[John Smiths have a lot to answer for there I can tell you. It&#8217;s been a busy few weeks at work while we launch our revamped online shop and how did I go about relaxing? I did more development work at home. Since we&#8217;ve moved into our house I haven&#8217;t really had a lot of [...]]]></description>
			<content:encoded><![CDATA[<p> John Smiths have a lot to <a href="http://www.youtube.com/watch?v=e1I2eyPIB4w" target=_new>answer</a> for there I can tell you.</p>
<p> It&#8217;s been a busy few weeks at <a href="http://linitx.com" target=_new>work</a> while <img src="http://blog.automated.it/images/gallery/widget/med_widget_selection.png" alt="Selection of widgets" />we launch our revamped online shop and how did I go about relaxing? I did more development work at home. Since we&#8217;ve moved into our house I haven&#8217;t really had a lot of time to do much development, more tiling grouting and renovating than anything else. This last week though, as we started to get on top of things, I took some time to put together a widget for <a href="http://www.android.com/" target='blank'>Android</a>. I&#8217;ve been <a href="http://blog.automated.it/2011/01/18/linkusbi-and-1-wire-setup/">collecting</a>, <a href="http://blog.automated.it/2009/02/13/current-cost-capers/">storing</a> and graphing <a href="http://blog.automated.it/2010/10/20/i-am-an-iams-cat/">data</a> from various sensors around the house for some time now and while the graphs are pretty they aren&#8217;t really a quick or efficient way of reading the status at a glance.</p>
<p>Step forward the widget. Each widget requests XML data from the server and presents it on the widget, this allows an infinite number of widget variations since the only change is the data received. In other words, if it&#8217;s in the database it can be served.  The widget itself has a number of coloured backgrounds which the server data can trigger if and it&#8217;s also capable of playing an alarm sound if required. I still need to fix this because the alarm sound triggers on each update and there&#8217;s currently no way to tell the widget to be quiet. </p>
<p><strong>Update:</strong> Fixed this, tapping the widget will silence it until the next alarm trigger ie once the state returns to normal and then alarms once again.</p>
<p>Incidentally, since I only have a self signed certificate on my server but still wanted encrypted access I had to extend the <a href="http://developer.android.com/reference/org/apache/http/impl/client/DefaultHttpClient.html" target=_new>DefaultHttpClient</a>. By default <a href="http://www.android.com/" target='blank'>Android</a> will just refuse to connect to a server if the certificate isn&#8217;t signed by one of the &#8216;trusted&#8217; certificate authorities &#8211; it wont tell you that it refused, it&#8217;ll just silently fail. You&#8217;d only ever really know if you&#8217;d connected to your device via adb and done a logcat. You can get round this by adding a keystore to your application, which is good enough for testing or personal applications. </p>
<p>If you want to do this you need to make sure you have the <a href="http://www.bouncycastle.org/download/bcprov-jdk16-146.jar">Bouncy Castle cryptography jar</a> in your CLASSPATH. The first thing you&#8217;ll need is a copy of the certificate which I hope you&#8217;ve generated and installed on your server. If you need to get a remote server certificate you can use the following command (all one line).</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #000000; font-weight: bold;">|</span> openssl s_client <span style="color: #660033;">-connect</span> your.server.goes.here:<span style="color: #000000;">443</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">|</span>  
<span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-ne</span> <span style="color: #ff0000;">'/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'</span> <span style="color: #000000; font-weight: bold;">&gt;</span> mycert.pem</pre></div></div>

<p>Replace the &#8220;<strong>your.server.goes.here</strong>&#8221; with your server, obviously.  Once you&#8217;ve done that export the CLASSPATH to the Bouncy Castle jar you downloaded replacing the path I&#8217;ve used with the location you downloaded it to:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">CLASSPATH</span>=bcprov-jdk16-<span style="color: #000000;">146</span>.jar</pre></div></div>

<p>You can now use the following script, note that the keystore name is <strong>appkeystore.bks</strong> as on line 3</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
&nbsp;
<span style="color: #007800;">CERTSTORE</span>=appkeystore.bks
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-a</span> <span style="color: #007800;">$CERTSTORE</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
    <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #007800;">$CERTSTORE</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">1</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
keytool \
      <span style="color: #660033;">-import</span> \
      <span style="color: #660033;">-v</span> \
      <span style="color: #660033;">-trustcacerts</span> \
      <span style="color: #660033;">-alias</span> <span style="color: #000000;">0</span> \
      <span style="color: #660033;">-file</span> <span style="color: #000000; font-weight: bold;">&lt;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>openssl x509 <span style="color: #660033;">-in</span> mycert.pem<span style="color: #7a0874; font-weight: bold;">&#41;</span> \
      <span style="color: #660033;">-keystore</span> <span style="color: #007800;">$CERTSTORE</span> \
      <span style="color: #660033;">-storetype</span> BKS \
      <span style="color: #660033;">-provider</span> org.bouncycastle.jce.provider.BouncyCastleProvider \
      <span style="color: #660033;">-providerpath</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>java<span style="color: #000000; font-weight: bold;">/</span>bcprov.jar \
      <span style="color: #660033;">-storepass</span> MyPaSsWoRd</pre></td></tr></table></div>

<p>Replacing the <strong>MyPaSsWoRd</strong> on line 19 with a password of your choosing, you&#8217;ll need it later too. If you run the script you should get some output like this, obviously with your server information &#8211; remember to answer <strong>yes</strong> to the &#8220;<em>Trust this certificate</em>&#8221; prompt.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">&nbsp;
Owner: EMAILADDRESS=info@ automated.it, CN=www.automated.it, OU=Tech, O=Automated IT, L=Eye, ST=Suffolk, C=GB
Issuer: EMAILADDRESS=info@ automated.it, CN=www.automated.it, OU=Tech, O=Automated IT, L=Eye, ST=Suffolk, C=GB
Serial number: 4dce9c74
Valid from: Sat May 14 16:15:00 BST 2011 until: Sun May 13 16:15:00 BST 2012
Certificate fingerprints:
	 MD5:  32:0F:33:0C:42:8D:FF:78:90:46:31:7A:4F:D3:33:23
	 SHA1: BD:A8:B8:21:B1:48:C3:53:BB:01:22:65:9E:00:6E:14:7B:DE:4E:F6
	 Signature algorithm name: SHA1withRSA
	 Version: 1
Trust this certificate? [no]:yes
Certificate was added to keystore
[Storing appkeystore.bks]</pre></div></div>

<p>Create a directory called &#8220;<strong>raw</strong>&#8221; in your project&#8217;s &#8216;<strong>res</strong>&#8216; folder and copy the <em>appkeystore.bks</em> file to it. </p>
<p>In your <a href="http://www.android.com/" target='blank'>Android</a> application or widget you can now create a new class for the following code which will extend the original <a href="http://developer.android.com/reference/org/apache/http/impl/client/DefaultHttpClient.html" target=_new>DefaultHttpClient</a> class. You&#8217;ll want to change the package name on line 1 to match your application.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">your.package.name.here</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.content.Context</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.apache.http.conn.ClientConnectionManager</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.apache.http.conn.scheme.PlainSocketFactory</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.apache.http.conn.scheme.Scheme</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.apache.http.conn.scheme.SchemeRegistry</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.apache.http.conn.ssl.SSLSocketFactory</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.apache.http.impl.client.DefaultHttpClient</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.apache.http.impl.conn.SingleClientConnManager</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.InputStream</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.security.KeyStore</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> myHttpClient <span style="color: #000000; font-weight: bold;">extends</span> DefaultHttpClient <span style="color: #009900;">&#123;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #003399;">Context</span> context<span style="color: #339933;">;</span>
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> UserAgent<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;Android dataWidget (ScaredyCat 0014150511-0.1b) [http://blog.automated.it]&quot;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> myHttpClient<span style="color: #009900;">&#40;</span><span style="color: #003399;">Context</span> context<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">context</span> <span style="color: #339933;">=</span> context<span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  @Override <span style="color: #000000; font-weight: bold;">protected</span> ClientConnectionManager createClientConnectionManager<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    SchemeRegistry registry <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> SchemeRegistry<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    registry.<span style="color: #006633;">register</span><span style="color: #009900;">&#40;</span>
        <span style="color: #000000; font-weight: bold;">new</span> Scheme<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;http&quot;</span>, PlainSocketFactory.<span style="color: #006633;">getSocketFactory</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>, <span style="color: #cc66cc;">80</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    registry.<span style="color: #006633;">register</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Scheme<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;https&quot;</span>, newSslSocketFactory<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>, <span style="color: #cc66cc;">443</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">new</span> SingleClientConnManager<span style="color: #009900;">&#40;</span>getParams<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>, registry<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">private</span> SSLSocketFactory newSslSocketFactory<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #003399;">KeyStore</span> trusted <span style="color: #339933;">=</span> <span style="color: #003399;">KeyStore</span>.<span style="color: #006633;">getInstance</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;BKS&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #003399;">InputStream</span> in <span style="color: #339933;">=</span> context.<span style="color: #006633;">getResources</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">openRawResource</span><span style="color: #009900;">&#40;</span>R.<span style="color: #006633;">raw</span>.<span style="color: #006633;">appkeystore</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
        trusted.<span style="color: #006633;">load</span><span style="color: #009900;">&#40;</span>in, <span style="color: #0000ff;">&quot;MyPaSsWoRd&quot;</span>.<span style="color: #006633;">toCharArray</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">finally</span> <span style="color: #009900;">&#123;</span>
        in.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
      <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">new</span> SSLSocketFactory<span style="color: #009900;">&#40;</span>trusted<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> AssertionError<span style="color: #009900;">&#40;</span>e<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Note that the password used in the script earlier should match the one on <strong>line 37</strong>- use your own different password in production for security purposes. You can now use the class as required in your application, for example:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="java" style="font-family:monospace;">&nbsp;
myHttpClient httpclient <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> myHttpClient<span style="color: #009900;">&#40;</span>context<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
httpclient.<span style="color: #006633;">getCredentialsProvider</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">setCredentials</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> AuthScope<span style="color: #009900;">&#40;</span>host, port<span style="color: #009900;">&#41;</span>, <span style="color: #000000; font-weight: bold;">new</span> UsernamePasswordCredentials<span style="color: #009900;">&#40;</span>username,password<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
BasicHttpContext localcontext <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> BasicHttpContext<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
BasicScheme basicAuth <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> BasicScheme<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
localcontext.<span style="color: #006633;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;preemptive-auth&quot;</span>, basicAuth<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
httpclient.<span style="color: #006633;">addRequestInterceptor</span><span style="color: #009900;">&#40;</span>preemptiveAuth, <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
HttpHost targetHost <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> HttpHost<span style="color: #009900;">&#40;</span>host, port, scheme<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
HttpGet httpget <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> HttpGet<span style="color: #009900;">&#40;</span>url<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
httpget.<span style="color: #006633;">setHeader</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;User-Agent&quot;</span>, httpclient.<span style="color: #006633;">UserAgent</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Once I&#8217;d got the SSL connection I could get the application to download a list of sensors from the database, this only happens the first time the first widget is added to the home screen. I need to sort a way of allowing the user to delete the list if more sensors are added. At the moment clearing the data for the widget application works but it erases the widget settings too.</p>
<p>When I&#8217;m at home I want to connect to a local server for the information for the widgets and when I&#8217;m out and about (using a 3G connection) I want to connect to an external server. I implemented the ability to automatically switch when my phone connected to my WiFi access point. One final thing I did was to add the ability to long press on a text field and then select &#8216;<strong>Save as default</strong>&#8216; allowing things like servers, Wifi MAC address, username and password to be saved as the defaults for all widgets. </p>
<p><a title="First run, download sensors" rel="thumbnail" href="http://blog.automated.it/images/gallery/widget/widget_download.png"><img src="http://blog.automated.it/images/gallery/widget/sm_widget_download.png" alt="First run, download sensors" width="40" height="85" /></a><a title="Selection of widgets" rel="thumbnail" href="http://blog.automated.it/images/gallery/widget/widget_selection.png"><img src="http://blog.automated.it/images/gallery/widget/sm_widget_selection.png" alt="Selection of widgets" width="40" height="85" /></a><a title="Widget settings" rel="thumbnail" href="http://blog.automated.it/images/gallery/widget/widget_settings.png"><img src="http://blog.automated.it/images/gallery/widget/sm_widget_settings.png" alt="Widget settings" width="40" height="85" /></a><a title="Save as default" rel="thumbnail" href="http://blog.automated.it/images/gallery/widget/save_default.png"><img src="http://blog.automated.it/images/gallery/widget/sm_save_default.png" alt="Save as default" width="40" height="85" /></a></p>
<p>&nbsp;</p>

<br><a href=http://blog.automated.it/2011/05/20/widget-its-got-a-widget/><p><img style='float:right;margin-left:15px;margin-bottom:10px;' src='http://blog.automated.it/images/tccb.png' border='0'></a></p><br>

<br><span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.automated.it%2F2011%2F05%2F20%2Fwidget-its-got-a-widget%2F&amp;title=Widget%2C+it%E2%80%99s+got+a+widget%E2%80%A6" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.automated.it%2F2011%2F05%2F20%2Fwidget-its-got-a-widget%2F&amp;title=Widget%2C+it%E2%80%99s+got+a+widget%E2%80%A6" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2011%2F05%2F20%2Fwidget-its-got-a-widget%2F&amp;title=Widget%2C+it%E2%80%99s+got+a+widget%E2%80%A6" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fblog.automated.it%2F2011%2F05%2F20%2Fwidget-its-got-a-widget%2F&amp;title=Widget%2C+it%E2%80%99s+got+a+widget%E2%80%A6" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fblog.automated.it%2F2011%2F05%2F20%2Fwidget-its-got-a-widget%2F&amp;title=Widget%2C+it%E2%80%99s+got+a+widget%E2%80%A6', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://del.icio.us/favicon.ico" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.automated.it%2F2011%2F05%2F20%2Fwidget-its-got-a-widget%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fblog.automated.it%2F2011%2F05%2F20%2Fwidget-its-got-a-widget%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.automated.it%2F2011%2F05%2F20%2Fwidget-its-got-a-widget%2F&amp;title=Widget%2C+it%E2%80%99s+got+a+widget%E2%80%A6" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2011%2F05%2F20%2Fwidget-its-got-a-widget%2F&amp;title=Widget%2C+it%E2%80%99s+got+a+widget%E2%80%A6" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
<a href="http://twitter.com/home?status=Currently reading http%3A%2F%2Fblog.automated.it%2F2011%2F05%2F20%2Fwidget-its-got-a-widget%2F" title="Click to send this page to Twitter!" target="_blank"><img src="http://www.twitter.com/favicon.ico" width="16" height="16" alt="[Twitter]" /></a>
</span><br><br>
<p><a href="http://feedads.g.doubleclick.net/~a/YINZKyF8cvAe-iD9h4c_TCikLHc/0/da"><img src="http://feedads.g.doubleclick.net/~a/YINZKyF8cvAe-iD9h4c_TCikLHc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/YINZKyF8cvAe-iD9h4c_TCikLHc/1/da"><img src="http://feedads.g.doubleclick.net/~a/YINZKyF8cvAe-iD9h4c_TCikLHc/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/theCatCameBack/~4/mRVB19n_Dzw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.automated.it/2011/05/20/widget-its-got-a-widget/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.automated.it/2011/05/20/widget-its-got-a-widget/</feedburner:origLink></item>
		<item>
		<title>LinkUSB(i) and 1-Wire setup</title>
		<link>http://feedproxy.google.com/~r/theCatCameBack/~3/AE0lw0d6S6g/</link>
		<comments>http://blog.automated.it/2011/01/18/linkusbi-and-1-wire-setup/#comments</comments>
		<pubDate>Tue, 18 Jan 2011 20:47:26 +0000</pubDate>
		<dc:creator>ScaredyCat / Andy Powell</dc:creator>
				<category><![CDATA[1-Wire]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://blog.automated.it/?p=231</guid>
		<description><![CDATA[I&#8217;ve just configured my monitoring machine to use a LinkUSBi 1-Wire interface and it&#8217;s a rather simple process. First of all we&#8217;ll setup One Wire File System, or OWFS for short, then we&#8217;ll add some udev rules and finally plug in a device and get some readings. Since we need to build OWFS we&#8217;re going [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just configured my monitoring machine to use a LinkUSBi 1-Wire interface and it&#8217;s a rather simple process. First of all we&#8217;ll setup <a href="http://sourceforge.net/projects/owfs/" target=_new>One Wire File System</a>, or OWFS <img class="right" title="LinkUSB(i)" alt="LinkUSB(i)" src=/images/linkusb.jpg>for short, then we&#8217;ll add some udev rules and finally plug in a device and get some readings. Since we need to build OWFS we&#8217;re going to need a new libraries and files installed, I&#8217;m making the assumption that you already have automake, autoconf, autotools-dev, gcc, g++ installed so you can go ahead and install the libraries we need.</p>
<p><code>apt-get install libtool libusb-dev fuse-utils libfuse-dev swig python2.6-dev tcl8.4-dev php5-dev</p>
<p></code></p>
<p>You don&#8217;t actually have to have Python, Tcl or php5 installed if you don&#8217;t want them they add to the interfaces you can use with OWFS &#8211; unless you specifically don&#8217;t want them you may as well include them. Once the installs above have completed you&#8217;ll need to get a copy of OWFS &#8211; be sure to download the <a href="http://sourceforge.net/projects/owfs/files/owfs/" target=_new>latest version</a> of it. </p>
<p><strong>Update : </strong>I&#8217;ve rolled back to using 2.8p4 since 2.8p5 seems to have some problems with owserver (owfs still works fine).</p>
<p>Once you&#8217;ve downloaded you&#8217;ll see the file is called something like <strong>owfs-2.8p5.tar.gz</strong> &#8211; this file name is made up of owfs-[version of owfs].tar.gz In my case I have version 2.8p5. Your version may differ, don&#8217;t worry about that (unless it&#8217;s older!). Now extract the tarball with</p>
<p><code>tar -zxvf owfs-2.8p5.tar.gz</p>
<p></code></p>
<p>replacing the file name with whichever version you downloaded. This will extract a lot of files and place them in a directory with the same name as the file you downloaded, minus the &#8216;.tar.gz&#8217;. Move to that directory with</p>
<p><code>cd owfs-2.8p5</p>
<p></code></p>
<p>now we need to run the configure and make scripts. First configure, if this fails make sure you have all the dependencies required.</p>
<p><code>./configure</p>
<p></code></p>
<p>this will spit out reams of text which really only matters if something goes wrong. The last few lines should be something like this</p>
<p><code>Current configuration:</p>
<p>    Deployment location: /opt/owfs</p>
<p>Compile-time options:<br />
                  Caching is enabled<br />
                      USB is enabled<br />
                      I2C is enabled<br />
                   HA7Net is enabled<br />
                       W1 is enabled<br />
           Multithreading is enabled<br />
    Parallel port DS1410E is enabled<br />
        TAI8570 barometer is enabled<br />
             Thermocouple is enabled<br />
         Zeroconf/Bonjour is enabled<br />
             Debug-output is enabled<br />
                Profiling is DISABLED<br />
Tracing memory allocation is DISABLED<br />
1wire bus traffic reports is DISABLED</p>
<p>Module configuration:<br />
                    owlib is enabled<br />
                  owshell is enabled<br />
                     owfs is enabled<br />
                  owhttpd is enabled<br />
                   owftpd is enabled<br />
                 owserver is enabled<br />
                    ownet is enabled<br />
                 ownetlib is enabled<br />
                    owtap is enabled<br />
                    owmon is enabled<br />
                   owcapi is enabled<br />
                     swig is enabled<br />
                   owperl is enabled<br />
                    owphp is enabled<br />
                 owpython is DISABLED<br />
                    owtcl is enabled</p>
<p></code></p>
<p>Now we build OWFS using make</p>
<p><code>make</p>
<p></code></p>
<p>After some churning, spewing output, cpu usage and warning messages (ignore them), which may all take 10 minutes or more depending on your cpu and memory, you should get your prompt back. Finally install owfs &#8211; do this as root.</p>
<p><code>make install</p>
<p></code></p>
<p>Since we need to mount the OWFS somewhere we create a directory </p>
<p><code>mkdir /var/lib/1wire</p>
<p></code></p>
<p>Ok, so now we come to the hardware side of things &#8211; I got my LinkUSBi from <a href="http://www.homechip.com/catalog/product_info.php?cPath=22&#038;products_id=171" target=_new>HomeChip</a> &#8211; the &#8216;i&#8217; variant has it&#8217;s own identity which may or may not be useful to you. If I&#8217;m honest I accidentally picked the &#8216;i&#8217; version and could have easily saved 80 pence and gone for the non-&#8217;i&#8217; version without trouble &#8211; <del datetime="2011-01-19T08:01:41+00:00"><strong>Quick Note,</strong> as I write this <a href="http://twitter.com/quintenu/statuses/27450259412090880" target=_new> Quinten has had some issues</a> that need investigation, he has the non-&#8217;i&#8217; variant &#8211; for now I&#8217;d stick with the &#8216;i&#8217; variant that we know works. I&#8217;ll update once I get more information about the issue</del>. Turns out that version 2.8p4 of OWFS worked with the LinkUSB for Quinten. The LinkUSB or LinkUSBi is the interface to 1-Wire devices, so now&#8217;s the time to plug it in. Be aware that if you have other FTDI devices you might want to set up some udev rules. This is what I have in a file called /etc/udev/rules.d/60-usb-serial.rules</p>
<p><code><br />
# /etc/udev/rules.d/60-usb-serial.rules<br />
# Determine XBEE, Current Cost and 1wire USB ports</p>
<p>KERNEL=="ttyUSB*", \<br />
    ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A600eD0C", \<br />
    SYMLINK+="1wire"</p>
<p>KERNEL=="ttyUSB*", \<br />
    ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", \<br />
    SYMLINK+="currentcost"</p>
<p>KERNEL=="ttyUSB*", \<br />
    ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", \<br />
    SYMLINK+="xbee"</p>
<p></code></p>
<p>Since I have 3 USB serial devices, a currentcost unit, some Xbee based wireless 1-wire devices I made and the LinkUSBi, two of which are FTDI I need to identify each so use the ATTRS{serial} to uniquely identify the LinkUSBi via its serial number. You can glean the serial number by using </p>
<p><code>lsusb -vv</p>
<p></code></p>
<p>and look at the output for the serial number of device you&#8217;re interested it. Once our LinkUSBi is connected and detected we can mount OWFS with </p>
<p><code>/opt/owfs/bin/owfs -d /dev/1wire -m /var/lib/1wire</p>
<p></code></p>
<p>Note that I use  -d/dev/1wire because my udev rules create a symlink. If you don&#8217;t create the symlink then your device will be something like /dev/ttyUSBx &#8211; where x = a number. Now we can look at any attached devices with</p>
<p><code># ls /var/lib/1wire/<br />
01.BA0E0E140000  28.1842A1020000  alarm  bus.0	settings  simultaneous	statistics  structure  system  uncached</p>
<p></code></p>
<p>The 01.XXXXXX device is the LinkUSBi and the 20.XXXXX device is a DS18S20 temperature sensor. To read the output of the temperature sensor we simply do</p>
<p><code>cat /var/lib/1wire/28.1842A1020000/temperature<br />
16.0625</p>
<p></code></p>
<p>As you can see the temperature is a rather chilly 16.0625 degrees Celsius. <a href="http://hotzone.org.uk/" target=_new>Stuart Poulton</a> has some <a href="http://www.automatedhome.co.uk/vbulletin/showthread.php?t=2925" target=_new>1-Wire kits available</a> to buy for creating some domestic environment friendly temperature sensors and <a href="http://awooga.nl/gallery/modding/1wire" target=_new>Quinten</a> has some good pictures of them. Kevin has also got some <a href="http://www.flickr.com/photos/netcompsys/sets/72157625107835031/" target=_new>newer pictures</a> up &#8211; thanks for the headsup Kevin.</p>

<br><a href=http://blog.automated.it/2011/01/18/linkusbi-and-1-wire-setup/><p><img style='float:right;margin-left:15px;margin-bottom:10px;' src='http://blog.automated.it/images/tccb.png' border='0'></a></p><br>

<br><span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.automated.it%2F2011%2F01%2F18%2Flinkusbi-and-1-wire-setup%2F&amp;title=LinkUSB%28i%29+and+1-Wire+setup" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.automated.it%2F2011%2F01%2F18%2Flinkusbi-and-1-wire-setup%2F&amp;title=LinkUSB%28i%29+and+1-Wire+setup" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2011%2F01%2F18%2Flinkusbi-and-1-wire-setup%2F&amp;title=LinkUSB%28i%29+and+1-Wire+setup" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fblog.automated.it%2F2011%2F01%2F18%2Flinkusbi-and-1-wire-setup%2F&amp;title=LinkUSB%28i%29+and+1-Wire+setup" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fblog.automated.it%2F2011%2F01%2F18%2Flinkusbi-and-1-wire-setup%2F&amp;title=LinkUSB%28i%29+and+1-Wire+setup', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://del.icio.us/favicon.ico" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.automated.it%2F2011%2F01%2F18%2Flinkusbi-and-1-wire-setup%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fblog.automated.it%2F2011%2F01%2F18%2Flinkusbi-and-1-wire-setup%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.automated.it%2F2011%2F01%2F18%2Flinkusbi-and-1-wire-setup%2F&amp;title=LinkUSB%28i%29+and+1-Wire+setup" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2011%2F01%2F18%2Flinkusbi-and-1-wire-setup%2F&amp;title=LinkUSB%28i%29+and+1-Wire+setup" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
<a href="http://twitter.com/home?status=Currently reading http%3A%2F%2Fblog.automated.it%2F2011%2F01%2F18%2Flinkusbi-and-1-wire-setup%2F" title="Click to send this page to Twitter!" target="_blank"><img src="http://www.twitter.com/favicon.ico" width="16" height="16" alt="[Twitter]" /></a>
</span><br><br>
<p><a href="http://feedads.g.doubleclick.net/~a/Yu_UKxn4MpD2V7OARaZmt04sIUU/0/da"><img src="http://feedads.g.doubleclick.net/~a/Yu_UKxn4MpD2V7OARaZmt04sIUU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Yu_UKxn4MpD2V7OARaZmt04sIUU/1/da"><img src="http://feedads.g.doubleclick.net/~a/Yu_UKxn4MpD2V7OARaZmt04sIUU/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/theCatCameBack/~4/AE0lw0d6S6g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.automated.it/2011/01/18/linkusbi-and-1-wire-setup/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.automated.it/2011/01/18/linkusbi-and-1-wire-setup/</feedburner:origLink></item>
		<item>
		<title>I am an IAMS cat</title>
		<link>http://feedproxy.google.com/~r/theCatCameBack/~3/JGhOPOOVoWc/</link>
		<comments>http://blog.automated.it/2010/10/20/i-am-an-iams-cat/#comments</comments>
		<pubDate>Wed, 20 Oct 2010 12:13:24 +0000</pubDate>
		<dc:creator>ScaredyCat / Andy Powell</dc:creator>
				<category><![CDATA[opensource]]></category>
		<category><![CDATA[currentcost]]></category>
		<category><![CDATA[electricity]]></category>
		<category><![CDATA[iams]]></category>

		<guid isPermaLink="false">http://blog.automated.it/?p=229</guid>
		<description><![CDATA[After an eternity of waiting Current Cost have finally made their IAMS available to buy. One might have expected a fanfare, we&#8217;ve been waiting for these for over a year now, but there was nothing, no blog post, no tweet, nada. Thankfully Kevin Turner (@netcompsys) spotted them for sale. For those not familiar with the [...]]]></description>
			<content:encoded><![CDATA[<p>After an eternity of waiting<a href="http://currentcost.co.uk"> Current Cost</a> have finally made their <a href="http://amzn.to/c6SGkm">IAMS</a> available to <a href="http://amzn.to/c6SGkm">buy</a>. One might have expected a fanfare, we&#8217;ve been waiting for these for over a year now, but there was nothing, no blog post, no tweet, nada. Thankfully <a href=http://www.netcompsys.co.uk/ target=_netcompsys>Kevin Turner</a> <a href=http://www.twitter.com/netcompsys target=netcompsys>(@netcompsys)</a> spotted them for sale. For those not familiar with the IAMS (Individual Appliance Monitors) when used in conjunction with a <a href="http://amzn.to/dnsLEA">Current Cost monitor</a> (compatible with Trec, Envi, EnviR ,EnviRW) an IAM allows you to measure the electricity usage for an appliance. Multiple IAMS can be used with a single monitor to give you an overview of your total usage.<br />
<img src=/images/gallery/iams/12hsm.png>As you can see from the graphs at the bottom of this post there&#8217;s clearly something not quite right with my fridge-freezer. Every hour for half an hour it uses 400 Watts. Lets do a couple of calculations and find out what this really means in electricity usage and how much money I&#8217;m frittering away.</p>
<pre>
        400 / 2 == 200 (Watts per hour) - half 

        24 * 0.2 == 4.8 (kWh)

        4.8 * 365.25 == 1753 (kWh per year)
</pre>
<p>You read that right. It&#8217;s using<strong> 4.8kWh a day</strong>! Most modern fridge freezers use around 300kWh a year, depending on their size, and I&#8217;m using nearly six (6) times that. Let&#8217;s say I&#8217;m paying 12.5 pence per kWh. In one year my current fridge-freezer is costing me £219.13 versus £39.50 if I were to buy a new one &#8211; that&#8217;s <strong>£179.63</strong> difference. If I pick a new fridge-freezer that uses less than 300kWh a year the saving increases. I could almost buy a new fridge freezer each year with the money I&#8217;m wasting!</p>
<p>As you can see, being able to measure what&#8217;s going on by using the IAMS has highlighted that I really need to replace my existing fridge freezer with something much more efficient.</p>
<p>Taking another look at the graph you can see one other area that needs to be looked at. Those computers are eating a lot of electricity. Only this morning did I get round to plugging my laptop into an IAM to measure it&#8217;s power use. 45W .. all day .. every day.. Let&#8217;s just say that it&#8217;s prime for replacement but also that it does now get powered off when it&#8217;s not being used.</p>
<p>So, get <a href="http://amzn.to/c6SGkm">measuring</a> and get saving!</p>
<p><a title="Electricity 3 hours" rel="thumbnail" href="http://blog.automated.it/images/gallery/iams/Electricity_I_-3h.png"><img src="http://blog.automated.it/images/gallery/iams/thumb_Electricity_I_-3h.png" alt="Electricity 3 hour" width="85" height="40" /></a><a title="Electricity 6 hours" rel="thumbnail" href="http://blog.automated.it/images/gallery/iams/Electricity_I_-6h.png"><img src="http://blog.automated.it/images/gallery/iams/thumb_Electricity_I_-6h.png" alt="Electricity 6 hour" width="85" height="40" /></a><a title="Electricity 12 hours" rel="thumbnail" href="http://blog.automated.it/images/gallery/iams/Electricity_I_-12h.png"><img src="http://blog.automated.it/images/gallery/iams/thumb_Electricity_I_-12h.png" alt="Electricity 12 hour" width="85" height="40" /></a><a title="Current Cost IAMS" rel="thumbnail" href="http://blog.automated.it/images/gallery/iams/cciams.jpg"><img src="http://blog.automated.it/images/gallery/iams/thumb_cciams.jpg" alt="Current Cost IAMS" width="85" height="85" /></a></p>
<p></p>

<br><a href=http://blog.automated.it/2010/10/20/i-am-an-iams-cat/><p><img style='float:right;margin-left:15px;margin-bottom:10px;' src='http://blog.automated.it/images/tccb.png' border='0'></a></p><br>

<br><span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.automated.it%2F2010%2F10%2F20%2Fi-am-an-iams-cat%2F&amp;title=I+am+an+IAMS+cat" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.automated.it%2F2010%2F10%2F20%2Fi-am-an-iams-cat%2F&amp;title=I+am+an+IAMS+cat" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2010%2F10%2F20%2Fi-am-an-iams-cat%2F&amp;title=I+am+an+IAMS+cat" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fblog.automated.it%2F2010%2F10%2F20%2Fi-am-an-iams-cat%2F&amp;title=I+am+an+IAMS+cat" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fblog.automated.it%2F2010%2F10%2F20%2Fi-am-an-iams-cat%2F&amp;title=I+am+an+IAMS+cat', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://del.icio.us/favicon.ico" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.automated.it%2F2010%2F10%2F20%2Fi-am-an-iams-cat%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fblog.automated.it%2F2010%2F10%2F20%2Fi-am-an-iams-cat%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.automated.it%2F2010%2F10%2F20%2Fi-am-an-iams-cat%2F&amp;title=I+am+an+IAMS+cat" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2010%2F10%2F20%2Fi-am-an-iams-cat%2F&amp;title=I+am+an+IAMS+cat" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
<a href="http://twitter.com/home?status=Currently reading http%3A%2F%2Fblog.automated.it%2F2010%2F10%2F20%2Fi-am-an-iams-cat%2F" title="Click to send this page to Twitter!" target="_blank"><img src="http://www.twitter.com/favicon.ico" width="16" height="16" alt="[Twitter]" /></a>
</span><br><br>
<p><a href="http://feedads.g.doubleclick.net/~a/yLT0fkwwlPCKlwA435wu_4Q0e1A/0/da"><img src="http://feedads.g.doubleclick.net/~a/yLT0fkwwlPCKlwA435wu_4Q0e1A/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/yLT0fkwwlPCKlwA435wu_4Q0e1A/1/da"><img src="http://feedads.g.doubleclick.net/~a/yLT0fkwwlPCKlwA435wu_4Q0e1A/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/theCatCameBack/~4/JGhOPOOVoWc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.automated.it/2010/10/20/i-am-an-iams-cat/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.automated.it/2010/10/20/i-am-an-iams-cat/</feedburner:origLink></item>
		<item>
		<title>LG TV Serial Control</title>
		<link>http://feedproxy.google.com/~r/theCatCameBack/~3/K1nMSAEKW38/</link>
		<comments>http://blog.automated.it/2010/10/02/lg-tv-serial-control/#comments</comments>
		<pubDate>Sat, 02 Oct 2010 21:12:47 +0000</pubDate>
		<dc:creator>ScaredyCat / Andy Powell</dc:creator>
				<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://blog.automated.it/?p=226</guid>
		<description><![CDATA[Finally, upgraded the TV after living with a 28&#8243; Sony CRT for 14 years. If I&#8217;m honest I didn&#8217;t really spend much time thinking about which TV to pick, I went for the LG32LD350. So far the TV has worked perfectly and has the added bonus of a serial port. LG don&#8217;t hide what this [...]]]></description>
			<content:encoded><![CDATA[<p>Finally, upgraded the TV after living with a 28&#8243; Sony CRT  for 14 years. If I&#8217;m honest I didn&#8217;t really spend much time thinking about which TV to pick, I went for the LG32LD350. So far the TV has worked perfectly and has the added bonus of a serial port. LG don&#8217;t hide what this port is for, in fact the protocol and port settings are in the user manual. This is a real breath of fresh air. Look at Sony with their Control-S / Control-L protocols that they didn&#8217;t really want you to use. So that&#8217;s put LG in my good books and I hope they continue to supply this information. I was also intrigued to get copies of both the GPL and LGPL licences with the documentation. Another project to take a look at.. but later.</p>
<p>Straight away I decided to get working on some serial port control interface. As I said the documentation is there but control needed to be very simple. Luckily I&#8217;d already got a <a href="http://en.wikipedia.org/wiki/SheevaPlug">SheevaPlug</a> for my birthday in February, so I was just a case of connecting this to the TV with a <a href="http://linitx.com/viewproduct.php?prodid=11627">USB to RS232 device</a> and a <a href="http://linitx.com/viewproduct.php?prodid=11971">Null modem</a> adapter or and serial cable. The USB Serial port uses the PL2303 so is detected without issue. The serial port settings are nothing special, standard console settings</p>
<pre>Baud rate : 9600 bps
Data length : 8 bits
Parity : None
Stop bit : 1 bit 
</pre>
<p>I installed apache2 and php on the <a href="http://en.wikipedia.org/wiki/SheevaPlug">SheevaPlug</a> and set about building a test class to control it. It works, although it needs some tidying up. If you want to try it out you can <a href="http://www.automated.it/files/scaredycat_lgtv.tar.gz">download it</a>. It makes use of the PHP serial class, which I&#8217;ve included in the tarball. </p>
<pre>LGTV.php       - Main class
control.php    - Example script
channels.csv   - Channel list
data.csv       - Command list
</pre>
<p>Configuration and setup is simple. After including  the class we create an instance</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'LGTV.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$tv</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> LGTV<span style="color: #339933;">;</span></pre></div></div>

<p>There are a couple of variables that we can set, first of all we set the setId. This should match the id of your TV set, configured from its &#8220;Options&#8221; menu. If you use a value of 0&#215;00 then all TV sets connected would respond to all the commands issued. I guess this could be useful if you had a big wall of screens or were using them as in store displays or something.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$tv</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setId</span><span style="color: #339933;">=</span><span style="color: #990000;">sprintf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #009933; font-weight: bold;">%02x</span>&quot;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>The default serial port is set as /dev/ttyUSB0 but you can change this using the tty variable.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$tv</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tty</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'/dev/ttyS0'</span><span style="color: #339933;">;</span></pre></div></div>

<p>Next we need actually try and connect to the TV. If all is well the result of the serialInit command will be true.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$stat</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$tv</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">serialInit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>You can now send commands and query the TV set. By default the variable confirm is true. This means that after you send a command and that command is executed, the class will also query the TV for its current state of that command. In other words if your TV has a current volume of 10 and you request a volume of 9 the command will execute and then will return the current volume. In this example it should be 9. This allows you to verify that a command has taken place, although it does mean that two commands are sent to the TV, not just one. You can disable this by using</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$tv</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">confirm</span><span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span></pre></div></div>

<p>You should remember to end your script by closing the serial port</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$tv</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">serialExit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Take a look at control.php to see some basic example code. Please note that this is a preliminary release which I&#8217;ll keep updating.</p>

<br><a href=http://blog.automated.it/2010/10/02/lg-tv-serial-control/><p><img style='float:right;margin-left:15px;margin-bottom:10px;' src='http://blog.automated.it/images/tccb.png' border='0'></a></p><br>

<br><span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.automated.it%2F2010%2F10%2F02%2Flg-tv-serial-control%2F&amp;title=LG+TV+Serial+Control" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.automated.it%2F2010%2F10%2F02%2Flg-tv-serial-control%2F&amp;title=LG+TV+Serial+Control" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2010%2F10%2F02%2Flg-tv-serial-control%2F&amp;title=LG+TV+Serial+Control" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fblog.automated.it%2F2010%2F10%2F02%2Flg-tv-serial-control%2F&amp;title=LG+TV+Serial+Control" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fblog.automated.it%2F2010%2F10%2F02%2Flg-tv-serial-control%2F&amp;title=LG+TV+Serial+Control', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://del.icio.us/favicon.ico" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.automated.it%2F2010%2F10%2F02%2Flg-tv-serial-control%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fblog.automated.it%2F2010%2F10%2F02%2Flg-tv-serial-control%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.automated.it%2F2010%2F10%2F02%2Flg-tv-serial-control%2F&amp;title=LG+TV+Serial+Control" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2010%2F10%2F02%2Flg-tv-serial-control%2F&amp;title=LG+TV+Serial+Control" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
<a href="http://twitter.com/home?status=Currently reading http%3A%2F%2Fblog.automated.it%2F2010%2F10%2F02%2Flg-tv-serial-control%2F" title="Click to send this page to Twitter!" target="_blank"><img src="http://www.twitter.com/favicon.ico" width="16" height="16" alt="[Twitter]" /></a>
</span><br><br>
<p><a href="http://feedads.g.doubleclick.net/~a/Rco475xsw7eTJ4QtPp6UnvfGz98/0/da"><img src="http://feedads.g.doubleclick.net/~a/Rco475xsw7eTJ4QtPp6UnvfGz98/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Rco475xsw7eTJ4QtPp6UnvfGz98/1/da"><img src="http://feedads.g.doubleclick.net/~a/Rco475xsw7eTJ4QtPp6UnvfGz98/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/theCatCameBack/~4/K1nMSAEKW38" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.automated.it/2010/10/02/lg-tv-serial-control/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.automated.it/2010/10/02/lg-tv-serial-control/</feedburner:origLink></item>
		<item>
		<title>Tivo Return to UK Via Virgin Media</title>
		<link>http://feedproxy.google.com/~r/theCatCameBack/~3/XDAcgDDkSTQ/</link>
		<comments>http://blog.automated.it/2009/11/25/tivo-return-to-uk-via-virgin-media/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 08:06:08 +0000</pubDate>
		<dc:creator>ScaredyCat / Andy Powell</dc:creator>
				<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://blog.automated.it/?p=220</guid>
		<description><![CDATA[This would be so awesome&#8230;. if I could get Virgin connectivity. This bit saddens me though, unless Virgin start releasing set top boxes for the rest of us. &#8220;Virgin Media will become the exclusive distributor of TiVo services and technology in the United Kingdom. &#8220; The full announcement is here Virgin Media Selects TiVo For [...]]]></description>
			<content:encoded><![CDATA[<p>This would be so awesome&#8230;. if I could get Virgin connectivity. This bit saddens me though, unless Virgin start releasing set top boxes for the rest of us.</p>
<p><b>&#8220;Virgin Media will become the exclusive distributor of TiVo services and technology in the United Kingdom. &#8220;</b></p>
<p>The full announcement is here</p>
<p><code></p>
<p>Virgin Media Selects TiVo For Next Generation TV Platform</p>
<p>PRNewswire<br />
ALVISO, Calif., and LONDON<br />
(NASDAQ-NMS:TIVO)</p>
<p>ALVISO, Calif., and LONDON, Nov. 24 /PRNewswire-FirstCall/ -- TiVo Inc. (NASDAQ: TIVO), a leader in the creation of television services and advertising solutions for digital video recorders (DVRs), and Virgin Media Inc. (NASDAQ: VMED) (LSE: VMED), the UK's leading entertainment and communications company, today announced they have entered into a strategic partnership under which TiVo will develop Virgin Media's next generation TV platform. Under the mutually exclusive agreement, TiVo will develop a converged television and broadband interactive interface to power Virgin Media's next generation, high definition set top boxes. The terms of the deal are not disclosed.</p>
<p>TiVo will become the exclusive provider of middleware and user interface software for Virgin Media's next generation set top boxes. Virgin Media will become the exclusive distributor of TiVo services and technology in the United Kingdom.</p>
<p>Neil Berkett, CEO of Virgin Media said, "TiVo's proven track record of innovation, strength of its patented technology and experience in developing best in class user environments, make it an ideal strategic partner for Virgin Media as we move aggressively to bring our next generation TV service to market. The superiority of our fibre optic network combined with TiVo's capabilities, will allow us to offer consumers the most significantly advanced and compelling TV service available in the UK, and we believe will do to the TV market what Virgin Media has done to the high speed broadband market."</p>
<p>The next generation platform will offer a superior television viewing experience which will allow Virgin Media customers to search and discover content through major advances in video-on-demand integration and broadband video delivery creating the ultimate one-stop-shop for in-home entertainment.</p>
<p>"This deal underscores TiVo's commitment to expanding its global footprint through strategic alliances with leading international media companies to help them deliver the best in-home entertainment experience for consumers," said Tom Rogers, president and CEO of TiVo Inc. "We are very excited about this new distribution relationship with the UK's most advanced pay television provider and are particularly proud to have been selected as Virgin Media's core software partner for its next generation DVR-enabled set top boxes and its next generation non-DVR set top boxes. Virgin Media is a true leader in the world of entertainment and their enthusiasm for building the next generation of pay television is an excellent opportunity to put all of TiVo's innovation to work in a product distributed by a world class partner. We believe this international deal affords us a significant subscriber growth opportunity."</p>
<p>Virgin Media currently anticipates its first TiVo co-branded product in 2010.</p>
<p>About TiVo Inc.</p>
<p>Founded in 1997, TiVo Inc. (NASDAQ: TIVO) developed the first commercially available digital video recorder (DVR). TiVo offers the TiVo service and TiVo DVRs directly to consumers online at www.tivo.com and through third-party retailers. TiVo also distributes its technology and services through solutions tailored for cable, satellite, and broadcasting companies. Since its founding, TiVo has evolved into the ultimate single solution media center by combining its patented DVR technologies and universal cable box capabilities with the ability to aggregate, search, and deliver millions of pieces of broadband, cable, and broadcast content directly to the television. An economical, one-stop-shop for in-home entertainment, TiVo's intuitive functionality and ease of use puts viewers in control by enabling them to effortlessly navigate the best digital entertainment content available through one box, with one remote, and one user interface, delivering the most dynamic user experience on the market today. TiVo also continues to weave itself into the fabric of the media industry by providing interactive advertising solutions and audience research and measurement ratings services to the television industry. www.tivo.com</p>
<p>TiVo, 'TiVo, TV your way.', Season Pass, WishList, TiVoToGo, Stop||Watch, Power||Watch, and the TiVo Logo are trademarks or registered trademarks of TiVo Inc. or its subsidiaries worldwide. © 2009 TiVo Inc. All rights reserved. All other trademarks are the property of their respective owners.</p>
<p>About Virgin Media</p>
<p>With almost 10 million customers, Virgin Media is the UK's first quad-play provider of broadband, TV, phone and mobile.</p>
<p>The company is one of the largest residential broadband providers in the UK, using a unique fibre optic cable network to deliver next generation ultrafast internet access of up to 50Mb to just over half of all homes. Combined with a high speed ADSL service and mobile broadband products, Virgin Media is able to offer broadband internet access to virtually the entire country.</p>
<p>Virgin Media has the UK's most advanced TV on demand service and is the only TV platform to carry BBC iPlayer. It is the second largest provider of pay TV, was the first to launch a high definition TV service and offers a high-specification, HD-ready V+ personal video recorder.</p>
<p>The company operates the most popular virtual mobile network in the UK which, when launched, was the world's first such mobile phone service. It is also one of the largest fixed-line home phone providers in the country.</p>
<p>Virgin Media also owns Virgin Media Television (VMtv) which runs seven entertainment channels, including Virgin1, LIVING, Bravo and Challenge. VMtv is a 50 per cent joint partner with BBC Worldwide in UKTV, which consists of ten channels including Dave, G.O.L.D., Watch and Alibi.</p>
<p>With operations based entirely in the UK, Virgin Media Inc. is listed on the NASDAQ Stock Market (VMED) and the London Stock Exchange (VMED).</p>
<p>For more information, go to www.virginmedia.com</p>
<p>Forward-Looking Statements</p>
<p>This release contains forward-looking statements within the meaning of the Private Securities Litigation Reform Act of 1995. These statements relate to, among other things, the future availability and timing and the expected features and functionality of the TiVo software, technology, and service to be deployed by Virgin Media to its customers and expected future TiVo subscriber growth from Virgin Media. Forward-looking statements generally can be identified by the use of forward- looking terminology such as, "believe," "expect," "may," "will," "intend," "estimate," "continue," or similar expressions or the negative of those terms or expressions. Such statements involve risks and uncertainties, which could cause actual results to vary materially from those expressed in or indicated by the forward-looking statements. Factors that may cause actual results to differ materially include delays in development, competitive service offerings and lack of market acceptance, as well as the other potential factors described under "Risk Factors" in each company's public reports filed with the Securities and Exchange Commission. Each company cautions you not to place undue reliance on forward-looking statements, which reflect an analysis only and speak only as of the date hereof. Each company disclaims any obligation to update these forward-looking statements.</p>
<p>SOURCE: TiVo Inc.</p>
<p>Web site: http://www.tivo.com/<br />
</code></p>

<br><a href=http://blog.automated.it/2009/11/25/tivo-return-to-uk-via-virgin-media/><p><img style='float:right;margin-left:15px;margin-bottom:10px;' src='http://blog.automated.it/images/tccb.png' border='0'></a></p><br>

<br><span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.automated.it%2F2009%2F11%2F25%2Ftivo-return-to-uk-via-virgin-media%2F&amp;title=Tivo+Return+to+UK+Via+Virgin+Media" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F11%2F25%2Ftivo-return-to-uk-via-virgin-media%2F&amp;title=Tivo+Return+to+UK+Via+Virgin+Media" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F11%2F25%2Ftivo-return-to-uk-via-virgin-media%2F&amp;title=Tivo+Return+to+UK+Via+Virgin+Media" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fblog.automated.it%2F2009%2F11%2F25%2Ftivo-return-to-uk-via-virgin-media%2F&amp;title=Tivo+Return+to+UK+Via+Virgin+Media" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F11%2F25%2Ftivo-return-to-uk-via-virgin-media%2F&amp;title=Tivo+Return+to+UK+Via+Virgin+Media', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://del.icio.us/favicon.ico" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.automated.it%2F2009%2F11%2F25%2Ftivo-return-to-uk-via-virgin-media%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fblog.automated.it%2F2009%2F11%2F25%2Ftivo-return-to-uk-via-virgin-media%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.automated.it%2F2009%2F11%2F25%2Ftivo-return-to-uk-via-virgin-media%2F&amp;title=Tivo+Return+to+UK+Via+Virgin+Media" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F11%2F25%2Ftivo-return-to-uk-via-virgin-media%2F&amp;title=Tivo+Return+to+UK+Via+Virgin+Media" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
<a href="http://twitter.com/home?status=Currently reading http%3A%2F%2Fblog.automated.it%2F2009%2F11%2F25%2Ftivo-return-to-uk-via-virgin-media%2F" title="Click to send this page to Twitter!" target="_blank"><img src="http://www.twitter.com/favicon.ico" width="16" height="16" alt="[Twitter]" /></a>
</span><br><br>
<p><a href="http://feedads.g.doubleclick.net/~a/0M-ATLUN0Kd5_U2TAJzGzZlYJhA/0/da"><img src="http://feedads.g.doubleclick.net/~a/0M-ATLUN0Kd5_U2TAJzGzZlYJhA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/0M-ATLUN0Kd5_U2TAJzGzZlYJhA/1/da"><img src="http://feedads.g.doubleclick.net/~a/0M-ATLUN0Kd5_U2TAJzGzZlYJhA/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/theCatCameBack/~4/XDAcgDDkSTQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.automated.it/2009/11/25/tivo-return-to-uk-via-virgin-media/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.automated.it/2009/11/25/tivo-return-to-uk-via-virgin-media/</feedburner:origLink></item>
		<item>
		<title>Another Android Security Update</title>
		<link>http://feedproxy.google.com/~r/theCatCameBack/~3/pjnCCuh065E/</link>
		<comments>http://blog.automated.it/2009/07/18/another-android-security-update/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 07:19:37 +0000</pubDate>
		<dc:creator>ScaredyCat / Andy Powell</dc:creator>
				<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://blog.automated.it/?p=219</guid>
		<description><![CDATA[I woke this morning to a new security update notification on my T-mobile G1. The update can be downloaded directly from Google&#8217;s servers if you don&#8217;t yet have it. The build number changes from CRB43 to CRC1. The update itself is only 2mb but there seems to be little information as to what it fixes, [...]]]></description>
			<content:encoded><![CDATA[<p>I woke this morning to a new security update notification <img src="http://blog.automated.it/images/gallery/g1/smandroid-logo.png" alt="Android - beep beep" />on my <a href="http://www.t-mobile.co.uk/shop/mobile-phones/phones/pay-monthly/t-mobile/g1-black/overview/" target='blank'>T-mobile</a> G1. The update can be <a href="http://android.clients.google.com/updates/signed-kila_eu-CRC1-from-CRB43-FIX2.1c36f92b.zip">downloaded</a> directly from <a href="http://www.google.com" target='blank'>Google</a>&#8217;s servers if you don&#8217;t yet have it. The build number changes from CRB43 to CRC1. The update itself is only 2mb but there seems to be little information as to what it fixes, however, the largest patch is the recovery image at 1.4mb (line 43). I&#8217;ve extracted the update and below is a file listing of the contents for those that are interested. Incidentally my <a href="http://www.t-mobile.co.uk/shop/mobile-phones/phones/pay-monthly/t-mobile/g1-black/overview/" target='blank'>T-mobile</a> G1 is actually running with an O2 SIM and still got the OTA update. The same should be the case if you&#8217;re using any other mobile network.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">&nbsp;
drwxr-xr-x    <span style="color: #000000;">7</span> andypowell  staff   238B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">56</span> .
drwxr-xr-x+ <span style="color: #000000;">128</span> andypowell  staff   4.3K <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> ..
drwxr-xr-x    <span style="color: #000000;">6</span> andypowell  staff   204B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> META-INF
<span style="color: #660033;">-rw-r--r--</span>    <span style="color: #000000;">1</span> andypowell  staff   206K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> applypatch
<span style="color: #660033;">-rw-r--r--</span>    <span style="color: #000000;">1</span> andypowell  staff     0B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">56</span> flist
drwxr-xr-x    <span style="color: #000000;">6</span> andypowell  staff   204B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> <span style="color: #c20cb9; font-weight: bold;">patch</span>
drwxr-xr-x    <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> system
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>META-INF:
total <span style="color: #000000;">56</span>
drwxr-xr-x  <span style="color: #000000;">6</span> andypowell  staff   204B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> .
drwxr-xr-x  <span style="color: #000000;">7</span> andypowell  staff   238B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">56</span> ..
<span style="color: #660033;">-rw-r--r--</span>  <span style="color: #000000;">1</span> andypowell  staff   1.7K <span style="color: #000000;">20</span> Aug  <span style="color: #000000;">2008</span> CERT.RSA
<span style="color: #660033;">-rw-r--r--</span>  <span style="color: #000000;">1</span> andypowell  staff    12K <span style="color: #000000;">20</span> Aug  <span style="color: #000000;">2008</span> CERT.SF
<span style="color: #660033;">-rw-r--r--</span>  <span style="color: #000000;">1</span> andypowell  staff    12K <span style="color: #000000;">20</span> Aug  <span style="color: #000000;">2008</span> MANIFEST.MF
drwxr-xr-x  <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> com
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>META-INF<span style="color: #000000; font-weight: bold;">/</span>com:
total <span style="color: #000000;">0</span>
drwxr-xr-x  <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> .
drwxr-xr-x  <span style="color: #000000;">6</span> andypowell  staff   204B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> ..
drwxr-xr-x  <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> google
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>META-INF<span style="color: #000000; font-weight: bold;">/</span>com<span style="color: #000000; font-weight: bold;">/</span>google:
total <span style="color: #000000;">0</span>
drwxr-xr-x  <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> .
drwxr-xr-x  <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> ..
drwxr-xr-x  <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> android
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>META-INF<span style="color: #000000; font-weight: bold;">/</span>com<span style="color: #000000; font-weight: bold;">/</span>google<span style="color: #000000; font-weight: bold;">/</span>android:
total <span style="color: #000000;">96</span>
drwxr-xr-x  <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> .
drwxr-xr-x  <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> ..
<span style="color: #660033;">-rw-r--r--</span>  <span style="color: #000000;">1</span> andypowell  staff    48K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> update-script
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">patch</span>:
total <span style="color: #000000;">2832</span>
drwxr-xr-x  <span style="color: #000000;">6</span> andypowell  staff   204B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> .
drwxr-xr-x  <span style="color: #000000;">7</span> andypowell  staff   238B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">56</span> ..
<span style="color: #660033;">-rw-r--r--</span>  <span style="color: #000000;">1</span> andypowell  staff   966B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> boot.img.p
<span style="color: #660033;">-rw-r--r--</span>  <span style="color: #000000;">1</span> andypowell  staff   1.1K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> recovery.img.p0
<span style="color: #660033;">-rw-r--r--</span>  <span style="color: #000000;">1</span> andypowell  staff   1.4M  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> recovery.img.p1
drwxr-xr-x  <span style="color: #000000;">8</span> andypowell  staff   272B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> system
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>patch<span style="color: #000000; font-weight: bold;">/</span>system:
total <span style="color: #000000;">8</span>
drwxr-xr-x   <span style="color: #000000;">8</span> andypowell  staff   272B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> .
drwxr-xr-x   <span style="color: #000000;">6</span> andypowell  staff   204B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> ..
drwxr-xr-x  <span style="color: #000000;">93</span> andypowell  staff   3.1K <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> app
drwxr-xr-x   <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> bin
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   246B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> build.prop.p
drwxr-xr-x   <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> etc
drwxr-xr-x  <span style="color: #000000;">37</span> andypowell  staff   1.2K <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> framework
drwxr-xr-x   <span style="color: #000000;">4</span> andypowell  staff   136B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> lib
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>patch<span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>app:
total <span style="color: #000000;">976</span>
drwxr-xr-x  <span style="color: #000000;">93</span> andypowell  staff   3.1K <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> .
drwxr-xr-x   <span style="color: #000000;">8</span> andypowell  staff   272B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> ..
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   3.9K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> AlarmClock.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   200B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> AlarmClock.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   7.4K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Browser.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   208B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Browser.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   157B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> BugReport.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   199B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> BugReport.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   2.2K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Calculator.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   202B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Calculator.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   5.7K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Calendar.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   202B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Calendar.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   1.8K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> CalendarProvider.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   203B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> CalendarProvider.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff    11K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Camera.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   204B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Camera.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff    10K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Contacts.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   199B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Contacts.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   174B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> DownloadProvider.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   199B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> DownloadProvider.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   165B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> DrmProvider.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   199B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> DrmProvider.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   6.8K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Email.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   213B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Email.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   2.8K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> FieldTest.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   9.2K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Gmail.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   205B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Gmail.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   1.2K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> GmailProvider.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   205B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> GmailProvider.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   1.4K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> GoogleApps.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   202B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> GoogleApps.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   1.2K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> GoogleContactsProvider.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   202B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> GoogleContactsProvider.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   162B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> GooglePartnerSetup.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   199B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> GooglePartnerSetup.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   1.3K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> GoogleSearch.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   199B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> GoogleSearch.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   170B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> GoogleSettingsProvider.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   200B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> GoogleSettingsProvider.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   2.0K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> GoogleSubscribedFeedsProvider.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   200B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> GoogleSubscribedFeedsProvider.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   157B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> HTMLViewer.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   197B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> HTMLViewer.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   2.0K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> ImProvider.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   202B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> ImProvider.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   5.5K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> LatinIME.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   200B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> LatinIME.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   8.1K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Launcher.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   203B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Launcher.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff    16K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Maps.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   1.4K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> MediaProvider.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   200B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> MediaProvider.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   2.7K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> MediaUploader.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   7.1K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Mms.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   211B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Mms.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   7.3K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Music.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   206B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Music.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   159B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> NetworkLocation.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   200B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> NetworkLocation.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   1.8K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> PackageInstaller.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   201B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> PackageInstaller.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff    11K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Phone.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   203B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Phone.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff    21K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Settings.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   203B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Settings.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   168B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> SettingsProvider.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   198B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> SettingsProvider.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff    17K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> SetupWizard.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   199B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> SetupWizard.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   1.9K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> SoundRecorder.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   197B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> SoundRecorder.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   1.9K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Stk.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   200B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Stk.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   2.0K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Street.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   203B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Street.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   1.7K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> SystemUpdater.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   200B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> SystemUpdater.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   6.8K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Talk.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   208B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Talk.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   1.2K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> TelephonyProvider.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   200B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> TelephonyProvider.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   159B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> UserDictionaryProvider.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   195B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> UserDictionaryProvider.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   7.2K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Vending.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   208B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Vending.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   1.3K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Webnwalk.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   196B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> Webnwalk.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   4.7K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> YouTube.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   208B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> YouTube.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   157B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> checkin.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   201B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> checkin.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   1.7K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> gtalkservice.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   208B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> gtalkservice.odex.p
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>patch<span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>bin:
total <span style="color: #000000;">8</span>
drwxr-xr-x  <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> .
drwxr-xr-x  <span style="color: #000000;">8</span> andypowell  staff   272B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> ..
<span style="color: #660033;">-rw-r--r--</span>  <span style="color: #000000;">1</span> andypowell  staff   165B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> debuggerd.p
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>patch<span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>etc:
total <span style="color: #000000;">0</span>
drwxr-xr-x  <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> .
drwxr-xr-x  <span style="color: #000000;">8</span> andypowell  staff   272B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> ..
drwxr-xr-x  <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> security
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>patch<span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>security:
total <span style="color: #000000;">8</span>
drwxr-xr-x  <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> .
drwxr-xr-x  <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> ..
<span style="color: #660033;">-rw-r--r--</span>  <span style="color: #000000;">1</span> andypowell  staff   171B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> otacerts.zip.p
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>patch<span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>framework:
total <span style="color: #000000;">592</span>
drwxr-xr-x  <span style="color: #000000;">37</span> andypowell  staff   1.2K <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> .
drwxr-xr-x   <span style="color: #000000;">8</span> andypowell  staff   272B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> ..
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   152B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> am.jar.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   195B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> am.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   176B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> android.awt.jar.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   206B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> android.awt.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   152B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> android.policy.jar.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   203B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> android.policy.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   152B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> android.test.runner.jar.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   199B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> android.test.runner.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   152B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> com.android.im.plugin.jar.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   199B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> com.android.im.plugin.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   152B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> com.google.android.gtalkservice.jar.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   202B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> com.google.android.gtalkservice.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   153B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> com.google.android.maps.jar.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   205B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> com.google.android.maps.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   285B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> core.jar.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   165B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> core.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   152B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> ext.jar.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   166B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> ext.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff    62K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> framework-res.apk.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   152B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> framework-tests.jar.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   201B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> framework-tests.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   166B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> framework.jar.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff    97K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> framework.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   152B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> ime.jar.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   195B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> ime.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   152B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> input.jar.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   195B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> input.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   152B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> monkey.jar.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   200B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> monkey.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   152B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> pm.jar.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   195B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> pm.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   154B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> services.jar.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   211B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> services.odex.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   152B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> svc.jar.p
<span style="color: #660033;">-rw-r--r--</span>   <span style="color: #000000;">1</span> andypowell  staff   198B  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> svc.odex.p
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>patch<span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>lib:
total <span style="color: #000000;">16</span>
drwxr-xr-x  <span style="color: #000000;">4</span> andypowell  staff   136B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> .
drwxr-xr-x  <span style="color: #000000;">8</span> andypowell  staff   272B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> ..
<span style="color: #660033;">-rw-r--r--</span>  <span style="color: #000000;">1</span> andypowell  staff   3.3K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> libcameraservice.so.p
<span style="color: #660033;">-rw-r--r--</span>  <span style="color: #000000;">1</span> andypowell  staff   2.7K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> libmediaplayerservice.so.p
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>system:
total <span style="color: #000000;">0</span>
drwxr-xr-x  <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> .
drwxr-xr-x  <span style="color: #000000;">7</span> andypowell  staff   238B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">56</span> ..
drwxr-xr-x  <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> etc
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>etc:
total <span style="color: #000000;">104</span>
drwxr-xr-x  <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> .
drwxr-xr-x  <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">18</span> Jul 07:<span style="color: #000000;">55</span> ..
<span style="color: #660033;">-rw-r--r--</span>  <span style="color: #000000;">1</span> andypowell  staff    49K  <span style="color: #000000;">1</span> Jan  <span style="color: #000000;">2009</span> NOTICE.html.gz</pre></td></tr></table></div>

<p><a title="Android CRC1" rel="thumbnail" href="http://blog.automated.it/images/gallery/g1/crc1.png"><img src="http://blog.automated.it/images/gallery/g1/smcrc1.png" alt="Android CRC1" width="63" height="94" /></a><br />
<br />&nbsp;</p>

<br><a href=http://blog.automated.it/2009/07/18/another-android-security-update/><p><img style='float:right;margin-left:15px;margin-bottom:10px;' src='http://blog.automated.it/images/tccb.png' border='0'></a></p><br>

<br><span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.automated.it%2F2009%2F07%2F18%2Fanother-android-security-update%2F&amp;title=Another+Android+Security+Update" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F07%2F18%2Fanother-android-security-update%2F&amp;title=Another+Android+Security+Update" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F07%2F18%2Fanother-android-security-update%2F&amp;title=Another+Android+Security+Update" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fblog.automated.it%2F2009%2F07%2F18%2Fanother-android-security-update%2F&amp;title=Another+Android+Security+Update" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F07%2F18%2Fanother-android-security-update%2F&amp;title=Another+Android+Security+Update', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://del.icio.us/favicon.ico" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.automated.it%2F2009%2F07%2F18%2Fanother-android-security-update%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fblog.automated.it%2F2009%2F07%2F18%2Fanother-android-security-update%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.automated.it%2F2009%2F07%2F18%2Fanother-android-security-update%2F&amp;title=Another+Android+Security+Update" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F07%2F18%2Fanother-android-security-update%2F&amp;title=Another+Android+Security+Update" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
<a href="http://twitter.com/home?status=Currently reading http%3A%2F%2Fblog.automated.it%2F2009%2F07%2F18%2Fanother-android-security-update%2F" title="Click to send this page to Twitter!" target="_blank"><img src="http://www.twitter.com/favicon.ico" width="16" height="16" alt="[Twitter]" /></a>
</span><br><br>
<p><a href="http://feedads.g.doubleclick.net/~a/BK0whl_QBpRv4LC8AtSmcT0zTC0/0/da"><img src="http://feedads.g.doubleclick.net/~a/BK0whl_QBpRv4LC8AtSmcT0zTC0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/BK0whl_QBpRv4LC8AtSmcT0zTC0/1/da"><img src="http://feedads.g.doubleclick.net/~a/BK0whl_QBpRv4LC8AtSmcT0zTC0/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/theCatCameBack/~4/pjnCCuh065E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.automated.it/2009/07/18/another-android-security-update/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.automated.it/2009/07/18/another-android-security-update/</feedburner:origLink></item>
		<item>
		<title>Pictures from Computex 2009</title>
		<link>http://feedproxy.google.com/~r/theCatCameBack/~3/I82cha-3gVY/</link>
		<comments>http://blog.automated.it/2009/06/02/pictures-from-computex-2009/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 10:51:56 +0000</pubDate>
		<dc:creator>ScaredyCat / Andy Powell</dc:creator>
				<category><![CDATA[computex]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://blog.automated.it/?p=218</guid>
		<description><![CDATA[Two of my colleagues are in Taipei again attending Computex 2009 this week and the news is that there appear to be a whole lot of netbooks on view. As ever Nick is uploading pictures to Picasa so you can get some idea of what&#8217;s about. As the days progress Nick will update the images, [...]]]></description>
			<content:encoded><![CDATA[<p>Two of my colleagues are in Taipei again attending Computex 2009 this week and the news is that there appear to be a whole lot of netbooks on view. <img class="right" title="Eepc tablet" src="/images/gallery/computex2009/dscf6103_sm.jpg" alt="" width="257" height="193" /> As ever Nick is uploading pictures to <a href="http://picasaweb.google.com/nick.shore/Computex2009Day1" target="_blank">Picasa</a> so you can get some idea of what&#8217;s about. As the days progress Nick will update the images, but it is a slow, slow process. Keep your eyes peeled for the rest of the week &#8211; and make sure you&#8217;re not looking at last years&#8217; pictures by mistake <img src='http://blog.automated.it/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .  Some of you might notice that some things like the Asus Skype phone have been around for a little while. In fact it has been around since September of last year. </p>
<p>Update 1: <a href="http://picasaweb.google.com/nick.shore/Computex2009Day2" target="_blank">More pictures</a> are available.</p>
<p>Update 2: <a href="http://picasaweb.google.com/nick.shore/Computex2009Day3" target="_blank">Pictures from day 3</a> are available now.</p>
<p>Update 3: <a href="http://picasaweb.google.com/nick.shore/Computex2009Day4" target="_blank">Pictures from day 4</a> are available now. There are also some shots of <a href="http://picasaweb.google.com/nick.shore/Taipei02" target="_blank">Taipei</a></p>

<br><a href=http://blog.automated.it/2009/06/02/pictures-from-computex-2009/><p><img style='float:right;margin-left:15px;margin-bottom:10px;' src='http://blog.automated.it/images/tccb.png' border='0'></a></p><br>

<br><span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.automated.it%2F2009%2F06%2F02%2Fpictures-from-computex-2009%2F&amp;title=Pictures+from+Computex+2009" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F06%2F02%2Fpictures-from-computex-2009%2F&amp;title=Pictures+from+Computex+2009" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F06%2F02%2Fpictures-from-computex-2009%2F&amp;title=Pictures+from+Computex+2009" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fblog.automated.it%2F2009%2F06%2F02%2Fpictures-from-computex-2009%2F&amp;title=Pictures+from+Computex+2009" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F06%2F02%2Fpictures-from-computex-2009%2F&amp;title=Pictures+from+Computex+2009', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://del.icio.us/favicon.ico" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.automated.it%2F2009%2F06%2F02%2Fpictures-from-computex-2009%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fblog.automated.it%2F2009%2F06%2F02%2Fpictures-from-computex-2009%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.automated.it%2F2009%2F06%2F02%2Fpictures-from-computex-2009%2F&amp;title=Pictures+from+Computex+2009" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F06%2F02%2Fpictures-from-computex-2009%2F&amp;title=Pictures+from+Computex+2009" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
<a href="http://twitter.com/home?status=Currently reading http%3A%2F%2Fblog.automated.it%2F2009%2F06%2F02%2Fpictures-from-computex-2009%2F" title="Click to send this page to Twitter!" target="_blank"><img src="http://www.twitter.com/favicon.ico" width="16" height="16" alt="[Twitter]" /></a>
</span><br><br>
<p><a href="http://feedads.g.doubleclick.net/~a/JQNI9mLgQLM043YlJGkDmvQtpFQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/JQNI9mLgQLM043YlJGkDmvQtpFQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/JQNI9mLgQLM043YlJGkDmvQtpFQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/JQNI9mLgQLM043YlJGkDmvQtpFQ/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/theCatCameBack/~4/I82cha-3gVY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.automated.it/2009/06/02/pictures-from-computex-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.automated.it/2009/06/02/pictures-from-computex-2009/</feedburner:origLink></item>
		<item>
		<title>Pull That Squidgy iPhone application</title>
		<link>http://feedproxy.google.com/~r/theCatCameBack/~3/iw_XgMVCuPU/</link>
		<comments>http://blog.automated.it/2009/06/02/pull-that-squidgy-iphone-application/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 08:34:56 +0000</pubDate>
		<dc:creator>ScaredyCat / Andy Powell</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://blog.automated.it/?p=217</guid>
		<description><![CDATA[Yesterday a friend was ranting away as usual about how stuff was always broken and in passing mentioned the iPhone application Squidgy, an application that allows you to control your Squeezbox(es). There are apparently two problems with the application. The first is that it crashes quite a bit and doesn&#8217;t really seem to work very [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday a friend was ranting away as usual about how stuff was always broken and in passing mentioned the <a href="http://www.apple.com/iphone/" target='blank'>iPhone</a> application Squidgy, an application that allows you to control your Squeezbox(es). There are apparently two problems with the application. The first is that it crashes quite a bit and doesn&#8217;t really seem to work very well, not particularly good for an application costing £5 ($8 / 6 EUR). The second is a little more serious. You see <a href="http://www.emccsoft.com/" target="_blank">EMCC Software Ltd</a>, the company that released the application, went into administration on 12th March 2009. The application is still on sale in the iTunes store despite the fact that EMCC are not providing support and their website consists of a statement that they are in administration and who the acting agents are. Perhaps it would be wise to find a different application to control your Squeezebox(es). </p>

<br><a href=http://blog.automated.it/2009/06/02/pull-that-squidgy-iphone-application/><p><img style='float:right;margin-left:15px;margin-bottom:10px;' src='http://blog.automated.it/images/tccb.png' border='0'></a></p><br>

<br><span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.automated.it%2F2009%2F06%2F02%2Fpull-that-squidgy-iphone-application%2F&amp;title=Pull+That+Squidgy+iPhone+application" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F06%2F02%2Fpull-that-squidgy-iphone-application%2F&amp;title=Pull+That+Squidgy+iPhone+application" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F06%2F02%2Fpull-that-squidgy-iphone-application%2F&amp;title=Pull+That+Squidgy+iPhone+application" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fblog.automated.it%2F2009%2F06%2F02%2Fpull-that-squidgy-iphone-application%2F&amp;title=Pull+That+Squidgy+iPhone+application" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F06%2F02%2Fpull-that-squidgy-iphone-application%2F&amp;title=Pull+That+Squidgy+iPhone+application', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://del.icio.us/favicon.ico" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.automated.it%2F2009%2F06%2F02%2Fpull-that-squidgy-iphone-application%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fblog.automated.it%2F2009%2F06%2F02%2Fpull-that-squidgy-iphone-application%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.automated.it%2F2009%2F06%2F02%2Fpull-that-squidgy-iphone-application%2F&amp;title=Pull+That+Squidgy+iPhone+application" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F06%2F02%2Fpull-that-squidgy-iphone-application%2F&amp;title=Pull+That+Squidgy+iPhone+application" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
<a href="http://twitter.com/home?status=Currently reading http%3A%2F%2Fblog.automated.it%2F2009%2F06%2F02%2Fpull-that-squidgy-iphone-application%2F" title="Click to send this page to Twitter!" target="_blank"><img src="http://www.twitter.com/favicon.ico" width="16" height="16" alt="[Twitter]" /></a>
</span><br><br>
<p><a href="http://feedads.g.doubleclick.net/~a/jGk2zo2W3FhSVyFaxvV8Dmir25Q/0/da"><img src="http://feedads.g.doubleclick.net/~a/jGk2zo2W3FhSVyFaxvV8Dmir25Q/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/jGk2zo2W3FhSVyFaxvV8Dmir25Q/1/da"><img src="http://feedads.g.doubleclick.net/~a/jGk2zo2W3FhSVyFaxvV8Dmir25Q/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/theCatCameBack/~4/iw_XgMVCuPU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.automated.it/2009/06/02/pull-that-squidgy-iphone-application/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://blog.automated.it/2009/06/02/pull-that-squidgy-iphone-application/</feedburner:origLink></item>
		<item>
		<title>Extra Cupcake, Still No Latitude</title>
		<link>http://feedproxy.google.com/~r/theCatCameBack/~3/LF6WzV1NGA4/</link>
		<comments>http://blog.automated.it/2009/05/22/extra-cupcake-still-no-latitude/#comments</comments>
		<pubDate>Fri, 22 May 2009 09:12:12 +0000</pubDate>
		<dc:creator>ScaredyCat / Andy Powell</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Cupcake]]></category>
		<category><![CDATA[G1]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Latitude]]></category>
		<category><![CDATA[security update]]></category>

		<guid isPermaLink="false">http://blog.automated.it/?p=216</guid>
		<description><![CDATA[After getting Android Cupcake about a month ago and running it happily, this morning I was notified of another update that was a security fix. I have been unable to find anything that mentions what the fix was for, I guess it&#8217;s a little early for that information to be floating around. I&#8217;ve got my [...]]]></description>
			<content:encoded><![CDATA[<p>After getting <a href="http://www.android.com/" target='blank'>Android</a> Cupcake about a month ago and running it happily, this morning I was notified of another update that was a security fix. <img alt="" src="http://blog.automated.it/images/gallery/g1/G1_CRB43_sm.png" title="G1 CRB43" class="alignnone" width="160" height="240" /> I have been unable to find anything that mentions what the fix was for, I guess it&#8217;s a little early for that information to be floating around. I&#8217;ve got my log from the G1 and will be taking a look to see if there&#8217;s anything interesting there.</p>
<p>Shame that this fix didn&#8217;t include making Latitude available for UK users &#8211; <a href="http://www.google.com" target='blank'>Google</a> seems to be coming up with excuses that don&#8217;t really wash for that. Considering Latitude is available to pretty much every other smart phone out there and that it&#8217;s even on the G2. </p>
<p>If you want to get a copy of the update, you can <a href=http://android.clients.google.com/updates/signed-kila_eu-CRB43-from-CRB17.1638e1b4.zip>download</a> it direct from <a href="http://www.google.com" target='blank'>Google</a>&#8217;s servers</p>
<p><b>Update:</b><br />
I&#8217;ve extracted the update and here&#8217;s a list of the contents, the largest patch is in Maps (at 291KB) and the second largest is in framework.odex (at 271KB), then &#8220;MediaUploader&#8221; which is likely to be the YouTube and Picasa uploading service (at 166KB).</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">&nbsp;
total <span style="color: #000000;">3496</span>
drwxr-xr-x  <span style="color: #000000;">6</span> andypowell  staff   204B <span style="color: #000000;">23</span> May <span style="color: #000000;">11</span>:<span style="color: #000000;">24</span> META-INF
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   141K <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 applypatch
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   1.6M <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 boot.img
drwxr-xr-x  <span style="color: #000000;">4</span> andypowell  staff   136B <span style="color: #000000;">23</span> May <span style="color: #000000;">11</span>:<span style="color: #000000;">25</span> <span style="color: #c20cb9; font-weight: bold;">patch</span>
drwxr-xr-x  <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">23</span> May <span style="color: #000000;">11</span>:<span style="color: #000000;">24</span> system
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>META-INF:
total <span style="color: #000000;">56</span>
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   1.7K <span style="color: #000000;">20</span> Aug  <span style="color: #000000;">2008</span> CERT.RSA
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff    12K <span style="color: #000000;">20</span> Aug  <span style="color: #000000;">2008</span> CERT.SF
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff    12K <span style="color: #000000;">20</span> Aug  <span style="color: #000000;">2008</span> MANIFEST.MF
drwxr-xr-x  <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">23</span> May <span style="color: #000000;">11</span>:<span style="color: #000000;">24</span> com
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>META-INF<span style="color: #000000; font-weight: bold;">/</span>com:
total <span style="color: #000000;">0</span>
drwxr-xr-x  <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">23</span> May <span style="color: #000000;">11</span>:<span style="color: #000000;">24</span> google
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>META-INF<span style="color: #000000; font-weight: bold;">/</span>com<span style="color: #000000; font-weight: bold;">/</span>google:
total <span style="color: #000000;">0</span>
drwxr-xr-x  <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">23</span> May <span style="color: #000000;">11</span>:<span style="color: #000000;">24</span> android
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>META-INF<span style="color: #000000; font-weight: bold;">/</span>com<span style="color: #000000; font-weight: bold;">/</span>google<span style="color: #000000; font-weight: bold;">/</span>android:
total <span style="color: #000000;">96</span>
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff    47K <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 update-script
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">patch</span>:
total <span style="color: #000000;">0</span>
drwxr-xr-x  <span style="color: #000000;">9</span> andypowell  staff   306B <span style="color: #000000;">23</span> May <span style="color: #000000;">11</span>:<span style="color: #000000;">25</span> system
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>patch<span style="color: #000000; font-weight: bold;">/</span>system:
total <span style="color: #000000;">8</span>
drwxr-xr-x  <span style="color: #000000;">93</span> andypowell  staff   3.1K <span style="color: #000000;">23</span> May <span style="color: #000000;">11</span>:<span style="color: #000000;">24</span> app
drwxr-xr-x   <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">23</span> May <span style="color: #000000;">11</span>:<span style="color: #000000;">24</span> bin
<span style="color: #660033;">-rwxr-xr-x</span>   <span style="color: #000000;">1</span> andypowell  staff   236B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 build.prop.p
drwxr-xr-x   <span style="color: #000000;">6</span> andypowell  staff   204B <span style="color: #000000;">23</span> May <span style="color: #000000;">11</span>:<span style="color: #000000;">26</span> etc
drwxr-xr-x  <span style="color: #000000;">37</span> andypowell  staff   1.2K <span style="color: #000000;">23</span> May <span style="color: #000000;">11</span>:<span style="color: #000000;">24</span> framework
drwxr-xr-x   <span style="color: #000000;">5</span> andypowell  staff   170B <span style="color: #000000;">23</span> May <span style="color: #000000;">11</span>:<span style="color: #000000;">25</span> lib
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>patch<span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>app:
total <span style="color: #000000;">1896</span>
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   324B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:02 AlarmClock.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   262B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:02 AlarmClock.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   582B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:02 Browser.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   312B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:02 Browser.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   156B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:02 BugReport.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   266B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:02 BugReport.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   223B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:02 Calculator.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   266B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:02 Calculator.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   402B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:02 Calendar.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   262B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Calendar.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   205B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 CalendarProvider.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   263B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 CalendarProvider.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   566B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Camera.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   268B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Camera.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff    11K <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Contacts.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   260B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Contacts.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   174B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 DownloadProvider.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   263B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 DownloadProvider.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   165B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 DrmProvider.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   257B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 DrmProvider.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   455B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Email.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   270B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Email.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   1.6K <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 FieldTest.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   631B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Gmail.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   267B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Gmail.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   176B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 GmailProvider.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   263B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 GmailProvider.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   191B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 GoogleApps.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   264B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 GoogleApps.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   170B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 GoogleContactsProvider.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   264B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 GoogleContactsProvider.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   162B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 GooglePartnerSetup.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   261B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 GooglePartnerSetup.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   174B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 GoogleSearch.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   258B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 GoogleSearch.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   172B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 GoogleSettingsProvider.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   266B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 GoogleSettingsProvider.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   206B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 GoogleSubscribedFeedsProvider.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   265B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 GoogleSubscribedFeedsProvider.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   154B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 HTMLViewer.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   258B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 HTMLViewer.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   208B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 ImProvider.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   263B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 ImProvider.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   443B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 LatinIME.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   264B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 LatinIME.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff    37K <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Launcher.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   3.3K <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Launcher.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   290K <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Maps.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   180B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 MediaProvider.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   264B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 MediaProvider.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   165K <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 MediaUploader.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   459B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Mms.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   263B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Mms.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   7.6K <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Music.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   265B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Music.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   155B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 NetworkLocation.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   1.9K <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 NetworkLocation.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   198B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 PackageInstaller.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   264B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 PackageInstaller.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff    29K <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Phone.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff    23K <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Phone.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff    23K <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Settings.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   266B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Settings.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   168B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 SettingsProvider.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   262B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 SettingsProvider.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff    18K <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 SetupWizard.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   264B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 SetupWizard.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   215B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 SoundRecorder.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   261B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 SoundRecorder.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   206B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Stk.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   262B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Stk.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   212B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Street.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   265B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Street.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   195B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 SystemUpdater.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   263B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 SystemUpdater.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   450B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Talk.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   265B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Talk.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   170B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 TelephonyProvider.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   263B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 TelephonyProvider.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   155B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 UserDictionaryProvider.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   252B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 UserDictionaryProvider.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   421B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Vending.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   269B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Vending.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   174B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Webnwalk.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   255B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 Webnwalk.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   359B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 YouTube.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   264B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 YouTube.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   155B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 checkin.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   264B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 checkin.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   196B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 gtalkservice.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   261B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 gtalkservice.odex.p
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>patch<span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>bin:
total <span style="color: #000000;">8</span>
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   160B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 debuggerd.p
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>patch<span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>etc:
total <span style="color: #000000;">96</span>
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff    42K <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 NOTICE.html.gz.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   153B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 contributors.html.p
drwxr-xr-x  <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">23</span> May <span style="color: #000000;">11</span>:<span style="color: #000000;">24</span> security
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>patch<span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>security:
total <span style="color: #000000;">8</span>
-rwxr-xr-x<span style="color: #000000; font-weight: bold;">@</span> <span style="color: #000000;">1</span> andypowell  staff   175B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 otacerts.zip.p
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>patch<span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>framework:
total <span style="color: #000000;">1040</span>
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   155B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 am.jar.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   257B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 am.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   176B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 android.awt.jar.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   270B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 android.awt.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   153B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 android.policy.jar.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   234B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 android.policy.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   155B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 android.test.runner.jar.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   6.9K <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 android.test.runner.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   153B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 com.android.im.plugin.jar.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   264B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 com.android.im.plugin.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   152B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 com.google.android.gtalkservice.jar.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   266B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 com.google.android.gtalkservice.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   155B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 com.google.android.maps.jar.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   263B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 com.google.android.maps.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   285B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 core.jar.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff    46K <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 core.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   155B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 ext.jar.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   211B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 ext.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff    63K <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 framework-res.apk.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   153B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 framework-tests.jar.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   262B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 framework-tests.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   168B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 framework.jar.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   270K <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 framework.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   153B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 ime.jar.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   252B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 ime.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   153B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 input.jar.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   249B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 input.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   153B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 monkey.jar.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   267B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 monkey.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   153B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 pm.jar.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   263B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 pm.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   153B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 services.jar.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   4.6K <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 services.odex.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   153B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 svc.jar.p
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   255B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 svc.odex.p
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>patch<span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>lib:
total <span style="color: #000000;">16</span>
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   4.7K <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 libicudata.so.p
drwxr-xr-x  <span style="color: #000000;">3</span> andypowell  staff   102B <span style="color: #000000;">23</span> May <span style="color: #000000;">11</span>:<span style="color: #000000;">24</span> modules
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>patch<span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>modules:
total <span style="color: #000000;">8</span>
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   618B <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 wlan.ko.p
&nbsp;
.<span style="color: #000000; font-weight: bold;">/</span>system:
total <span style="color: #000000;">3672</span>
<span style="color: #660033;">-rwxr-xr-x</span>  <span style="color: #000000;">1</span> andypowell  staff   1.8M <span style="color: #000000;">20</span> May <span style="color: #000000;">10</span>:03 recovery.img</pre></td></tr></table></div>

<p>
<a title="Cupcake CRB43" rel="thumbnail" href="http://blog.automated.it/images/gallery/g1/G1_CRB43.png"><img src="http://blog.automated.it/images/gallery/g1/G1_CRB43_vsm.png" alt="Cupcake CRB43" width="63" height="94" /></a></p>
<p></p>

<br><a href=http://blog.automated.it/2009/05/22/extra-cupcake-still-no-latitude/><p><img style='float:right;margin-left:15px;margin-bottom:10px;' src='http://blog.automated.it/images/tccb.png' border='0'></a></p><br>

<br><span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.automated.it%2F2009%2F05%2F22%2Fextra-cupcake-still-no-latitude%2F&amp;title=Extra+Cupcake%2C+Still+No+Latitude" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F05%2F22%2Fextra-cupcake-still-no-latitude%2F&amp;title=Extra+Cupcake%2C+Still+No+Latitude" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F05%2F22%2Fextra-cupcake-still-no-latitude%2F&amp;title=Extra+Cupcake%2C+Still+No+Latitude" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fblog.automated.it%2F2009%2F05%2F22%2Fextra-cupcake-still-no-latitude%2F&amp;title=Extra+Cupcake%2C+Still+No+Latitude" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F05%2F22%2Fextra-cupcake-still-no-latitude%2F&amp;title=Extra+Cupcake%2C+Still+No+Latitude', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://del.icio.us/favicon.ico" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.automated.it%2F2009%2F05%2F22%2Fextra-cupcake-still-no-latitude%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fblog.automated.it%2F2009%2F05%2F22%2Fextra-cupcake-still-no-latitude%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.automated.it%2F2009%2F05%2F22%2Fextra-cupcake-still-no-latitude%2F&amp;title=Extra+Cupcake%2C+Still+No+Latitude" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F05%2F22%2Fextra-cupcake-still-no-latitude%2F&amp;title=Extra+Cupcake%2C+Still+No+Latitude" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
<a href="http://twitter.com/home?status=Currently reading http%3A%2F%2Fblog.automated.it%2F2009%2F05%2F22%2Fextra-cupcake-still-no-latitude%2F" title="Click to send this page to Twitter!" target="_blank"><img src="http://www.twitter.com/favicon.ico" width="16" height="16" alt="[Twitter]" /></a>
</span><br><br>
<p><a href="http://feedads.g.doubleclick.net/~a/8hN9EcQP9AZCE2GSqKZB3GFPKPI/0/da"><img src="http://feedads.g.doubleclick.net/~a/8hN9EcQP9AZCE2GSqKZB3GFPKPI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/8hN9EcQP9AZCE2GSqKZB3GFPKPI/1/da"><img src="http://feedads.g.doubleclick.net/~a/8hN9EcQP9AZCE2GSqKZB3GFPKPI/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/theCatCameBack/~4/LF6WzV1NGA4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.automated.it/2009/05/22/extra-cupcake-still-no-latitude/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.automated.it/2009/05/22/extra-cupcake-still-no-latitude/</feedburner:origLink></item>
		<item>
		<title>G1 Assault on battery</title>
		<link>http://feedproxy.google.com/~r/theCatCameBack/~3/3xJyIaClpN8/</link>
		<comments>http://blog.automated.it/2009/04/25/g1-assault-on-battery/#comments</comments>
		<pubDate>Sat, 25 Apr 2009 22:27:44 +0000</pubDate>
		<dc:creator>ScaredyCat / Andy Powell</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[G1]]></category>
		<category><![CDATA[Google Phone]]></category>

		<guid isPermaLink="false">http://blog.automated.it/?p=215</guid>
		<description><![CDATA[I know I&#8217;m late to the party but a few days ago I received a small package containing a T-Mobile G1 phone running Android. The first thing I did was go to unlock-now to get myself a SIM unlock code. After submitting my details and paying up the 17.50 EUR it was just a case [...]]]></description>
			<content:encoded><![CDATA[<p>I know I&#8217;m late to the party but a few days ago I received a small package containing a <a href="http://www.t-mobile.co.uk/shop/mobile-phones/phones/pay-monthly/t-mobile/g1-black/overview/" target='blank'>T-Mobile</a> G1 phone running <a href="http://www.android.com/" target='blank'>Android</a>. The first thing I did was go to <a href="http://dream.unlock-now.com/sim-unlock-T-Mobile-G1/" target='blank'>unlock-now</a> to get myself a SIM unlock code. After submitting my details and paying up the 17.50 EUR it was just a case of waiting for the email, about 3 hours in my case. The email details <img src="http://blog.automated.it/images/gallery/g1/g1image.png" alt="G1" />everything you need to know when unlocking, particularly useful is the info on setting up a new APN which you&#8217;ll need to do if you aren&#8217;t using <a href="http://www.t-mobile.co.uk/shop/mobile-phones/phones/pay-monthly/t-mobile/g1-black/overview/" target='blank'>T-Mobile</a> as your carrier. My <a href="http://www.o2.co.uk/iphone/paygo" target='blank'>O2 PAYG</a> SIM from my <a href="http://www.apple.com/iphone/" target='blank'>iPhone</a> worked fine and soon the G1 was syncing happily with gmail. One of the things that struck me about the G1 was all the negative comment on it&#8217;s size and feel that I&#8217;d read in various blogs and reviews. Personally I couldn&#8217;t see and issue with either the thickness of the device or the the look and feel of it and I wasn&#8217;t alone in that. I really don&#8217;t see what all the &#8216;complaints&#8217; were about. </p>
<p>One of the things I had heard though, that I can confirm, is the poor battery life. Without installing any extra software the only real control over the G1&#8242;s power management seems limited to turning off the GPS or WiFi. However, there is a ray of light. After installing <a href="http://nettogo.net/powermanager/" target='blank'>Power Manager</a> things improved immensely but it still wasn&#8217;t enough. The solution I settled on was to buy an extended, 2400mAh, battery which came with a replacement back. The battery is physically 2 or 3 times the thickness of the original, which is why you get a replacement and the end result is a device that&#8217;s about as thick as a <a href="http://www.nokia.co.uk/" target='blank'>NOKIA</a> N95.  </p>
<p>So why didn&#8217;t I wait for a G2? Simple really. The G1 has a wonderful physical keyboard. I really can&#8217;t stand on screen keyboards, perhaps I&#8217;m a minority.</p>
<p> Of course the other reason that I wont be getting a G2 is that Vodafone are capping both daily and monthly usage when you sign up &#8211; 15mb / day and 500mb a month. Perhaps everyone at Vodafone still uses a 6310? Maybe they just don&#8217;t like the G2 or <a href="http://www.android.com/" target='blank'>Android</a>. Who knows?</p>
<p>Update (Sunday 10th May) : G1 Running cupcake has been running for 3 days with the extended battery and no charging!</p>

<br><a href=http://blog.automated.it/2009/04/25/g1-assault-on-battery/><p><img style='float:right;margin-left:15px;margin-bottom:10px;' src='http://blog.automated.it/images/tccb.png' border='0'></a></p><br>

<br><span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.automated.it%2F2009%2F04%2F25%2Fg1-assault-on-battery%2F&amp;title=G1+Assault+on+battery" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F04%2F25%2Fg1-assault-on-battery%2F&amp;title=G1+Assault+on+battery" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F04%2F25%2Fg1-assault-on-battery%2F&amp;title=G1+Assault+on+battery" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fblog.automated.it%2F2009%2F04%2F25%2Fg1-assault-on-battery%2F&amp;title=G1+Assault+on+battery" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F04%2F25%2Fg1-assault-on-battery%2F&amp;title=G1+Assault+on+battery', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://del.icio.us/favicon.ico" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.automated.it%2F2009%2F04%2F25%2Fg1-assault-on-battery%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fblog.automated.it%2F2009%2F04%2F25%2Fg1-assault-on-battery%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.automated.it%2F2009%2F04%2F25%2Fg1-assault-on-battery%2F&amp;title=G1+Assault+on+battery" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F04%2F25%2Fg1-assault-on-battery%2F&amp;title=G1+Assault+on+battery" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
<a href="http://twitter.com/home?status=Currently reading http%3A%2F%2Fblog.automated.it%2F2009%2F04%2F25%2Fg1-assault-on-battery%2F" title="Click to send this page to Twitter!" target="_blank"><img src="http://www.twitter.com/favicon.ico" width="16" height="16" alt="[Twitter]" /></a>
</span><br><br>
<p><a href="http://feedads.g.doubleclick.net/~a/G7yXfgS8xoYQmaqnxCqNO2KDj0o/0/da"><img src="http://feedads.g.doubleclick.net/~a/G7yXfgS8xoYQmaqnxCqNO2KDj0o/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/G7yXfgS8xoYQmaqnxCqNO2KDj0o/1/da"><img src="http://feedads.g.doubleclick.net/~a/G7yXfgS8xoYQmaqnxCqNO2KDj0o/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/theCatCameBack/~4/3xJyIaClpN8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.automated.it/2009/04/25/g1-assault-on-battery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.automated.it/2009/04/25/g1-assault-on-battery/</feedburner:origLink></item>
		<item>
		<title>Everywhere you go, always take the weather with you</title>
		<link>http://feedproxy.google.com/~r/theCatCameBack/~3/as_slcdPr3o/</link>
		<comments>http://blog.automated.it/2009/03/21/everywhere-you-go-always-take-the-weather-with-you/#comments</comments>
		<pubDate>Sat, 21 Mar 2009 18:11:03 +0000</pubDate>
		<dc:creator>ScaredyCat / Andy Powell</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[jailbreak]]></category>
		<category><![CDATA[tracking]]></category>

		<guid isPermaLink="false">http://blog.automated.it/?p=214</guid>
		<description><![CDATA[Originally I wasn&#8217;t going to blog about this but I finally gave in so here it is. This is another one of those things that you really just can&#8217;t do with your iPhone unless you&#8217;ve jailbroken it. Having the weather on your lock screen is nothing particularly new, there are enough Winterboard themes that allow [...]]]></description>
			<content:encoded><![CDATA[<p>Originally I wasn&#8217;t going to blog about this but I finally gave in so here it is. This is<img class="right" title="Tracing weather" src="/images/gallery/weather/smIMG_0055.PNG" alt="Tracking weather" width="196" height="294" /> another one of those things that you really just can&#8217;t do with your <a href="http://www.apple.com/iphone/" target='blank'>iPhone</a> unless you&#8217;ve <a title="Pwnage Tool" href="http://blog.iphone-dev.org/" target="_blank">jailbroken</a> it. </p>
<p>Having the weather on your lock screen is nothing particularly new, there are enough <a title="Winterboard" href="http://www.saurik.com/id/9" target="_blank">Winterboard</a> themes that allow you to do this. However, this is slightly different. I&#8217;ve never really understood why you&#8217;d only ever want to know what the weather was like in your home town. What does it matter? That is of course unless you never actually go anywhere.  Why not have the weather for where you are? Yes I know you could just look out of the window or actually go outside but that&#8217;s beside the point. What I wanted was to have the weather for where I actually am right now.  So, as part of my <a href="http://www.apple.com/iphone/" target='blank'>iPhone</a> <a title="Follow me wallpaper" href="http://blog.automated.it/2008/09/22/follow-me-wallpaper/" target="_blank">tracking</a> system I added the ability for the weather to follow me too.  The implementation is rather simple. </p>
<p>Since I&#8217;m already sending my location and retrieving the wallpaper image I&#8217;m also getting an override (overRide.js) for my weather configureMe.js. The overRide.js contains a single line, the location &#8211; as per the configureMe.js format:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> locale<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;Lelystad,NL&quot;</span></pre></div></div>

<p>So each time the wallpaper is updated, so is this file. One of the key things you need to do to accomplish this for yourself is what is called reverse geocoding. That is, getting the name of your location from your GPS coordinates. </p>
<p>Now, the best way I&#8217;ve found of doing this so far is by using <a href='http://www.geonames.org' target=_new>geonames</a> this is a fantastic site that allows you to do the reverse geocoding without even blinking. For example, calling geonames using the url</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">http<span style="color: #339933;">:</span><span style="color: #006600; font-style: italic;">//ws.geonames.org/findNearbyPlaceName?lat=50.455&amp;lng=-3</span></pre></div></div>

<p>would result in the following xml being returned</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span> <span style="color: #000066;">standalone</span>=<span style="color: #ff0000;">&quot;no&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;geonames<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;geoname<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Seaton<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;lat<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>50.7049382166946<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/lat<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;lng<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>-3.06999206542969<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/lng<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;geonameId<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2638278<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/geonameId<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;countryCode<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>GB<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/countryCode<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;countryName<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>United Kingdom<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/countryName<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;fcl<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>P<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/fcl<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;fcode<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>PPL<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/fcode<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;distance<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>28.2265<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/distance<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/geoname<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/geonames<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xml<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>This gives you pretty much everything you could possibly want and for free too. Note the inclusion of your distance between your coordinates and the the coordinates returned (nearest named location).</p>
<p>Now I know what you&#8217;re thinking. Why would I retrieve a file with the data in it from my server, why not parse the xml in the javascript on the lock screen. You&#8217;re right, I could and you, possibly, should. I don&#8217;t because I keep all my GPS data in a database on that server so I update the database with the actual locations too. I don&#8217;t parse the xml on the <a href="http://www.apple.com/iphone/" target='blank'>iPhone</a> because I don&#8217;t need to.</p>
<p>Of course I haven&#8217;t yet tested being in some obscure location that the weather provider doesn&#8217;t know about. Incidentally, geonames is so freaking good that, if you want to, you can <a href='http://www.geonames.org/export/' target=_new>download</a> a daily dump of the database.</p>
<p><a title="Lock screen tracking weather" rel="thumbnail" href="http://blog.automated.it/images/gallery/weather/IMG_0055.PNG"><img src="http://blog.automated.it/images/gallery/weather/thumb_IMG_0055.PNG" alt="Lock screen weather" width="63" height="94" /></a><a title="Lock screen tracking weather, later that day" rel="thumbnail" href="http://blog.automated.it/images/gallery/weather/IMG_0056.PNG"><img src="http://blog.automated.it/images/gallery/weather/thumb_IMG_0056.PNG" alt="Lock screen weather, later that day" width="63" height="95" /></a><br /></p>

<br><a href=http://blog.automated.it/2009/03/21/everywhere-you-go-always-take-the-weather-with-you/><p><img style='float:right;margin-left:15px;margin-bottom:10px;' src='http://blog.automated.it/images/tccb.png' border='0'></a></p><br>

<br><span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F21%2Feverywhere-you-go-always-take-the-weather-with-you%2F&amp;title=Everywhere+you+go%2C+always+take+the+weather+with+you" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F21%2Feverywhere-you-go-always-take-the-weather-with-you%2F&amp;title=Everywhere+you+go%2C+always+take+the+weather+with+you" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F21%2Feverywhere-you-go-always-take-the-weather-with-you%2F&amp;title=Everywhere+you+go%2C+always+take+the+weather+with+you" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F21%2Feverywhere-you-go-always-take-the-weather-with-you%2F&amp;title=Everywhere+you+go%2C+always+take+the+weather+with+you" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F21%2Feverywhere-you-go-always-take-the-weather-with-you%2F&amp;title=Everywhere+you+go%2C+always+take+the+weather+with+you', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://del.icio.us/favicon.ico" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F21%2Feverywhere-you-go-always-take-the-weather-with-you%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F21%2Feverywhere-you-go-always-take-the-weather-with-you%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F21%2Feverywhere-you-go-always-take-the-weather-with-you%2F&amp;title=Everywhere+you+go%2C+always+take+the+weather+with+you" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F21%2Feverywhere-you-go-always-take-the-weather-with-you%2F&amp;title=Everywhere+you+go%2C+always+take+the+weather+with+you" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
<a href="http://twitter.com/home?status=Currently reading http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F21%2Feverywhere-you-go-always-take-the-weather-with-you%2F" title="Click to send this page to Twitter!" target="_blank"><img src="http://www.twitter.com/favicon.ico" width="16" height="16" alt="[Twitter]" /></a>
</span><br><br>
<p><a href="http://feedads.g.doubleclick.net/~a/ym8ScizXhqhfCaa43ctvdXD2yCY/0/da"><img src="http://feedads.g.doubleclick.net/~a/ym8ScizXhqhfCaa43ctvdXD2yCY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ym8ScizXhqhfCaa43ctvdXD2yCY/1/da"><img src="http://feedads.g.doubleclick.net/~a/ym8ScizXhqhfCaa43ctvdXD2yCY/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/theCatCameBack/~4/as_slcdPr3o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.automated.it/2009/03/21/everywhere-you-go-always-take-the-weather-with-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.automated.it/2009/03/21/everywhere-you-go-always-take-the-weather-with-you/</feedburner:origLink></item>
		<item>
		<title>Pachube dials without the heartache</title>
		<link>http://feedproxy.google.com/~r/theCatCameBack/~3/dT8zJzwTOVI/</link>
		<comments>http://blog.automated.it/2009/03/05/pachube-dials-without-the-heartache/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 16:51:15 +0000</pubDate>
		<dc:creator>ScaredyCat / Andy Powell</dc:creator>
				<category><![CDATA[opensource]]></category>
		<category><![CDATA[Pachube]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://blog.automated.it/?p=209</guid>
		<description><![CDATA[Some people might not want to have their own web server and php installs just to use their Pachube feed to show a dial or two so let me introduce to you the simple way of getting this all to work. Go over to my Pachube app page and follow the on screen instructions. You&#8217;ll [...]]]></description>
			<content:encoded><![CDATA[<p>Some people might not want to have their own web server and php installs just to use their <a href=http://www.pachube.com target=_new>Pachube</a> feed to show a dial or two so let me introduce to you the simple way of getting this all to work. Go over to my <a href=http://apps.pachube.com/scaredycat/ target=_new>Pachube app page</a> and follow the on screen instructions. You&#8217;ll end up with some text to copy and paste into your web page. All done for you all lovely and simple.</p>
<p><OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="200" HEIGHT="100" id="gauge"><PARAM NAME="movie" VALUE="http://apps.pachube.com/scaredycat/gauge.swf?xml_source=http%3A//apps.pachube.com/scaredycat/getData.php%3Fm%3D0%26f%3D1498%26s%3D1%26u%3D7200%26l%3D0%26n%3D5%26t%3DElectricity%20Usage%26w%3Dtrue%26c1%3D33FF33%26c2%3DEFE415%26c3%3DEFE415%26c4%3DFF3333%26in%3Dfalse" /><PARAM NAME="quality" VALUE="high" />
<param name="wmode" value="transparent">
<param name="allowScriptAccess" value="sameDomain" /><EMBED src="http://apps.pachube.com/scaredycat/gauge.swf?xml_source=http%3A//apps.pachube.com/scaredycat/getData.php%3Fm%3D0%26f%3D1498%26s%3D1%26u%3D7200%26l%3D0%26n%3D5%26t%3DElectricity%20Usage%26w%3Dtrue%26c1%3D33FF33%26c2%3DEFE415%26c3%3DEFE415%26c4%3DFF3333%26in%3Dfalse" quality="high" wmode="transparent" WIDTH="200" HEIGHT="100" NAME="gauge" allowScriptAccess="sameDomain" swLiveConnect="true" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT><OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="200" HEIGHT="100" id="gauge"><PARAM NAME="movie" VALUE="http://apps.pachube.com/scaredycat/gauge.swf?xml_source=http%3A//apps.pachube.com/scaredycat/getData.php%3Fm%3D0%26f%3D1506%26s%3D0%26u%3D1%26l%3D0%26n%3D5%26t%3DkgCO2/15%20Mins" /><PARAM NAME="quality" VALUE="high" />
<param name="wmode" value="transparent">
<param name="allowScriptAccess" value="sameDomain" /><EMBED src="http://apps.pachube.com/scaredycat/gauge.swf?xml_source=http%3A//apps.pachube.com/scaredycat/getData.php%3Fm%3D0%26f%3D1506%26s%3D0%26u%3D1%26l%3D0%26n%3D5%26t%3DkgCO2/15%20Mins" quality="high" wmode="transparent" WIDTH="200" HEIGHT="100" NAME="gauge" allowScriptAccess="sameDomain" swLiveConnect="true" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT></p>
<p><i>Update</i> Added the ability to de-wiggle the value needle, and then fixed a bug in the wiggle.</p>

<br><a href=http://blog.automated.it/2009/03/05/pachube-dials-without-the-heartache/><p><img style='float:right;margin-left:15px;margin-bottom:10px;' src='http://blog.automated.it/images/tccb.png' border='0'></a></p><br>

<br><span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F05%2Fpachube-dials-without-the-heartache%2F&amp;title=Pachube+dials+without+the+heartache" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F05%2Fpachube-dials-without-the-heartache%2F&amp;title=Pachube+dials+without+the+heartache" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F05%2Fpachube-dials-without-the-heartache%2F&amp;title=Pachube+dials+without+the+heartache" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F05%2Fpachube-dials-without-the-heartache%2F&amp;title=Pachube+dials+without+the+heartache" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F05%2Fpachube-dials-without-the-heartache%2F&amp;title=Pachube+dials+without+the+heartache', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://del.icio.us/favicon.ico" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F05%2Fpachube-dials-without-the-heartache%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F05%2Fpachube-dials-without-the-heartache%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F05%2Fpachube-dials-without-the-heartache%2F&amp;title=Pachube+dials+without+the+heartache" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F05%2Fpachube-dials-without-the-heartache%2F&amp;title=Pachube+dials+without+the+heartache" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
<a href="http://twitter.com/home?status=Currently reading http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F05%2Fpachube-dials-without-the-heartache%2F" title="Click to send this page to Twitter!" target="_blank"><img src="http://www.twitter.com/favicon.ico" width="16" height="16" alt="[Twitter]" /></a>
</span><br><br>
<p><a href="http://feedads.g.doubleclick.net/~a/x6yMDSwAAby1ccfPszI8KkhSTAU/0/da"><img src="http://feedads.g.doubleclick.net/~a/x6yMDSwAAby1ccfPszI8KkhSTAU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/x6yMDSwAAby1ccfPszI8KkhSTAU/1/da"><img src="http://feedads.g.doubleclick.net/~a/x6yMDSwAAby1ccfPszI8KkhSTAU/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/theCatCameBack/~4/dT8zJzwTOVI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.automated.it/2009/03/05/pachube-dials-without-the-heartache/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.automated.it/2009/03/05/pachube-dials-without-the-heartache/</feedburner:origLink></item>
		<item>
		<title>Dynamic Dials Disclosed</title>
		<link>http://feedproxy.google.com/~r/theCatCameBack/~3/cPZ1_9EAoUA/</link>
		<comments>http://blog.automated.it/2009/03/04/dynamic-dials-disclosed/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 18:08:44 +0000</pubDate>
		<dc:creator>ScaredyCat / Andy Powell</dc:creator>
				<category><![CDATA[opensource]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Pachube]]></category>

		<guid isPermaLink="false">http://blog.automated.it/?p=208</guid>
		<description><![CDATA[There&#8217;s been quite a bit of interest in my electricity usage dial like the one below so I&#8217;m going to go through how I did it with you. The first thing you&#8217;ll need is the XML/SWF Gauge and a web server with PHP. It&#8217;s possible to do this on a web server running Perl or [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s been quite a bit of interest in my electricity usage dial like the one below so I&#8217;m going to go through how I did it with you. The first thing you&#8217;ll need is the <a href='http://www.maani.us/gauge/' target=_new>XML/SWF Gauge</a> and a web server with PHP. It&#8217;s possible to do this on a web server running Perl or <img class="left" title="Usage Dial" src="/images/gallery/environment/use_dial.png" alt="usage dial" width="166" height="115" />ASP but you&#8217;ll need to do that yourself. For this example I&#8217;m also using a <a href='http://www.pachube.com' target=_new>Pachube</a> account to grab the data. My feed, the one for my gauge on the top right, is <a href='http://www.pachube.com/feeds/1498' target=_new>1498</a> but you <b>will</b> want to create your own account and start updating your own data. Using the gauge is as simple as a simple thing. </p>
<p>There are a number of things we need to get this simple display working,</p>
<ul>
<li><b>1.</b> The .SWF file</li>
<li><b>2.</b> An gauge.html page to show the gauge</li>
<li><b>3.</b> A data fetch PHP script</li>
</ul>
<hr />
<b>1.</b> The .SWF file</p>
<p>We&#8217;ll come to that at the very end of the article.</p>
<hr />
<b>2.</b> The gauge.html file. </p>
<p>Open your favourite text editor and cut and paste the following into it.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;HTML<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;BODY</span> <span style="color: #000066;">bgcolor</span>=<span style="color: #ff0000;">&quot;#FFFFFF&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;OBJECT</span> <span style="color: #000066;">classid</span>=<span style="color: #ff0000;">&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">codebase</span>=<span style="color: #ff0000;">&quot;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">WIDTH</span>=<span style="color: #ff0000;">&quot;200&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">HEIGHT</span>=<span style="color: #ff0000;">&quot;100&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;gauge&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;PARAM</span> <span style="color: #000066;">NAME</span>=<span style="color: #ff0000;">&quot;movie&quot;</span> <span style="color: #000066;">VALUE</span>=<span style="color: #ff0000;">&quot;/data/gauge.swf?xml_source=/getdata.php&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;PARAM</span> <span style="color: #000066;">NAME</span>=<span style="color: #ff0000;">&quot;quality&quot;</span> <span style="color: #000066;">VALUE</span>=<span style="color: #ff0000;">&quot;high&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;wmode&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;transparent&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;allowScriptAccess&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;sameDomain&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;EMBED</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">&quot;/data/gauge.swf?xml_source=/getdata.php&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">quality</span>=<span style="color: #ff0000;">&quot;high&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">wmode</span>=<span style="color: #ff0000;">&quot;transparent&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">WIDTH</span>=<span style="color: #ff0000;">&quot;200&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">HEIGHT</span>=<span style="color: #ff0000;">&quot;100&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">NAME</span>=<span style="color: #ff0000;">&quot;gauge&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">allowScriptAccess</span>=<span style="color: #ff0000;">&quot;sameDomain&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">swLiveConnect</span>=<span style="color: #ff0000;">&quot;true&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">TYPE</span>=<span style="color: #ff0000;">&quot;application/x-shockwave-flash&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">PLUGINSPAGE</span>=<span style="color: #ff0000;">&quot;http://www.macromedia.com/go/getflashplayer&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/EMBED<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/OBJECT<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/BODY<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/HTML<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Save the file as <b>gauge.html</b>.</p>
<hr />
<b>3.</b> A data fetch PHP script.</p>
<p>Start a new document and cut and paste the following. Before you save the file as <b>getdata.php</b> make sure you change the $myFeedId and $myFeedStream values to match your Pachube feed.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?</span>
<span style="color: #000088;">$myFeedId</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">1498</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$myFeedStream</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$myURLPath</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'/getdata.php'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$url</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://www.pachube.com/feeds/<span style="color: #006699; font-weight: bold;">$myFeedId</span>/datastreams/<span style="color: #006699; font-weight: bold;">$myFeedStream</span>/history.csv&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$now</span> <span style="color: #339933;">=</span> <span style="color: #990000;">gmdate</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Y-m-d'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'T'</span><span style="color: #339933;">.</span><span style="color: #990000;">gmdate</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'H:i:s'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'Z'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$ch</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_init</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_URL<span style="color: #339933;">,</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_SSL_VERIFYHOST <span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">false</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_SSL_VERIFYPEER <span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">false</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_HEADER<span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #990000;">ob_start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_exec</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$resultStr</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ob_get_contents</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">ob_end_clean</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #990000;">curl_close</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$readings</span> <span style="color: #339933;">=</span> <span style="color: #990000;">split</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;,&quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$resultStr</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$last</span><span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$readings</span><span style="color: #009900;">&#91;</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$readings</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">40</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$prev</span><span style="color: #339933;">=-</span><span style="color: #cc66cc;">90</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$readings</span><span style="color: #009900;">&#91;</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$readings</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">40</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$mval</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">max</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$readings</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">40</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$tval</span><span style="color: #339933;">=-</span><span style="color: #cc66cc;">90</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-Type: text/xml<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
	&lt;gauge&gt;
		&lt;update url='<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$myURLPath</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>?m=<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$mval</span><span style="color: #000000; font-weight: bold;">?&gt;</span>' delay='909' delay_type='1' timeout='30' retry='9' /&gt; 
<span style="color: #000000; font-weight: bold;">&lt;?</span>
		RadialTicks<span style="color: #009900;">&#40;</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">75</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">60</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">15</span><span style="color: #339933;">,</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">90</span><span style="color: #339933;">,</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">45</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">12</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">3</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;33ff33&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
       		RadialTicks<span style="color: #009900;">&#40;</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">75</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">60</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">15</span><span style="color: #339933;">,</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">45</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">12</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">3</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;efe415&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
       	 	RadialTicks<span style="color: #009900;">&#40;</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">75</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">60</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">15</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">45</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">12</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">3</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;ef8b15&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        	RadialTicks<span style="color: #009900;">&#40;</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">75</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">60</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">15</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">45</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">94</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">12</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">3</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;ff3333&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
      		&lt;text x='40' y='50' width='220' align='left' size='10' color='000000' alpha='20'&gt;<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$now</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/text&gt;
		&lt;text x='150' y='100' width='120' align='center' size='24' color='000000' alpha='100'&gt;Watts (W)&lt;/text&gt;
&nbsp;
       		&lt;rotate x='100' y='75' start='-90' span='<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$mval</span><span style="color: #000000; font-weight: bold;">?&gt;</span>' step='3' shake_frequency='0' shake_span='3' shadow_alpha='15'&gt;
	                &lt;polygon fill_color='ff0000' fill_alpha='90' line_alpha='0'&gt;
               		        &lt;point x='97' y='5' /&gt;
       	        	        &lt;point x='101' y='5' /&gt;
                        	&lt;point x='102' y='63' /&gt;
               	        	&lt;point x='96' y='63' /&gt;
	                &lt;/polygon&gt;
			&lt;rect x='94' y='87' width='10' height='10' fill_color='ff0000' fill_alpha='90' line_alpha='50' /&gt;
	        &lt;/rotate&gt;
&nbsp;
		&lt;rotate x='100' y='75' start='<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$prev</span><span style="color: #000000; font-weight: bold;">?&gt;</span>' span='<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$last</span><span style="color: #000000; font-weight: bold;">?&gt;</span>' step='1' shake_frequency='95' shake_span='3' shadow_alpha='15'&gt;
			&lt;polygon fill_color='000000' fill_alpha='90' line_alpha='0'&gt;
				&lt;point x='100' y='10' /&gt;
				&lt;point x='101' y='10' /&gt;
				&lt;point x='101' y='63' /&gt;
				&lt;point x='96' y='63' /&gt;
			&lt;/polygon&gt;
			&lt;rect x='94' y='87' width='10' height='20' fill_color='000000' fill_alpha='90' line_alpha='50' /&gt;
		&lt;/rotate&gt;
		&lt;circle x='100' y='75' radius='14' fill_color='000000' fill_alpha='50' line_alpha='0' /&gt;
	&lt;/gauge&gt;<span style="color: #000000; font-weight: bold;">&lt;?</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> RadialTicks <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$x_center</span><span style="color: #339933;">,</span> <span style="color: #000088;">$y_center</span><span style="color: #339933;">,</span> <span style="color: #000088;">$radius</span><span style="color: #339933;">,</span>  <span style="color: #000088;">$length</span><span style="color: #339933;">,</span> <span style="color: #000088;">$start_angle</span><span style="color: #339933;">,</span> <span style="color: #000088;">$end_angle</span><span style="color: #339933;">,</span> <span style="color: #000088;">$ticks_count</span><span style="color: #339933;">,</span> <span style="color: #000088;">$thickness</span><span style="color: #339933;">,</span> <span style="color: #000088;">$color</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$start_angle</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;=</span> <span style="color: #000088;">$end_angle</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">+=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$end_angle</span><span style="color: #339933;">-</span><span style="color: #000088;">$start_angle</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ticks_count</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
		<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;		&lt;line x1='&quot;</span><span style="color: #339933;">.</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x_center</span><span style="color: #339933;">+</span><span style="color: #990000;">sin</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">deg2rad</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #000088;">$radius</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>
			<span style="color: #0000ff;">&quot;' y1='&quot;</span><span style="color: #339933;">.</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$y_center</span><span style="color: #339933;">-</span><span style="color: #990000;">cos</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">deg2rad</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #000088;">$radius</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;' x2='&quot;</span>
			<span style="color: #339933;">.</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x_center</span><span style="color: #339933;">+</span><span style="color: #990000;">sin</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">deg2rad</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$radius</span><span style="color: #339933;">+</span><span style="color: #000088;">$length</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;' y2='&quot;</span>
			<span style="color: #339933;">.</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$y_center</span><span style="color: #339933;">-</span><span style="color: #990000;">cos</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">deg2rad</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$radius</span><span style="color: #339933;">+</span><span style="color: #000088;">$length</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
			<span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;' thickness='&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$thickness</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;' color='&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$color</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;' /&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Copy the .swf file that you downloaded from the <a href='http://www.maani.us/gauge/' target=_new>XML/SWF Gauge</a> site and put it on your web server along with your gauge.html and getdata.php files. Point your browser at your website and the gauge.html page and bask in your glorious meter display.</p>
<p>I should point out that this is using the historic feed data from pachube which has a 15 minute lag. The reason for this is simply because it does not require authentication with the pachube servers. If you want to use your live feed you will need to change the url used and the management of the data returned as well as adding</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl</span><span style="color: #339933;">,</span> CURLOPT_USERPWD<span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;username:password&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>just before the <b>ob_start();</b> on line 16. Replace username:password with your actual username and password, don&#8217;t forget the colon in between. When changing the url you might want to use the secure https rather than just http. </p>

<br><a href=http://blog.automated.it/2009/03/04/dynamic-dials-disclosed/><p><img style='float:right;margin-left:15px;margin-bottom:10px;' src='http://blog.automated.it/images/tccb.png' border='0'></a></p><br>

<br><span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F04%2Fdynamic-dials-disclosed%2F&amp;title=Dynamic+Dials+Disclosed" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F04%2Fdynamic-dials-disclosed%2F&amp;title=Dynamic+Dials+Disclosed" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F04%2Fdynamic-dials-disclosed%2F&amp;title=Dynamic+Dials+Disclosed" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F04%2Fdynamic-dials-disclosed%2F&amp;title=Dynamic+Dials+Disclosed" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F04%2Fdynamic-dials-disclosed%2F&amp;title=Dynamic+Dials+Disclosed', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://del.icio.us/favicon.ico" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F04%2Fdynamic-dials-disclosed%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F04%2Fdynamic-dials-disclosed%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F04%2Fdynamic-dials-disclosed%2F&amp;title=Dynamic+Dials+Disclosed" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F04%2Fdynamic-dials-disclosed%2F&amp;title=Dynamic+Dials+Disclosed" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
<a href="http://twitter.com/home?status=Currently reading http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F04%2Fdynamic-dials-disclosed%2F" title="Click to send this page to Twitter!" target="_blank"><img src="http://www.twitter.com/favicon.ico" width="16" height="16" alt="[Twitter]" /></a>
</span><br><br>
<p><a href="http://feedads.g.doubleclick.net/~a/hk5qEHiqJ-6dGRLkSncc6yGdVPs/0/da"><img src="http://feedads.g.doubleclick.net/~a/hk5qEHiqJ-6dGRLkSncc6yGdVPs/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/hk5qEHiqJ-6dGRLkSncc6yGdVPs/1/da"><img src="http://feedads.g.doubleclick.net/~a/hk5qEHiqJ-6dGRLkSncc6yGdVPs/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/theCatCameBack/~4/cPZ1_9EAoUA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.automated.it/2009/03/04/dynamic-dials-disclosed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.automated.it/2009/03/04/dynamic-dials-disclosed/</feedburner:origLink></item>
		<item>
		<title>Gratifying Graphic Gizmos</title>
		<link>http://feedproxy.google.com/~r/theCatCameBack/~3/mRvzdVGcEP0/</link>
		<comments>http://blog.automated.it/2009/03/01/gratifying-graphic-gizmos/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 08:47:37 +0000</pubDate>
		<dc:creator>ScaredyCat / Andy Powell</dc:creator>
				<category><![CDATA[1-Wire]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[environment]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[Pachube]]></category>

		<guid isPermaLink="false">http://blog.automated.it/?p=207</guid>
		<description><![CDATA[Yesterday the Current Cost unit actually got installed for real, something I was dreading. Dreading not because it was a difficult thing to do but simply because I expected the figure it would show would be terrible. Guess what, it wasn&#8217;t. In fact it seemed to be fairly close to that of other people who [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday the <a href=http://www.currentcost.com/ target=_new>Current Cost</a> unit actually got installed for real, something I was dreading. Dreading not because it was a difficult thing to do but simply because I expected the figure it would show would be terrible. Guess what, it wasn&#8217;t. In fact it seemed to be fairly close to that of other people who are monitoring theirs. The initial figure of 371 Watts didn&#8217;t last too long once the dishwasher and oven came on and an interesting spike appeared when the hob went on for the kettle. </p>
<p><img class="left" title="Current Cost Graph" src="/images/gallery/environment/small_69.png" alt="" width="387" height="166" /><br />
<br/><br />
Continuing with my sudden graphing fetish, as well as using a Current Cost unit I have dotted a number of little devices I&#8217;ve built with <a href='http://www.digi.com/products/wireless/zigbee-mesh/' target=_new>Xbee</a> and <a href='http://arduino.cc' target=_new>Arduinos</a> to measure temperatures (and other things)  around the house. More information on those will come out later, but it&#8217;s an interesting project too. </p>
<p>Since I have the data for those it&#8217;d be rude not to graph them too, there&#8217;s a sample in the thumbnails below.</p>
<p>Not content with graphing them locally I picked up a <a href=http://www.pachube.com target=_new>Pachube</a> invite and started graphing data there too. The process is simple really and as you can see on the right hand side of this page under &#8216;Graphy Stuff&#8217;, graph images can be embedded in your own or other sites. The really interesting thing about Pachube is that you can <a href=http://www.pachube.com/feeds/1498 target=_new>share</a> your data with people who may be interested. The data they get to see is delayed by approximately 15 minutes. If you output your data in the <a href=http://community.pachube.com/?q=node/127>eeml</a> format then you can specify your own tags too.</p>
<p><a title="Electricity Usage Graph" rel="thumbnail" href="http://blog.automated.it/images/gallery/environment/graph_69_1.png"><img src="http://blog.automated.it/images/gallery/environment/thumb_graph_69_1.png" alt="Electricity Usage Graph" width="176" height="64" /></a><a title="Temperature in the garage" rel="thumbnail" href="http://blog.automated.it/images/gallery/environment/graph_70_1.png"><img src="http://blog.automated.it/images/gallery/environment/thumb_graph_70_1.png" alt="Temperature in the garage" width="176" height="64" /></a><br />
<br/></p>

<br><a href=http://blog.automated.it/2009/03/01/gratifying-graphic-gizmos/><p><img style='float:right;margin-left:15px;margin-bottom:10px;' src='http://blog.automated.it/images/tccb.png' border='0'></a></p><br>

<br><span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F01%2Fgratifying-graphic-gizmos%2F&amp;title=Gratifying+Graphic+Gizmos" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F01%2Fgratifying-graphic-gizmos%2F&amp;title=Gratifying+Graphic+Gizmos" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F01%2Fgratifying-graphic-gizmos%2F&amp;title=Gratifying+Graphic+Gizmos" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F01%2Fgratifying-graphic-gizmos%2F&amp;title=Gratifying+Graphic+Gizmos" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F01%2Fgratifying-graphic-gizmos%2F&amp;title=Gratifying+Graphic+Gizmos', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://del.icio.us/favicon.ico" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F01%2Fgratifying-graphic-gizmos%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F01%2Fgratifying-graphic-gizmos%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F01%2Fgratifying-graphic-gizmos%2F&amp;title=Gratifying+Graphic+Gizmos" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F01%2Fgratifying-graphic-gizmos%2F&amp;title=Gratifying+Graphic+Gizmos" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
<a href="http://twitter.com/home?status=Currently reading http%3A%2F%2Fblog.automated.it%2F2009%2F03%2F01%2Fgratifying-graphic-gizmos%2F" title="Click to send this page to Twitter!" target="_blank"><img src="http://www.twitter.com/favicon.ico" width="16" height="16" alt="[Twitter]" /></a>
</span><br><br>
<p><a href="http://feedads.g.doubleclick.net/~a/PcxZ9SdwdIo4ZOgdChdjapJ75uI/0/da"><img src="http://feedads.g.doubleclick.net/~a/PcxZ9SdwdIo4ZOgdChdjapJ75uI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/PcxZ9SdwdIo4ZOgdChdjapJ75uI/1/da"><img src="http://feedads.g.doubleclick.net/~a/PcxZ9SdwdIo4ZOgdChdjapJ75uI/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/theCatCameBack/~4/mRvzdVGcEP0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.automated.it/2009/03/01/gratifying-graphic-gizmos/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.automated.it/2009/03/01/gratifying-graphic-gizmos/</feedburner:origLink></item>
		<item>
		<title>Current Cost Capers</title>
		<link>http://feedproxy.google.com/~r/theCatCameBack/~3/ZfydBe6wjqM/</link>
		<comments>http://blog.automated.it/2009/02/13/current-cost-capers/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 09:38:06 +0000</pubDate>
		<dc:creator>ScaredyCat / Andy Powell</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[monitoring]]></category>

		<guid isPermaLink="false">http://blog.automated.it/?p=205</guid>
		<description><![CDATA[My Unbioctium Current Cost CC128 arrived on Thursday and although I&#8217;m not going to actually get a chance in install it for a couple of weeks I did have a play. The first thing to do once it was all up and paired with the base was get the output into my laptop. To do [...]]]></description>
			<content:encoded><![CDATA[<p>My <a href=http://shop.ebay.co.uk/?_nkw=unbioctium target=_new><del datetime="2009-02-13T08:41:13+00:00">Unbioctium</del></a> <a title="Current Cost" href="http://www.currentcost.com/" target="_blank">Current Cost</a> CC128 arrived on Thursday and although I&#8217;m not going to actually get a chance in install it for a couple of weeks I did have a play. The first thing to do once it was all up and paired with the base was get the output into my laptop. To do this you will need to buy the data cable or <a href=http://e.inste.in/2008/06/15/interfacing-the-currentcost-meter-to-your-pc/ target=_new>make</a> up your own&#8230;</p>
<p>At first I tried to be smart with reading from the serial port, as that seems to be a bit unreliable I fell back on the old tried and tested method. I also decided from the outset that I was going to parse the XML that the the CC128  spat out rather than just filter the bits needed with regexp.</p>
<p>You will need to make sure you have the perl modules Device::SerialPort and XML::Simple installed. If you don&#8217;t have them then as root on your linux box do the following:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">perl -MCPAN -e shell</pre></div></div>

<p>then install each module, for example Device::SerialPort,</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">install Device::SerialPort</pre></div></div>

<p>and here&#8217;s the script which is also available for <a href=/files/cc-128.txt target=_new>download</a>.<em>Updated to make it more reliable</em>.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
</pre></td><td class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/usr/bin/perl</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">use</span> Device<span style="color: #339933;">::</span><span style="color: #006600;">SerialPort</span> <span style="color: #000066;">qw</span><span style="color: #009900;">&#40;</span> <span style="color: #339933;">:</span>PARAM <span style="color: #339933;">:</span>STAT <span style="color: #cc66cc;">0.07</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">use</span> XML<span style="color: #339933;">::</span><span style="color: #006600;">Simple</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #0000ff;">$port</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;/dev/ttyUSB0&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #0000ff;">$ob</span> <span style="color: #339933;">=</span> Device<span style="color: #339933;">::</span><span style="color: #006600;">SerialPort</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">new</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$port</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">or</span> <span style="color: #000066;">die</span> <span style="color: #ff0000;">&quot;Can not open port $port<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #0000ff;">$ob</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">baudrate</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">57600</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #0000ff;">$ob</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">write_settings</span><span style="color: #339933;">;</span>
<span style="color: #0000ff;">$ob</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">close</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># using XML::Parser speeds xml parsing up lots!</span>
<span style="color: #0000ff;">$backend</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">'XML::Parser'</span><span style="color: #339933;">;</span>
<span style="color: #0000ff;">$ENV</span><span style="color: #009900;">&#123;</span>XML_SIMPLE_PREFERRED_PARSER<span style="color: #009900;">&#125;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$backend</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># we use this to only do 1 iteration (or not)</span>
<span style="color: #0000ff;">$escape</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> 
&nbsp;
<span style="color: #000066;">open</span><span style="color: #009900;">&#40;</span>SERIAL<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;&lt;$port&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$escape</span> <span style="color: #339933;">&lt;=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000066;">sleep</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$line</span> <span style="color: #339933;">=</span> <span style="color: #009999;">&lt;SERIAL&gt;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;"># for debug</span>
		<span style="color: #666666; font-style: italic;">#print $line;</span>
&nbsp;
		<span style="color: #0000ff;">$isValid</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000066;">index</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$line</span><span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;&lt;msg&gt;&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #0000ff;">$isValid</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">last</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;This data is&quot;</span><span style="color: #339933;">.</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$isValid</span><span style="color: #339933;">==</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">?</span><span style="color: #ff0000;">&quot;&quot;</span><span style="color: #339933;">:</span><span style="color: #ff0000;">&quot; not&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #ff0000;">&quot; valid<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;"># force XML::Simple to see this as a string not as a file</span>
		<span style="color: #666666; font-style: italic;"># since XML::Simple is stupid and needs to be shot</span>
&nbsp;
		<span style="color: #0000ff;">$line</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;&lt;fakeTag&gt;$line&lt;/fakeTag&gt;&quot;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #0000ff;">$isHistoric</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000066;">index</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$line</span><span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;&lt;hist&gt;&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #0000ff;">$nref</span> <span style="color: #339933;">=</span> XMLin<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$line</span><span style="color: #339933;">,</span>forcearray <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #0000ff;">$ref</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$nref</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>msg<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;"># just for reference, show if data is historic or not</span>
&nbsp;
		<span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;This data is&quot;</span><span style="color: #339933;">.</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$isHistoric</span><span style="color: #339933;">==</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">?</span><span style="color: #ff0000;">&quot;&quot;</span><span style="color: #339933;">:</span><span style="color: #ff0000;">&quot; not&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #ff0000;">&quot; historic<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #0000ff;">$isHistoric</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	        	<span style="color: #0000ff;">$dsb</span>        <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">$ref</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>dsb<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
        		<span style="color: #0000ff;">$recordTime</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$ref</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span><span style="color: #000066;">time</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
        		<span style="color: #0000ff;">$ccname</span>     <span style="color: #339933;">=</span> <span style="color: #0000ff;">$ref</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>src<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
        		<span style="color: #0000ff;">$temp</span>       <span style="color: #339933;">=</span> <span style="color: #0000ff;">$ref</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>tmpr<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
			<span style="color: #0000ff;">$ch1watts</span>   <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">$ref</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>ch1<span style="color: #009900;">&#125;</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>watts<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
			<span style="color: #0000ff;">$sensor</span>     <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">$ref</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>sensor<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
			<span style="color: #0000ff;">$id</span>         <span style="color: #339933;">=</span> <span style="color: #0000ff;">$ref</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>id<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
			<span style="color: #0000ff;">$type</span>       <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">$ref</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>type<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
			<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000066;">defined</span> <span style="color: #0000ff;">$ref</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>whatever<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #666666; font-style: italic;"># do something based on whatever</span>
&nbsp;
			<span style="color: #009900;">&#125;</span>
&nbsp;
        		<span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;This $ccname was born $dsb days ago as at $recordTime - temperature is: $temp :: Current Watts in use on channel 1 are $ch1watts :: Sensor is $sensor, with an id of $id and a type of $type<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;"># for cacti you'd probably just want to output CC_Temperature:$temp CC_Watts1:$ch1watts </span>
&nbsp;
			<span style="color: #666666; font-style: italic;"># insert data into db</span>
&nbsp;
			<span style="color: #666666; font-style: italic;"># if you want to exit after a 'good' iteration set this to 1 otherwise set it to 0 (or don't change it to 1 :) );</span>
			<span style="color: #0000ff;">$escape</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">#process or ignore historic data</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000066;">close</span><span style="color: #009900;">&#40;</span>SERIAL<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>and here&#8217;s some example output, remember that I haven&#8217;t actually connected the loop around my electrical cable as yet.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">This data is not historic
This CC128-v0.11 was born 1 days ago as at 21:16:44 - temperature is: 23.7 :: Watts used on channel 1 are 0 :: Sensor is 0, with an id of 02835 and a type of 1</pre></div></div>

<p>Historic data isn&#8217;t processed at the moment but it would be trivial to do. I&#8217;m not processing it since I don&#8217;t really see the point if you&#8217;re going to store the results in a database.</p>

<br><a href=http://blog.automated.it/2009/02/13/current-cost-capers/><p><img style='float:right;margin-left:15px;margin-bottom:10px;' src='http://blog.automated.it/images/tccb.png' border='0'></a></p><br>

<br><span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.automated.it%2F2009%2F02%2F13%2Fcurrent-cost-capers%2F&amp;title=Current+Cost+Capers" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F02%2F13%2Fcurrent-cost-capers%2F&amp;title=Current+Cost+Capers" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F02%2F13%2Fcurrent-cost-capers%2F&amp;title=Current+Cost+Capers" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fblog.automated.it%2F2009%2F02%2F13%2Fcurrent-cost-capers%2F&amp;title=Current+Cost+Capers" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F02%2F13%2Fcurrent-cost-capers%2F&amp;title=Current+Cost+Capers', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://del.icio.us/favicon.ico" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.automated.it%2F2009%2F02%2F13%2Fcurrent-cost-capers%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fblog.automated.it%2F2009%2F02%2F13%2Fcurrent-cost-capers%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.automated.it%2F2009%2F02%2F13%2Fcurrent-cost-capers%2F&amp;title=Current+Cost+Capers" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F02%2F13%2Fcurrent-cost-capers%2F&amp;title=Current+Cost+Capers" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
<a href="http://twitter.com/home?status=Currently reading http%3A%2F%2Fblog.automated.it%2F2009%2F02%2F13%2Fcurrent-cost-capers%2F" title="Click to send this page to Twitter!" target="_blank"><img src="http://www.twitter.com/favicon.ico" width="16" height="16" alt="[Twitter]" /></a>
</span><br><br>
<p><a href="http://feedads.g.doubleclick.net/~a/TR9YpP2MUpaHb0B2gspxqFN1S0U/0/da"><img src="http://feedads.g.doubleclick.net/~a/TR9YpP2MUpaHb0B2gspxqFN1S0U/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/TR9YpP2MUpaHb0B2gspxqFN1S0U/1/da"><img src="http://feedads.g.doubleclick.net/~a/TR9YpP2MUpaHb0B2gspxqFN1S0U/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/theCatCameBack/~4/ZfydBe6wjqM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.automated.it/2009/02/13/current-cost-capers/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blog.automated.it/2009/02/13/current-cost-capers/</feedburner:origLink></item>
		<item>
		<title>One Wireduino made easy</title>
		<link>http://feedproxy.google.com/~r/theCatCameBack/~3/1_wM3zktkxc/</link>
		<comments>http://blog.automated.it/2009/02/04/one-wireduino-made-easy/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 21:46:25 +0000</pubDate>
		<dc:creator>ScaredyCat / Andy Powell</dc:creator>
				<category><![CDATA[1-Wire]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://blog.automated.it/?p=204</guid>
		<description><![CDATA[For a very long time now I&#8217;ve been playing with the Arduino boards but it wasn&#8217;t until I recently discovered some DS1820 1-wire chips in my parts box that I started even thinking about 1-wire stuff. Connecting 1-wire devices to the Arduino is, well, amazingly simple. Using the sample circuit from the datasheet we can [...]]]></description>
			<content:encoded><![CDATA[<p>For a very long time now I&#8217;ve been <a href="http://blog.automated.it/2008/02/18/usb-controlled-rgb-blob/" target="_new">playing</a> with the <a title="Arduino" href="http://www.arduino.cc/" target="_blank">Arduino</a> boards but it wasn&#8217;t until I recently discovered some <a title="DS1820 (replacements)" href="http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3021" target="_blank">DS1820</a> 1-wire chips in my parts box that I started even thinking about 1-wire stuff. Connecting 1-wire devices to the Arduino is, well, amazingly simple. Using the sample circuit from the datasheet we can see the connections are few and far between.</p>
<p style="text-align: center;"><img class="aligncenter" title="DS1820 Circuit" src="/images/gallery/1wire/ds1820-circuit.png" alt="" width="415" height="135" /></p>
<p>Please note that this is the corrected circuit, previously the VDD was not tied to ground. While the circuit would work it would only give reliable results on very short runs. This circuit allows longer runs to the sensor.</p>
<p>Coding this up is also made extremely easy with the OneWire library. I&#8217;ve put together a little application below that will read all of the 1-wire devices on a bus. If you press L in the Arduino IDE serial monitor it will list all the 1-Wire device id&#8217;s and if you press T you&#8217;ll get the id and temperature reading.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
</pre></td><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/*
Simple 1-wire device reading
&nbsp;
Pass T over serial to get temperatures
Pass L to list 1-wire devices
&nbsp;
*/</span>
<span style="color: #339933;">#include &lt;OneWire.h&gt;</span>
<span style="color: #339933;">#include &lt;stdio.h&gt;</span>
&nbsp;
<span style="color: #339933;">#define CONVERT     0x44</span>
<span style="color: #339933;">#define READSCRATCH 0xBE</span>
<span style="color: #339933;">#define SKIP_ROM    0xCC</span>
<span style="color: #339933;">#define MATCH_ROM   0x55</span>
&nbsp;
OneWire  ds<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">// The DS18S20 is connected on pin 10</span>
<span style="color: #993333;">int</span> ledPin <span style="color: #339933;">=</span> <span style="color: #0000dd;">13</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">// flash an led on 13 - we all like flashing lights</span>
&nbsp;
<span style="color: #993333;">void</span> setup<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #666666; font-style: italic;">// initialize inputs/outputs</span>
  <span style="color: #666666; font-style: italic;">// start serial port</span>
  Serial.<span style="color: #202020;">begin</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">9600</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  pinMode<span style="color: #009900;">&#40;</span>ledPin<span style="color: #339933;">,</span> OUTPUT<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">//we'll use the led to output a heartbeat</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> loop<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #993333;">int</span> incomingByte <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
  <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>Serial.<span style="color: #202020;">available</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">// read the incoming byte:</span>
		incomingByte <span style="color: #339933;">=</span> Serial.<span style="color: #202020;">read</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// say what you got:</span>
		<span style="color: #666666; font-style: italic;">//Serial.print(&quot;I received: &quot;);</span>
		<span style="color: #666666; font-style: italic;">//Serial.println(incomingByte, DEC);</span>
                <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>incomingByte <span style="color: #339933;">==</span> <span style="color: #0000dd;">84</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                  getStuff<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                  Serial.<span style="color: #202020;">print</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>^&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>incomingByte <span style="color: #339933;">==</span> <span style="color: #0000dd;">76</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                   listDevices<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> listDevices<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
  byte addr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">8</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
  ds.<span style="color: #202020;">reset_search</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span>ds.<span style="color: #202020;">search</span><span style="color: #009900;">&#40;</span>addr<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
     digitalWrite<span style="color: #009900;">&#40;</span>ledPin<span style="color: #339933;">,</span> HIGH<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   <span style="color: #666666; font-style: italic;">// sets the LED on</span>
&nbsp;
     <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> OneWire<span style="color: #339933;">::</span><span style="color: #202020;">crc8</span><span style="color: #009900;">&#40;</span> addr<span style="color: #339933;">,</span> <span style="color: #0000dd;">7</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> addr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">7</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>   <span style="color: #009900;">&#123;</span>
         <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> addr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #208080;">0x10</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #666666; font-style: italic;">// Make sure it is a DS18S20 device</span>
            <span style="color: #993333;">char</span> buffer<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">512</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
            sprintf<span style="color: #009900;">&#40;</span>buffer<span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;Id:%02x%02x%02x%02x%02x%02x%02x%02x<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span>
                       addr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> addr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> addr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> addr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> addr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
                       addr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">5</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> addr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">6</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> addr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">7</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
              Serial.<span style="color: #202020;">print</span><span style="color: #009900;">&#40;</span>buffer<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
          <span style="color: #009900;">&#125;</span>
      <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
    Serial.<span style="color: #202020;">print</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'^'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> getStuff<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  byte i<span style="color: #339933;">;</span>
  byte present <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
  byte data<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">12</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
  byte addr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">8</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
  <span style="color: #993333;">char</span> buff<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">15</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
  <span style="color: #993333;">float</span> real_temp<span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #993333;">float</span> temp_count<span style="color: #339933;">;</span>
  <span style="color: #993333;">float</span> read_temp<span style="color: #339933;">;</span> 
&nbsp;
  ds.<span style="color: #202020;">reset_search</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span>ds.<span style="color: #202020;">search</span><span style="color: #009900;">&#40;</span>addr<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>  <span style="color: #009900;">&#123;</span>
&nbsp;
     digitalWrite<span style="color: #009900;">&#40;</span>ledPin<span style="color: #339933;">,</span> HIGH<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   <span style="color: #666666; font-style: italic;">// sets the LED on</span>
&nbsp;
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> OneWire<span style="color: #339933;">::</span><span style="color: #202020;">crc8</span><span style="color: #009900;">&#40;</span> addr<span style="color: #339933;">,</span> <span style="color: #0000dd;">7</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> addr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">7</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>  <span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">// Check CRC is valid</span>
        Serial.<span style="color: #202020;">print</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;CRC is not valid&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> addr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #208080;">0x10</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>   <span style="color: #666666; font-style: italic;">// Make sure it is a DS18x20 device</span>
      Serial.<span style="color: #202020;">print</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Device is not a DS18x20 family device.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    ds.<span style="color: #202020;">reset</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    <span style="color: #666666; font-style: italic;">// Reset device</span>
    ds.<span style="color: #202020;">select</span><span style="color: #009900;">&#40;</span>addr<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>     <span style="color: #666666; font-style: italic;">// Select device</span>
    ds.<span style="color: #202020;">write</span><span style="color: #009900;">&#40;</span>CONVERT<span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   <span style="color: #666666; font-style: italic;">// Issue Convert command </span>
&nbsp;
    delay<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>     <span style="color: #666666; font-style: italic;">// maybe 750ms is enough, maybe not</span>
    digitalWrite<span style="color: #009900;">&#40;</span>ledPin<span style="color: #339933;">,</span> LOW<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    <span style="color: #666666; font-style: italic;">// sets the LED off</span>
&nbsp;
    present <span style="color: #339933;">=</span> ds.<span style="color: #202020;">reset</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">// Reset device</span>
    ds.<span style="color: #202020;">select</span><span style="color: #009900;">&#40;</span>addr<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">// Select device</span>
    ds.<span style="color: #202020;">write</span><span style="color: #009900;">&#40;</span>READSCRATCH<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">// Read Scratchpad</span>
&nbsp;
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span> i <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> <span style="color: #0000dd;">9</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>  <span style="color: #666666; font-style: italic;">// we need 9 bytes</span>
          data<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> ds.<span style="color: #202020;">read</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>OneWire<span style="color: #339933;">::</span><span style="color: #202020;">crc8</span><span style="color: #009900;">&#40;</span> data<span style="color: #339933;">,</span> <span style="color: #0000dd;">8</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> data<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">8</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>  <span style="color: #666666; font-style: italic;">// Check CRC is valid</span>
&nbsp;
      <span style="color: #666666; font-style: italic;">// CRC is ok</span>
      <span style="color: #666666; font-style: italic;">// Divide the temperature by 2 - note the » and</span>
      <span style="color: #666666; font-style: italic;">// « need to be replaced with double &lt; and &gt;</span>
      <span style="color: #666666; font-style: italic;">// wordpress kills the server when you try to </span>
      <span style="color: #666666; font-style: italic;">// save otherwise.</span>
      read_temp<span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span>«<span style="color: #0000dd;">8</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">|</span> data<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> » <span style="color: #0000dd;">1</span> <span style="color: #339933;">;</span>
     <span style="color: #666666; font-style: italic;">// Convert to real temperature</span>
      temp_count<span style="color: #339933;">=</span><span style="color: #993333;">float</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">7</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> data<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">6</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">float</span><span style="color: #009900;">&#41;</span>data<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">7</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
      real_temp <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">float</span><span style="color: #009900;">&#41;</span>read_temp<span style="color: #339933;">-</span><span style="color:#800080;">0.25</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>temp_count<span style="color: #339933;">;</span>
&nbsp;
       <span style="color: #666666; font-style: italic;">// Convert float to ascii</span>
      tempToAscii<span style="color: #009900;">&#40;</span>real_temp<span style="color: #339933;">,</span>buff<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #993333;">char</span> buffer<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">512</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
      sprintf<span style="color: #009900;">&#40;</span>buffer<span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;%02x%02x%02x%02x%02x%02x%02x%02x %s<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span>
                  addr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> addr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> addr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> addr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> addr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
                  addr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">5</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> addr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">6</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> addr<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">7</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> buff<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
      Serial.<span style="color: #202020;">print</span><span style="color: #009900;">&#40;</span>buffer<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span>    <span style="color: #009900;">&#123;</span>
       Serial.<span style="color: #202020;">println</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;CRC Failed&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>    
&nbsp;
<span style="color: #993333;">void</span> tempToAscii<span style="color: #009900;">&#40;</span><span style="color: #993333;">double</span> temp<span style="color: #339933;">,</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>buff<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #993333;">int</span> frac<span style="color: #339933;">;</span>
  <span style="color: #666666; font-style: italic;">//get three numbers to the right of the decimal point</span>
  frac<span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">unsigned</span> <span style="color: #993333;">int</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>temp<span style="color: #339933;">*</span><span style="color: #0000dd;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">%</span><span style="color:#800080;">1000</span><span style="color: #339933;">;</span>
  itoa<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span><span style="color: #009900;">&#41;</span>temp<span style="color: #339933;">,</span>buff<span style="color: #339933;">,</span><span style="color: #0000dd;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  strcat<span style="color: #009900;">&#40;</span>buff<span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #666666; font-style: italic;">//put the frac after the decimal</span>
  itoa<span style="color: #009900;">&#40;</span>frac<span style="color: #339933;">,&amp;</span>amp<span style="color: #339933;">;</span>buff<span style="color: #009900;">&#91;</span>strlen<span style="color: #009900;">&#40;</span>buff<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #0000dd;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>There&#8217;s also a copy of the .pde file that you can <a title="download file" href="http://blog.automated.it/files/ds18s20.pde" target="_blank">download</a> if you feel more inclined. It&#8217;s not an exact copy, I removed the commented out xml for the above version. It&#8217;s worth pointing out that this circuit is using what is called parasitic power, which means your cable run should be shortish. If you want to use an external power supply then pin 3 (VDD) on the DS18S20 should go to your external supply. This would allow for much longer runs of cable. Below is an example graph generated by <a title="Cacti" href="http://www.cacti.net/" target="_blank">cacti</a> with 2 DS1820&#8242;s connected the the arduino. As you can see the temperatures aren&#8217;t exactly the same but this is to be expected since the accuracy of the DS1820 is +/- 0.5 ° C</p>
<p style="text-align: center;"><img class="aligncenter" style="margin-left: 30px; margin-right: 30px;" title="Example Graph" src="/images/gallery/1wire/example_graph.png" alt="" width="367" height="304" /></p>
<p>The breaks in the graph were caused my me removing the USB plug from the PC it was connected to so that I could make some minor alterations to the circuit.</p>
<p><a href=http://blog.automated.it/2009/02/04/one-wireduino-made-easy/#comments>Josh</a> asked how I was getting the input for Cacti, here&#8217;s the perl script I use</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
</pre></td><td class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/usr/bin/perl</span>
&nbsp;
<span style="color: #0000ff;">$output</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">`echo -en &quot;T&quot; &gt;&gt;/dev/ttyUSB0 &amp;&amp; cat /dev/ttyUSB0`</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #0000ff;">@lines</span> <span style="color: #339933;">=</span> <span style="color: #000066;">split</span><span style="color: #009900;">&#40;</span><span style="color: #009966; font-style: italic;">/\r\n/</span><span style="color: #339933;">,</span><span style="color: #0000ff;">$output</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #0000ff;">$t</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">foreach</span> <span style="color: #0000ff;">$line</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">@lines</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
       <span style="color: #0000ff;">@spl</span> <span style="color: #339933;">=</span> <span style="color: #000066;">split</span><span style="color: #009900;">&#40;</span><span style="color: #009966; font-style: italic;">/\s+/</span><span style="color: #339933;">,</span><span style="color: #0000ff;">$line</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #0000ff;">$lc</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">@spl</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$lc</span> <span style="color: #b1b100;">gt</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>	
                <span style="color: #0000ff;">$node</span><span style="color: #339933;">=</span><span style="color: #0000ff;">$spl</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #0000ff;">$val</span><span style="color: #339933;">=</span><span style="color: #0000ff;">$spl</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Temperature_$node:$val &quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #0000ff;">$t</span><span style="color: #339933;">++;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>This outputs <em>Temperature_x:n</em> where x is the 1-Wire id and n is the temperature. It could probably do with tidying up and if you wanted to you could pass the 1-Wire id to the script to and only output the temperature for that particular 1-Wire device. A copy of the exported Cacti template can be <a href="/files/cacti_arduino.xml" target=_new>downloaded</a>, I&#8217;m hoping that you just need to import that into your Cacti after placing the script in the scripts directory. Just remember, under linux, if you unplug and replug in your Arduino you may need to set the tty port speed to 9600 (or whatever you put in your Serial.begin(); ). You can use the following command for that;</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">&nbsp;
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">stty</span> <span style="color: #660033;">-F</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>ttyUSB0 cs8 <span style="color: #000000;">9600</span> ignbrk <span style="color: #660033;">-brkint</span> <span style="color: #660033;">-icrnl</span> <span style="color: #660033;">-imaxbel</span> <span style="color: #660033;">-opost</span> <span style="color: #660033;">-onlcr</span> <span style="color: #660033;">-isig</span> <span style="color: #660033;">-icanon</span> <span style="color: #660033;">-iexten</span> <span style="color: #660033;">-echo</span> <span style="color: #660033;">-echoe</span> <span style="color: #660033;">-echok</span> <span style="color: #660033;">-echoctl</span> <span style="color: #660033;">-echoke</span> noflsh <span style="color: #660033;">-ixon</span> <span style="color: #660033;">-crtscts</span></pre></td></tr></table></div>

<p>Make sure that ttyUSB0 is what your Arduino is connected to first. If not you will need to change it in the perl script and on the line above. </p>

<br><a href=http://blog.automated.it/2009/02/04/one-wireduino-made-easy/><p><img style='float:right;margin-left:15px;margin-bottom:10px;' src='http://blog.automated.it/images/tccb.png' border='0'></a></p><br>

<br><span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.automated.it%2F2009%2F02%2F04%2Fone-wireduino-made-easy%2F&amp;title=One+Wireduino+made+easy" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F02%2F04%2Fone-wireduino-made-easy%2F&amp;title=One+Wireduino+made+easy" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F02%2F04%2Fone-wireduino-made-easy%2F&amp;title=One+Wireduino+made+easy" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fblog.automated.it%2F2009%2F02%2F04%2Fone-wireduino-made-easy%2F&amp;title=One+Wireduino+made+easy" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F02%2F04%2Fone-wireduino-made-easy%2F&amp;title=One+Wireduino+made+easy', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://del.icio.us/favicon.ico" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.automated.it%2F2009%2F02%2F04%2Fone-wireduino-made-easy%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fblog.automated.it%2F2009%2F02%2F04%2Fone-wireduino-made-easy%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.automated.it%2F2009%2F02%2F04%2Fone-wireduino-made-easy%2F&amp;title=One+Wireduino+made+easy" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F02%2F04%2Fone-wireduino-made-easy%2F&amp;title=One+Wireduino+made+easy" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
<a href="http://twitter.com/home?status=Currently reading http%3A%2F%2Fblog.automated.it%2F2009%2F02%2F04%2Fone-wireduino-made-easy%2F" title="Click to send this page to Twitter!" target="_blank"><img src="http://www.twitter.com/favicon.ico" width="16" height="16" alt="[Twitter]" /></a>
</span><br><br>
<p><a href="http://feedads.g.doubleclick.net/~a/Zl38PW0x-plV3-uf7hRgAaW76Vg/0/da"><img src="http://feedads.g.doubleclick.net/~a/Zl38PW0x-plV3-uf7hRgAaW76Vg/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Zl38PW0x-plV3-uf7hRgAaW76Vg/1/da"><img src="http://feedads.g.doubleclick.net/~a/Zl38PW0x-plV3-uf7hRgAaW76Vg/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/theCatCameBack/~4/1_wM3zktkxc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.automated.it/2009/02/04/one-wireduino-made-easy/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		<feedburner:origLink>http://blog.automated.it/2009/02/04/one-wireduino-made-easy/</feedburner:origLink></item>
		<item>
		<title>WordPress tweetbacking</title>
		<link>http://feedproxy.google.com/~r/theCatCameBack/~3/l6Tr9sULF6U/</link>
		<comments>http://blog.automated.it/2009/01/12/wordpress-tweetbacking/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 22:09:11 +0000</pubDate>
		<dc:creator>ScaredyCat / Andy Powell</dc:creator>
				<category><![CDATA[opensource]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://blog.automated.it/?p=201</guid>
		<description><![CDATA[Tweetbacking, it sounds like some sort of deviant sport or something but isn&#8217;t. The idea behind Tweetbacks, similar to pingbacks, is that you can see who is commenting (tweeting) about your blog on Twitter. There are a number of plugins available for use in the end I went for Joost de Valk&#8216;s version. While it [...]]]></description>
			<content:encoded><![CDATA[<p>Tweetbacking, it sounds like some sort of deviant sport or something but isn&#8217;t. The idea behind Tweetbacks, similar to pingbacks, is that you can see who is commenting (tweeting) about your blog on Twitter. There are a number of plugins available for use in the end I went for <a title="Tweetback plugin" href="http://yoast.com/wordpress/tweetbacks/" target="_blank">Joost de Valk</a>&#8216;s version. While it worked nicely I decided that I really wanted to approve the tweets before they appeared in my blog so I modified the code a little. The diff is available for <a title="tweetback patch" href="http://blog.automated.it/downloads/tweetback.patch" target="_blank">download</a>. It allows you to enable and disable the automatic approval of Tweets form the plugin&#8217;s admin page. Hopefully Joost will add this option in the official version sometime.</p>
<p>Tweetbacks are saved in the comments table and can be displayed however you like for example, in my comment loop I have:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> 
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$comment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">comment_type</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'tweetback'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #000088;">$avatarurl</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span>
       <span style="color: #0000ff;">&quot;twitter:&quot;</span><span style="color: #339933;">,</span>
       <span style="color: #0000ff;">&quot;http://s3.amazonaws.com/twitter_production/profile_images/&quot;</span><span style="color: #339933;">,</span>
       <span style="color: #000088;">$comment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">comment_author_email</span>
       <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
       <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;img align=middle&quot;</span>
              <span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; src='<span style="color: #006699; font-weight: bold;">$avatarurl</span>' border=none&quot;</span>
              <span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; width=40 height=40 alt=''&gt;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p><em>A word or two of caution about the plugin. Personally I&#8217;ve removed the bit.ly url shortening link parsing because it just didn&#8217;t work properly &#8211; I ended up with bogus tweetbacks until I did.  The other issue is with the date saving from the tweetback, it doesn&#8217;t work properly either giving dates in the 1970&#8242;s!!!</em></p>

<br><a href=http://blog.automated.it/2009/01/12/wordpress-tweetbacking/><p><img style='float:right;margin-left:15px;margin-bottom:10px;' src='http://blog.automated.it/images/tccb.png' border='0'></a></p><br>

<br><span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.automated.it%2F2009%2F01%2F12%2Fwordpress-tweetbacking%2F&amp;title=WordPress+tweetbacking" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F01%2F12%2Fwordpress-tweetbacking%2F&amp;title=WordPress+tweetbacking" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F01%2F12%2Fwordpress-tweetbacking%2F&amp;title=WordPress+tweetbacking" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fblog.automated.it%2F2009%2F01%2F12%2Fwordpress-tweetbacking%2F&amp;title=WordPress+tweetbacking" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fblog.automated.it%2F2009%2F01%2F12%2Fwordpress-tweetbacking%2F&amp;title=WordPress+tweetbacking', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://del.icio.us/favicon.ico" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.automated.it%2F2009%2F01%2F12%2Fwordpress-tweetbacking%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fblog.automated.it%2F2009%2F01%2F12%2Fwordpress-tweetbacking%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.automated.it%2F2009%2F01%2F12%2Fwordpress-tweetbacking%2F&amp;title=WordPress+tweetbacking" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2009%2F01%2F12%2Fwordpress-tweetbacking%2F&amp;title=WordPress+tweetbacking" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
<a href="http://twitter.com/home?status=Currently reading http%3A%2F%2Fblog.automated.it%2F2009%2F01%2F12%2Fwordpress-tweetbacking%2F" title="Click to send this page to Twitter!" target="_blank"><img src="http://www.twitter.com/favicon.ico" width="16" height="16" alt="[Twitter]" /></a>
</span><br><br>
<p><a href="http://feedads.g.doubleclick.net/~a/MO925vuhhWrvKdnyPEEIBa8_SvA/0/da"><img src="http://feedads.g.doubleclick.net/~a/MO925vuhhWrvKdnyPEEIBa8_SvA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/MO925vuhhWrvKdnyPEEIBa8_SvA/1/da"><img src="http://feedads.g.doubleclick.net/~a/MO925vuhhWrvKdnyPEEIBa8_SvA/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/theCatCameBack/~4/l6Tr9sULF6U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.automated.it/2009/01/12/wordpress-tweetbacking/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blog.automated.it/2009/01/12/wordpress-tweetbacking/</feedburner:origLink></item>
		<item>
		<title>What the UK VAT Reduction really means</title>
		<link>http://feedproxy.google.com/~r/theCatCameBack/~3/hUanhkr-aW4/</link>
		<comments>http://blog.automated.it/2008/12/01/what-the-uk-vat-reduction-really-means/#comments</comments>
		<pubDate>Mon, 01 Dec 2008 09:13:54 +0000</pubDate>
		<dc:creator>ScaredyCat / Andy Powell</dc:creator>
				<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://blog.automated.it/?p=200</guid>
		<description><![CDATA[The new UK VAT rate that came in today is probably going to affect consumers in many ways. Unfortunately, as you can see from the snapshot images below of the expansys website, I fear that this solution, as predicted in our office, will become widespread. I&#8217;d also expect in 13 months for them to take [...]]]></description>
			<content:encoded><![CDATA[<p>The new UK VAT rate that came in today is probably going to affect consumers in many ways. Unfortunately,  as you can see from the snapshot images below of the expansys website, I fear that this solution, as predicted in our office, will become widespread. I&#8217;d also expect in 13 months for them to take the opportunity to increase their prices.</p>
<div class="wp-caption alignnone" style="width: 394px"><img src="/images/expansys-ripoff-pre-vat.png" alt="Pricing for LG Viewty pre VAT change" width="384" height="164" /><p class="wp-caption-text">Expansys Pricing for LG Viewty pre VAT change</p></div>
<div class="wp-caption alignnone" style="width: 457px"><img src="/images/expansys-ripoff-post-vat.png" alt="Expansys Pricing for LG Viewty post VAT change" width="447" height="202" /><p class="wp-caption-text">Expansys Pricing for LG Viewty post VAT change</p></div>
<p>Thankfully some online retailers, like <a title="linitx" href="http://linitx.com" target="_blank">LinITX.com</a> where I work, haven&#8217;t pulled this sort of trick on customers.</p>

<br><a href=http://blog.automated.it/2008/12/01/what-the-uk-vat-reduction-really-means/><p><img style='float:right;margin-left:15px;margin-bottom:10px;' src='http://blog.automated.it/images/tccb.png' border='0'></a></p><br>

<br><span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.automated.it%2F2008%2F12%2F01%2Fwhat-the-uk-vat-reduction-really-means%2F&amp;title=What+the+UK+VAT+Reduction+really+means" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.automated.it%2F2008%2F12%2F01%2Fwhat-the-uk-vat-reduction-really-means%2F&amp;title=What+the+UK+VAT+Reduction+really+means" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2008%2F12%2F01%2Fwhat-the-uk-vat-reduction-really-means%2F&amp;title=What+the+UK+VAT+Reduction+really+means" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fblog.automated.it%2F2008%2F12%2F01%2Fwhat-the-uk-vat-reduction-really-means%2F&amp;title=What+the+UK+VAT+Reduction+really+means" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fblog.automated.it%2F2008%2F12%2F01%2Fwhat-the-uk-vat-reduction-really-means%2F&amp;title=What+the+UK+VAT+Reduction+really+means', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://del.icio.us/favicon.ico" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.automated.it%2F2008%2F12%2F01%2Fwhat-the-uk-vat-reduction-really-means%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fblog.automated.it%2F2008%2F12%2F01%2Fwhat-the-uk-vat-reduction-really-means%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.automated.it%2F2008%2F12%2F01%2Fwhat-the-uk-vat-reduction-really-means%2F&amp;title=What+the+UK+VAT+Reduction+really+means" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.automated.it%2F2008%2F12%2F01%2Fwhat-the-uk-vat-reduction-really-means%2F&amp;title=What+the+UK+VAT+Reduction+really+means" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
<a href="http://twitter.com/home?status=Currently reading http%3A%2F%2Fblog.automated.it%2F2008%2F12%2F01%2Fwhat-the-uk-vat-reduction-really-means%2F" title="Click to send this page to Twitter!" target="_blank"><img src="http://www.twitter.com/favicon.ico" width="16" height="16" alt="[Twitter]" /></a>
</span><br><br>
<p><a href="http://feedads.g.doubleclick.net/~a/HIL3lsBDSzXrGM9XFfjfcya2toI/0/da"><img src="http://feedads.g.doubleclick.net/~a/HIL3lsBDSzXrGM9XFfjfcya2toI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/HIL3lsBDSzXrGM9XFfjfcya2toI/1/da"><img src="http://feedads.g.doubleclick.net/~a/HIL3lsBDSzXrGM9XFfjfcya2toI/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/theCatCameBack/~4/hUanhkr-aW4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.automated.it/2008/12/01/what-the-uk-vat-reduction-really-means/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blog.automated.it/2008/12/01/what-the-uk-vat-reduction-really-means/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic Page Served (once) in 2.726 seconds --><!-- Cached page served by WP-Cache -->

