<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>furbo.org &#187; Miscellaneous</title>
	<atom:link href="http://furbo.org/category/miscellaneous/feed/" rel="self" type="application/rss+xml" />
	<link>http://furbo.org</link>
	<description>by Craig Hockenberry</description>
	<lastBuildDate>Sat, 28 Jan 2012 02:36:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Homebase</title>
		<link>http://furbo.org/2012/01/16/homebase/</link>
		<comments>http://furbo.org/2012/01/16/homebase/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 22:17:56 +0000</pubDate>
		<dc:creator>Craig Hockenberry</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Observation]]></category>

		<guid isPermaLink="false">http://furbo.org/?p=409</guid>
		<description><![CDATA[A lot of people I know and respect have been commenting on problems associated with the iPhone mute switch:
John Gruber – On the Behavior of the iPhone Mute Switch
Andy Ihnatko – Unmuting on The Mute Question
Marco Arment – Designing “Mute”
Guy English &#8211; Mute This
Both sides of the argument have valid points-of-view. This really is a [...]]]></description>
			<content:encoded><![CDATA[<p>A lot of people I know and respect have been commenting on problems associated with the iPhone mute switch:</p>
<p><a href="http://daringfireball.net/2012/01/iphone_mute_switch_design">John Gruber – On the Behavior of the iPhone Mute Switch</a><br />
<a href="http://ihnatko.com/2012/01/15/unmuting-on-the-mute-question/">Andy Ihnatko – Unmuting on The Mute Question</a><br />
<a href="http://www.marco.org/2012/01/14/mute">Marco Arment – Designing “Mute”</a><br />
<a href="http://kickingbear.com/blog/archives/282">Guy English &#8211; Mute This</a></p>
<p>Both sides of the argument have valid points-of-view. This really is a situation with no right answer given the current mechanisms.</p>
<p>That got me thinking that there might be something missing that&#8217;s causing this ambiguity. I&#8217;ve come to the realization that this is a problem bigger than just alarms going off at inopportune moments. What we really want is for the devices in our pocket to behave differently depending on where they&#8217;re physically located.</p>
<p>Let&#8217;s imagine a new feature in iOS called &#8220;Homebase&#8221;. A user would be presented with a simple UI that lets them select a location that&#8217;s a &#8220;safe&#8221; environment. After the setup is complete, your Homebase would be recognized by GPS coordinates and/or available Wi-Fi networks. The important thing here is that the user gets to define where they feel safe with their device.</p>
<p>With that information developers can make smarter decisions:</p>
<ul>
<li>
Alarms that go off while the mute switch is on make noise at Homebase and just vibrate elsewhere. There&#8217;s no need to worry about alarms going off in public places (such as concert halls) and you won&#8217;t oversleep when you go to bed with a mute switch on.
</li>
<li>
The lock screen doesn&#8217;t need to display a Passcode lock at Homebase. People who use the Remote app with their Apple TV will no longer be annoyed by an unnecessary security precaution, nor will folks forget to turn their Passcode lock back on when they leave for the local bar (where they&#8217;re certain to get a <a href="https://twitter.com/#!/chockenberry/statuses/125410955369783296">Poopin&#8217;</a> tweet.)
</li>
<li>
Apps, like Find My Friends, could use cached Apple ID credentials at Homebase and avoid asking the user for them over and over and over and over again.
</li>
</ul>
<p>Of course, this feature is needed most by people who don&#8217;t even know the Settings app exists. It&#8217;s my opinion that if developers are careful with this additional knowledge about the user and device, default behavior can be adjusted appropriately without additional confusion. It&#8217;s analogous to the Energy Saver on the Mac: people don&#8217;t question why the screen dims when the power cord is removed because it just &#8220;makes sense&#8221;.</p>
<p>The examples above use Apple&#8217;s own apps, but the Homebase status would be useful for third-party developers, too.</p>
<p>If you&#8217;d like to see something like Homebase in iOS, please be sure to file a <a href="http://www.openradar.me/10702394">duplicate Radar</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://furbo.org/2012/01/16/homebase/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Un-Trusteer-ed</title>
		<link>http://furbo.org/2011/08/01/un-trusteer-ed/</link>
		<comments>http://furbo.org/2011/08/01/un-trusteer-ed/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 16:16:17 +0000</pubDate>
		<dc:creator>Craig Hockenberry</dc:creator>
				<category><![CDATA[Advice]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Observation]]></category>

		<guid isPermaLink="false">http://furbo.org/?p=395</guid>
		<description><![CDATA[The bank we use for our business account recently mandated the use of a product called Trusteer Rapport while accessing our information online. Although Mac OS X doesn&#8217;t have any problems with &#8220;increasingly sophisticated malware in the online environment&#8221;, I do need to periodically check our accounts and transactions so I proceeded with the installation.
The [...]]]></description>
			<content:encoded><![CDATA[<p>The bank we use for our business account recently <a href="https://www.suntrust.com/Microsites/ocm_rapport/index.htm">mandated</a> the use of a product called Trusteer Rapport while accessing our information online. Although Mac OS X doesn&#8217;t have any problems with &#8220;increasingly sophisticated malware in the online environment&#8221;, I do need to periodically check our accounts and transactions so I proceeded with the installation.</p>
<p>The first warning sign was after starting the Installer: I was prompted for an administrator password indicating that this software wanted to run from protected areas of my system. Being a developer, I immediately dug into the installer scripts and configuration files to see that the app is placing items in the Rapport/bin, PreferencePanes, LaunchDaemons and LaunchAgents folders of the main system Library folder. The launch folders indicate that the software will be run whenever my Mac is restarted and will be able to do things a normal user would not (because of elevated permissions.)</p>
<p>I placed my security concerns aside as I need to access my bank website, so I went ahead with the installation. Afterwards, I was directed to a web page describing the <a href="http://activation.trusteer.com/v3/installation-complete-osx">new software</a>.</p>
<p>Again, as a developer, my first thoughts were suspicious ones. From experience, I know that it&#8217;s not easy to modify Safari&#8217;s user interface in the way that Trusteer was doing. My guess that there would be a new, always active, background process was confirmed by the presence of &#8220;rooksd&#8221; in my process list.</p>
<p>However what happened next really opened my eyes. Safari <a href="http://files.iconfactory.net/craig/bugs/Rapport.txt">crashed</a>.</p>
<p>Of course that, in and of itself, isn&#8217;t the end of the world. But I was surprised to see a new library named RapportUtil1 while looking at the Safari crash report. It was pretty clear that the new Trusteer software caused the crash. But how?</p>
<p>As a longtime Objective-C developer, I know a thing or two about <a href="http://www.mikeash.com/pyblog/friday-qa-2010-01-29-method-replacement-for-fun-and-profit.html">&#8220;method swizzling</a>&#8220;. In a nutshell, this allows a developer to replace the functionality of code they don&#8217;t have direct access to (typically in the system or other frameworks.) </p>
<p>Seeing &#8220;_nsapplication_sendEvent_override&#8221; tells me that Trusteer is using this technique to change the behavior of Safari. The function that is being affected is <a href="http://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSApplication_Class/Reference/Reference.html#//apple_ref/occ/instm/NSApplication/sendEvent:">-sendEvent:</a> &#8212; the part of every Cocoa application where mouse, keyboard and other input is routed.</p>
<p>Method swizzling is a dangerous activity. You have to make assumptions about how some other code, that you&#8217;ve never seen, is behaving. You also need to think about how that code might change in future versions. There are extreme cases where this technique can be effective: overriding the default behavior of my web browser is not one of them.</p>
<p>It&#8217;s clear that the folks taking control of my browser aren&#8217;t as clever as they think. Do you see a common theme when you search Apple&#8217;s discussion forums for &#8220;<a href="https://discussions.apple.com/search.jspa?peopleEnabled=true&#038;userID=&#038;containerType=&#038;container=&#038;spotlight=true&#038;q=RapportUtil1">RapportUtil1</a>&#8220;?</p>
<p>Even more troubling is the method being overridden: every key press or mouse movement is first being sent to Rapport and then forwarded onto Safari. Since this happens often, the intruding software can do pretty much whatever it wants, whenever it wants. And remember that part of this package is running with elevated permissions in the background.</p>
<p>After <a href="http://twitter.com/#!/chockenberry/status/97361639430553601">mentioning</a> my findings on Twitter, I got back some very interesting replies. Graham Lee (<a href="http://twitter.com/iamleeg">@iamleeg</a>) pointed out that I&#8217;m not the first developer to <a href="http://broadcast.oreilly.com/2008/12/snake-oil-legitimate-vendors-s.html">question the technical merits</a> of this software. But then Peter Hosey (<a href="http://twitter.com/boredzo">@boredzo</a>) dropped the real bomb. Trusteer tacitly admits to <a href="http://www.trusteer.com/company/press/trusteer-finds-two-thirds-internet-users-reuse-their-online-banking-credentials-other-">recording my password</a>. That&#8217;s easy to do when you take control of -sendEvent:.</p>
<p>Essentially, my bank is asking me to install is a <a href="http://en.wikipedia.org/wiki/Keystroke_logging">keylogger</a>. Just so they can warn me not to use the same password on suntrust.com and playboy.com.</p>
<p>Hopefully, the engineers behind Rapport are smart enough to be using <a href="http://en.wikipedia.org/wiki/Password#Form_of_stored_passwords">hashed passwords</a> rather than clear text. And hopefully none of the personal information Safari has access to is being forwarded to the Trusteer servers. And hopefully they&#8217;re not recording how many times I visited playboy.com last month. But that&#8217;s beside the point, because as a closed source product, no one can audit their activity. That&#8217;s not true with <a href="http://www.webkit.org/">Safari</a>. </p>
<p>Oh, and there&#8217;s one other thing: the Rapport software isn&#8217;t supported on Lion. One of the tenets of method swizzling is to test your software early and often with any new release of the system or framework that it&#8217;s modifying. As a developer, you need to be proactive about fixing any problems that pop up in the code you are overriding. Not doing so is irresponsible and puts your users at risk. The last update for Rapport was in 2009.</p>
<p>(One could speculate that the new <a href="http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars/9#privilege-separation">privilege separation architecture for Safari</a> in Lion is causing Trusteer&#8217;s developers a lot of headaches. The other tenet of method swizzling is to remember that it&#8217;s not a matter of <strong>if</strong> your hack will break in the future, but rather <strong>when</strong> it will break and how painful it will be to fix.)</p>
<p>Needless to say, I have uninstalled this software and will never be installing it again. I would recommend this course of action to any end user.</p>
<p>But that leaves me with a problem: how do I access my bank&#8217;s website? I have three options:</p>
<p>1) Find another bank. This is a difficult choice, as there are many systems that are hooked up to this account: ACH transactions for sales via iTunes, bi-weekly payroll, automatic payments for services, etc. I&#8217;d also like to give SunTrust a chance to reconsider their position in requiring this software (they will be getting a copy of this report.)</p>
<p>2) Use the telephone. I can call the bank when I need the information. Sure they&#8217;ll get tired of hearing from me, and it will cost them more for customer service, but it&#8217;s their choice to require Trusteer Rapport.</p>
<p>3) Run the Trusteer Rapport software in locked down environment. Once it&#8217;s supported on Lion, it should be possible to create a virtual machine that that will only be used to access the bank website. Needless to say this is inconvenient, a waste of resources, and severely limits my ability take advantage of my bank&#8217;s services.</p>
<p>In closing, I&#8217;ll leave you with one final irony: I will <strong>never</strong> be able to access my bank&#8217;s website from what is arguably the most secure computing device in existence today. That&#8217;s because the iPad is not a <a href="http://www.trusteer.com/supported-platforms">supported platform</a>. Apple only allows third-party applications to run in a secure sandbox where they can&#8217;t affect other applications or the operating system. What you&#8217;ve seen above is exactly the reason they&#8217;ve done this.</p>
]]></content:encoded>
			<wfw:commentRss>http://furbo.org/2011/08/01/un-trusteer-ed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Predators</title>
		<link>http://furbo.org/2011/05/23/predators/</link>
		<comments>http://furbo.org/2011/05/23/predators/#comments</comments>
		<pubDate>Mon, 23 May 2011 17:00:52 +0000</pubDate>
		<dc:creator>Craig Hockenberry</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://furbo.org/?p=382</guid>
		<description><![CDATA[Dear Steve,
I&#8217;m one of the developers that is affected by the Lodsys patent infringement claim. I&#8217;m writing not to beg for your support, but rather to give you a better idea of how this legal action affects the average iOS developer.
We&#8217;re a small company. We have 12 employees that have created 14 products for Mac [...]]]></description>
			<content:encoded><![CDATA[<p>Dear Steve,</p>
<p>I&#8217;m one of the developers that is affected by the Lodsys patent infringement claim. I&#8217;m writing not to beg for your support, but rather to give you a better idea of how this legal action affects the average iOS developer.</p>
<p>We&#8217;re a small company. We have <a href="http://iconfactory.com/home/staff">12 employees</a> that have created <a href="http://iconfactoryapps.com/">14 products</a> for Mac and iOS. We have been incorporated in the state of North Carolina since 1999. We won an Apple Design Award in 2008.</p>
<p>We&#8217;ve been doing product development long enough to know that legal expenses are just a part of doing business. But as we both know, the costs of patent litigation can be staggering. As a small company, we don&#8217;t have the resources to defend ourselves, so that leaves us with one option: to pay a licensing fee.</p>
<p>And that worries us and every other iOS developer we know.</p>
<p>In and of itself, paying half of a percent of our App Store sales to Lodsys isn&#8217;t going to put us out of business. The fear we have is that this is the first step on a very slippery slope.</p>
<p>It&#8217;s well known that the top titles in the App Store can earn tens of thousands of dollars per day. There are many predators with dubious patents who see dollar signs when they look at the flock of iOS developers.</p>
<p>What these predators don&#8217;t realize is that for every developer who&#8217;s earning millions, there are many thousands who are earning much less. This backbone of the iOS ecosystem is doing well with work we love, but that is very much at risk with increased legal costs. We wonder what happens when these predators discover that the earnings from these apps are much lower than they expect. Will the licensing fees increase as a result? Will our next infringement be 5%, 10%, or more?</p>
<p>Of course, this is also a slippery slope for Apple. Taking on a legal burden for an entire platform is not something we would want to do, especially when the root of the problem is a screwed up patent system.</p>
<p>We love developing products for iOS and the Mac, but this legal mess has already started killing that enthusiasm. Apple has revolutionized the distribution of software via the App Store and that has been a great boon for smaller developers. It makes us furious that these greedy predators can put all of that at risk with patents.</p>
<p>Thanks for your time,</p>
<p>Craig Hockenberry</p>
]]></content:encoded>
			<wfw:commentRss>http://furbo.org/2011/05/23/predators/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone multitasking</title>
		<link>http://furbo.org/2010/06/21/iphone-multitasking/</link>
		<comments>http://furbo.org/2010/06/21/iphone-multitasking/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 18:08:46 +0000</pubDate>
		<dc:creator>Craig Hockenberry</dc:creator>
				<category><![CDATA[Advice]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://furbo.org/?p=293</guid>
		<description><![CDATA[It&#8217;s no secret that &#8220;multitasking&#8221; is one of the great new features of iOS 4. Unfortunately, many people have a misconception about what Apple has implemented. Hopefully this short essay will help you understand the restrictions and the good reasons for having these limits.
On your desktop, multitasking means that any application or process can run [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s no secret that &#8220;multitasking&#8221; is one of the great new features of iOS 4. Unfortunately, many people have a misconception about what Apple has implemented. Hopefully this short essay will help you understand the restrictions and the good reasons for having these limits.</p>
<p>On your desktop, multitasking means that any application or process can run at the same time as another. Technically, there&#8217;s no reason why the same can&#8217;t be done on a mobile device. However, from a more practical point-of-view, there is one good reason why you don&#8217;t want this: a running app uses energy that decreases your battery life. Running fewer apps means you can listen to music longer, make more phone calls, or call up Maps at the end of the day to find a place for dinner.</p>
<p>At the same time, there are certain types of app that must run in the background in order to be useful. Apple has identified three categories of apps:</p>
<ul>
<li>Audio – Apps that plays audible content while in the background. The poster child for this type of application is Pandora.</li>
<li>VOIP – When you&#8217;re making or receiving phone calls over an Internet connection, you&#8217;re using a &#8220;Voice Over Internet Protocol&#8221; app that runs in the background. Skype is a good example.</li>
<li>Location – Some applications need to run in the background so they can keep track of your current location. An app that logs GPS coordinates while you take a walk or run would need to do this.</li>
</ul>
<p>Additionally, apps can tell iOS 4 that they need additional time to complete a task or want the user to be notified at a specific time. This lets apps finish a long download or pop up the little blue window like an incoming SMS message.</p>
<p>These simple rules cover a wide variety of situations, but there are still some cases that aren&#8217;t covered. The main shortcoming is with apps that need to periodically refresh data. Social networking apps, chat programs, news readers, and other utilities that check the Internet for changing data don&#8217;t fit into any of the above categories. Developers have <a href="http://www.marco.org/684391075">proposed solutions</a> to these problems, but there&#8217;s no solution for today&#8217;s software.</p>
<p>Part of the confusion with multitasking comes from Apple&#8217;s excellent implementation of &#8220;task switching&#8221;. When you double-tap on the home button and start another application, the previous application is &#8220;frozen&#8221; and put into a state where it&#8217;s not running but can be restarted quickly. A part of the freezing process also reduces the amount of memory being used: allowing more applications to fit in freezer.</p>
<p>The next time you tap on the app&#8217;s icon, it is &#8220;thawed out&#8221; and put back on your iPhone&#8217;s screen while the previous app is frozen. This process is repeated each time you launch an app.</p>
<p>This sleight of hand makes it feel like you&#8217;re running many more applications than you actually are. It also explains how your iPhone can continue to have great battery life while you interact with many different apps. Most of your apps will be frozen and not using power: only the app on your screen is active. And even with audio, phone or GPS apps that are running in the background, you won&#8217;t be using more than one of those at a time (go ahead and try to listen to Pandora and the iPod apps at the same time!)</p>
<p>Hopefully this short explanation helps you understand that the developer of your favorite app isn&#8217;t being lazy about doing refreshing in the background! If you feel strongly about this situation, the best thing you can do is <a href="http://www.apple.com/feedback/iphone.html">give Apple some feedback</a>.</p>
<p><strong>Updated July 1st, 2010:</strong> Matt Neuburg has written an <a href="http://db.tidbits.com/article/11378">in-depth explanation of fast app switching</a> at TidBITS.</p>
]]></content:encoded>
			<wfw:commentRss>http://furbo.org/2010/06/21/iphone-multitasking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WORLD WILD DEBACHING CHOCK</title>
		<link>http://furbo.org/2010/05/26/wwdc/</link>
		<comments>http://furbo.org/2010/05/26/wwdc/#comments</comments>
		<pubDate>Thu, 27 May 2010 01:03:18 +0000</pubDate>
		<dc:creator>Craig Hockenberry</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://furbo.org/?p=255</guid>
		<description><![CDATA[DEAR LOSERS WHO ARE GOING TO WWDC HERES MY GUIDE TO MAKE YOUR TRIP PLEASENT IF YOU KNOW WHAT I MEAN

APR 23 SO THIS GUY @MACGUITAR GETS IN THE HOT TUB AND SAYS HE WANTS TO SHOW ME HIS THINGS WHAT A WEIRDO MADE @GRUBER JEALOUS TO

APR 24 @jsnell BE CAREFUL OR I WILL MAKE [...]]]></description>
			<content:encoded><![CDATA[<p>DEAR LOSERS WHO ARE GOING TO WWDC HERES MY GUIDE TO MAKE YOUR TRIP PLEASENT IF YOU KNOW WHAT I MEAN</p>
<p><img src="http://furbo.org/wp-content/uploads/2010/05/CHOCKTUB.png" alt="CHOCKTUB" title="CHOCKTUB" width="260" height="260" class="aligncenter size-full" /></p>
<p><a href="http://twitter.com/chockenberry/status/1600388887">APR 23</a> SO THIS GUY @MACGUITAR GETS IN THE HOT TUB AND SAYS HE WANTS TO SHOW ME HIS THINGS WHAT A WEIRDO MADE @GRUBER JEALOUS TO</p>
<p><img src="http://furbo.org/wp-content/uploads/2010/05/CHOCKTUB2.png" alt="CHOCKTUB" title="CHOCKTUB" width="260" height="260" class="aligncenter size-full" /></p>
<p><a href="http://twitter.com/chockenberry/status/1607581465">APR 24</a> @jsnell BE CAREFUL OR I WILL MAKE YOU GET IN THE HOT TUB WHAT KIND OF WHINE DO YOU LIKE</p>
<p><img src="http://furbo.org/wp-content/uploads/2010/05/CHOCKTUB3.png" alt="CHOCKTUB3" title="CHOCKTUB3" width="260" height="260" class="aligncenter size-full" /></p>
<p><a href="http://twitter.com/chockenberry/status/1740712615">MAY 8</a> WELL LOOK WHOS SHOWN UP AND HE BROUGHT SOME READING MATERIAL COULD IT GET ANY HOTTER IN THIS TUB I HOPE SO</p>
<p><img src="http://furbo.org/wp-content/uploads/2010/05/CHOCKTUB4.png" alt="CHOCKTUB4" title="CHOCKTUB4" width="260" height="260" class="aligncenter size-full" /></p>
<p><a href="http://twitter.com/chockenberry/status/1747567797">MAY 9</a> NOW THAT @SIRACUSA HAS FINALLY SHUTUP ABOUT HIS DEEP FEELINGS FOR LARRY WALL WERE GOING TO LEARN ABOUT THE BLINK TAG FROM JEFFRAY PARTY ON</p>
<p><img src="http://furbo.org/wp-content/uploads/2010/05/CHOCKTUB5.png" alt="CHOCKTUB5" title="CHOCKTUB5" width="260" height="260" class="aligncenter size-full" /></p>
<p><a href="http://twitter.com/chockenberry/status/1791040562">MAY 13</a> OK WHO LET THE CHICKS IN I TELL YOU WHAT IF SHE STARTS UP WITH THE POETRY SHELL BE LOOKING FOR A WORD THAT RHYMES WITH PALM</p>
<p><img src="http://furbo.org/wp-content/uploads/2010/05/CHOCKTUB6.png" alt="CHOCKTUB6" title="CHOCKTUB6" width="260" height="260" class="aligncenter size-full" /></p>
<p><a href="http://twitter.com/chockenberry/status/1819867430">MAY 16</a> WHO THE HELL LET THE KID INTO THE HOT TUB BOY BE CAREFUL OF THE GUY BEHIND YOU HELL WANT TO SHOW YOU HIS THINGS YOU CAN LEAVE YOUR HAT ON TO</p>
<p><img src="http://furbo.org/wp-content/uploads/2010/05/CHOCKTUB7.png" alt="CHOCKTUB" title="CHOCKTUB" width="260" height="260" class="aligncenter size-full" /></p>
<p><a href="http://twitter.com/chockenberry/status/1849010470">MAY 19</a> I THOUGHT CATS DIDNT LIKE WATER THAT SNEEKY BASTARD @SOCKINGTON IS PROBABLY GOING AFTER MY WHINE</p>
<p><img src="http://furbo.org/wp-content/uploads/2010/05/CHOCKTUB8.png" alt="CHOCKTUB" title="CHOCKTUB" width="260" height="260" class="aligncenter size-full" /></p>
<p><a href="http://twitter.com/chockenberry/status/1872364765">May 21st</a> Looks like Twitter&#8217;s avatar uploading is broken. Again.</p>
<p><a href="http://twitter.com/chockenberry/status/1872527359">MAY 21</a> OR MAYBE IT WAS JUST THAT @ATEBITS AND ME BEING IN THE SAME TUB WAS TO HOTT TO HANDLE</p>
<p><a href="http://twitter.com/chockenberry/status/1873315519">MAY 21</a> IN MORE IMPORTANT NEWS TWITTER FIXED THERE SERVER SO THE CACTUS FITS IN THE HOTT TUB AND @GRUBER THOUGHT SITTING IN MY LAP WAS PRICKLY</p>
<p><img src="http://furbo.org/wp-content/uploads/2010/05/CHOCKTUB9.png" alt="CHOCKTUB" title="CHOCKTUB" width="260" height="260" class="aligncenter size-full" /></p>
<p><a href="http://twitter.com/chockenberry/status/1966021854">MAY 29</a> SO ITS BIKINIS ON MONDAY AND WOLFS SHIRTS ON TUESDAYS WHAT ARE WE GOING TO WEAR THE REST OF THE WWDC WHEN WERE NOT IN THE HOTT TUB</p>
<p><a href="http://twitter.com/chockenberry/status/1966128967">MAY 29</a> AN IMPORTANT AVATER UPDATE IS NOT WORKING AND NO IM NOT WEARING A BIKINI IN IT BUT ITS BETTER</p>
<p><a href="http://twitter.com/chockenberry/status/1984372376">MAY 31</a> HEY HEY IT LOOKS LIKE THAT FOXY @TJW DUDE LOST HIS HAT ON THE WAY TO THE HOTT TUB AND WHAT THE HELL DOES INMO MEAN <a href="http://twitpic.com/59r88">http://twitpic.com/59r88</a></p>
<p><img src="http://furbo.org/wp-content/uploads/2010/05/CHOCKTUB10.png" alt="CHOCKTUB" title="CHOCKTUB" width="260" height="260" class="aligncenter size-full" /></p>
<p><a href="http://twitter.com/chockenberry/status/2018386215">JUN 3</a> WHO LET THE DOGS OUT THIS HOTT TUBB IS FULL OF PARTY ANIMALS NOW MOOF MOOF MOOF MOOF <a href="http://bit.ly/QNz2G">http://bit.ly/QNz2G</a> AND DONT SPILL MY WHINE</p>
<p><img src="http://furbo.org/wp-content/uploads/2010/05/CHOCKTUB11.png" alt="CHOCKTUB" title="CHOCKTUB" width="260" height="260" class="aligncenter size-full" /></p>
<p><a href="http://twitter.com/chockenberry/status/2037351902">JUN 4</a> I LOVE TO CUDDLE WITH TEDDY BEARS ESPECIALLY IN THE HOTT TUBB WONDER WHO LET HIM OFF THE FARM IN THAT KEEWEE COUNTRY</p>
<p><img src="http://furbo.org/wp-content/uploads/2010/05/CHOCKTUB12.png" alt="CHOCKTUB" title="CHOCKTUB" width="260" height="260" class="aligncenter size-full" /></p>
<p><a href="http://twitter.com/chockenberry/status/2038426241">JUN 4</a> OH CRAP ANOTHER BEAR SHOWED UP BUT THIS ONES CANADAIAN AND HES GOT HIS EYES ON MY DRINK HES ALMOST A FRENCHIE TO</p>
<p><img src="http://furbo.org/wp-content/uploads/2010/05/CHOCKTUB13.png" alt="CHOCKTUB" title="CHOCKTUB" width="260" height="260" class="aligncenter size-full" /></p>
<p><a href="http://twitter.com/chockenberry/status/2045031185">JUN 5</a> WHOA SOMEONE AND THERE ROCK HARD ASS JUST SHOWED UP IN THE HOTT TUBB NEVER SEEN SUCH FANCY SWIM TRUNKS EITHER WHAT AN PARTY ANIMAL</p>
<p><img src="http://furbo.org/wp-content/uploads/2010/05/CHOCKTUB14.png" alt="CHOCKTUB" title="CHOCKTUB" width="260" height="260" class="aligncenter size-full" /></p>
<p><a href="http://twitter.com/chockenberry/status/2045221111">JUN 5</a> THE HOTT TUBB IS GETTING SO FULL WERE ONLY ALLOWING SUBATOMIC PARTICLES FROM THE HARDON COLLIDER MAYBE HIS EXISTENCE PROOFS THE THEORY</p>
<p><img src="http://furbo.org/wp-content/uploads/2010/05/CHOCKTUB15.png" alt="CHOCKTUB" title="CHOCKTUB" width="260" height="260" class="aligncenter size-full" /></p>
<p><a href="http://twitter.com/chockenberry/status/2045652964">JUN 5</a> @Curvyboom YOU CHICKS SPEND ALL YOUR TIME ON FACEBOOK PLANNING LUNCH AND WAITING IN LINE FOR THE TOILET NO TIME TO PARTY WITH US ANIMALS</p>
<p><a href="http://twitter.com/chockenberry/status/2056078103">JUN 6</a> WITH ALL THE CHICKS SHOWING UP FOR WWDC I KNEW ONE OF THEM WOULD TRY TO SNEAK INTO THE HOTT TUBB GOOTEN MORGEN MINE FRAULINE ICH HABEN CHOCK</p>
<p><img src="http://furbo.org/wp-content/uploads/2010/05/CHOCKTUB16.png" alt="CHOCKTUB" title="CHOCKTUB" width="260" height="260" class="aligncenter size-full" /></p>
<p><a href="http://twitter.com/chockenberry/status/2061161261">JUN 6</a> IT LOOKS LIKE SOMEONE WITH A TELETYPE SHOWED UP TO THE HOTT TUBB ID KICK HIM OUT BUT HIS PALMS LOOK DELICIOUSLY FLESHY</p>
<p><img src="http://furbo.org/wp-content/uploads/2010/05/CHOCKTUB17.png" alt="CHOCKTUB" title="CHOCKTUB" width="260" height="260" class="aligncenter size-full" /></p>
<p><a href="http://twitter.com/chockenberry/status/2062173118">JUN 6</a> @dsandler ITS EASY TO EXPLAIN JUST SAY THAT ITS PINK AND WARM</p>
<p><a href="http://twitter.com/chockenberry/status/2066359884">JUN 7</a> ANOTHER DAY ANOTHER CHICK IN THE HOTT TUBB SHES ALMOST AS PINK AS I AM AND I THINK SHES LAUGHING AT US NOT WITH US WONDER IF SHES MARRIED</p>
<p><img src="http://furbo.org/wp-content/uploads/2010/05/CHOCKTUB18.png" alt="CHOCKTUB" title="CHOCKTUB" width="260" height="260" class="aligncenter size-full" /></p>
<p><a href="http://twitter.com/chockenberry/status/2067410261">JUN 7</a> @AmyJane ILL MAKE SURE TO WHISPER POPS IN HIS EAR WHEN WE HAVE OUR ANUAL SNUGGLE</p>
<p><a href="http://twitter.com/chockenberry/status/2083224782">JUN 8</a> YOU LOSERS WHO DIDNT COME OVER TO THE YERBO BUENO HOTT TUBB MISSED OUR SURPRIZE GUEST DURING THE KEYNOTE @GRUBER WAS SO EXCITED HE PEED</p>
<p><img src="http://furbo.org/wp-content/uploads/2010/05/CHOCKTUB20.png" alt="CHOCKTUB" title="CHOCKTUB" width="260" height="260" class="aligncenter size-full" /></p>
<p><a href="http://twitter.com/chockenberry/status/2090364421">JUN 9</a> ITS GOT SO CROWDED IN THE HOTT TUBB LAST NIGHT I HAD SOME GOLDEN GATES INSTALLED SO YOU CAN ALL LEAVE NOW</p>
<p><img src="http://furbo.org/wp-content/uploads/2010/05/CHOCKTUB21.png" alt="CHOCKTUB" title="CHOCKTUB" width="260" height="260" class="aligncenter size-full" /></p>
<p><a href="http://twitter.com/chockenberry/status/2105824771">JUN 10</a> SOMEONE TURNED UP THE HEAT ON THE HOTT TUBB LAST NIGHT AND IM STILL FEELING A BIT WOOZY ALSO SEEING GRUBER SWEAT IS NASTY</p>
<p><a href="http://twitter.com/chockenberry/status/2114316861">JUN 10</a> OOOOOOHHH FUZZY BALLS ARE TICKLING MY NOSE IN THE HOTT TUBB AFTER FREE BEER AT THE MAC WORLD</p>
<p><img src="http://furbo.org/wp-content/uploads/2010/05/CHOCKTUB22.png" alt="CHOCKTUB" title="CHOCKTUB" width="260" height="260" class="aligncenter size-full" /></p>
<p><a href="http://twitter.com/chockenberry/status/2120475278">JUN 11</a> YEAH ITS TRUE I MAY BE GETTING OUT OF THE HOTT TUBB TO PERFORM AT A BASH WORKING OUT DETAILS WITH THE LAWYERS</p>
<p><a href="http://twitter.com/chockenberry/status/2125007884">JUN 11</a> FRICKEN LAWYERS WONT MEAT MY DEMANDS FOR THE YERBO BUENO SHOW MAY HAVE TO GET A <a href="http://en.wikipedia.org/wiki/John_McCrea_(musician)">FAMILY MEMBER</a> TO DO IT STAY TUNED FOR OFFICIAL CHOCK ROCK</p>
<p><a href="http://twitter.com/chockenberry/status/2125227189">JUN 11</a> BTW DONT FOR GET TO USE CHOCKROCK WHEN LOCALIZING FOR JAPAN</p>
<p><a href="http://twitter.com/chockenberry/status/2125227189">JUN 11</a> IF YOUR LOOKING FOR THE HOTT TUBB ITS CONVENIENTLY LOCATED NEAR THE FOUNTAIN AND KEGS LOOK FOR GRUBER IN HOTT PANTS</p>
<p><a href="http://twitter.com/chockenberry/status/2125651107">JUN 11</a> YES I AM LIVE TWEETING THE BASH TURN OFF YOUR FRICKEN PHONE SO I GET SIGNAL LOOSER</p>
<p><a href="http://twitter.com/chockenberry/status/2126704258">JUN 11</a> HOTT TUBB <a href="http://yfrog.com/5hgdgtj">http://yfrog.com/5hgdgtj</a></p>
<p><img src="http://furbo.org/wp-content/uploads/2010/05/HOTTTUBB.jpg" alt="HOTT TUBB" title="HOTT TUBB" width="260" height="347" class="aligncenter size-full" /></p>
<p><a href="http://twitter.com/chockenberry/status/2128369654">JUN 11</a> CAKE IS BEING SERVED IN THE HOTT TUBB BEER TO</p>
<p><a href="http://twitter.com/chockenberry/status/2129224385">June 12th</a> For me, there will never be a beer bash as special as the one this evening.</p>
<p><a href="http://twitter.com/chockenberry/status/2311471457">JUN 24</a> AND YOU THOUGHT I WAS JOKING ABOUT MY BUDDY STEVE BEING IN THE HOTT TUBB <a href="http://bit.ly/Y8MCf">http://bit.ly/Y8MCf</a> A MAGIC MOMENT</p>
]]></content:encoded>
			<wfw:commentRss>http://furbo.org/2010/05/26/wwdc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A lot of typing</title>
		<link>http://furbo.org/2010/05/04/a-lot-of-typing/</link>
		<comments>http://furbo.org/2010/05/04/a-lot-of-typing/#comments</comments>
		<pubDate>Tue, 04 May 2010 20:42:40 +0000</pubDate>
		<dc:creator>Craig Hockenberry</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://furbo.org/?p=223</guid>
		<description><![CDATA[I&#8217;ve always wondered what it would be like to write a book. Now I know. It&#8217;s the hardest thing I&#8217;ve ever done, but rewarding beyond words.
For those of you asking for PDF or Ebook editions, you can order them now directly from O&#8217;Reilly. The printed version will be available in a couple of weeks. The [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve always wondered what it would be like to write a book. <a href="http://appdevmanual.com">Now I know.</a> It&#8217;s the hardest thing I&#8217;ve ever done, but rewarding beyond words.</p>
<p>For those of you asking for PDF or Ebook editions, you can <a href="http://oreilly.com/catalog/9780596809782">order them now directly from O&#8217;Reilly</a>. The printed version will be available in a couple of weeks. The <a href="http://www.amazon.com/gp/product/0596809778?ie=UTF8&amp;tag=furboorg-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0596809778">&#8220;Look Inside&#8221;</a> feature at Amazon.com will give you an idea of what the book covers. I&#8217;ve also written an <a href="http://appdevmanual.com/about">overview of each chapter</a>. (And for those of you who are dying to know, the CHOCKLOCK first appears on page ix.)</p>
<p>If you think you know everything about iPhone development, this book will probably prove you wrong. I learned <strong>a lot</strong> while writing it, and it&#8217;s my sincere hope that you&#8217;ll benefit from reading it.</p>
]]></content:encoded>
			<wfw:commentRss>http://furbo.org/2010/05/04/a-lot-of-typing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Communal computing</title>
		<link>http://furbo.org/2010/04/29/communal-computing/</link>
		<comments>http://furbo.org/2010/04/29/communal-computing/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 16:07:07 +0000</pubDate>
		<dc:creator>Craig Hockenberry</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Observation]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://furbo.org/?p=187</guid>
		<description><![CDATA[Dear Steve,
First, let me congratulate you and everyone at Apple on the release of the iPad. From my dealings with your company, I know it wasn&#8217;t easy. Thanks to everyone for busting their asses: a lot of very complex puzzle pieces came together during those last 60 days!
I recently had an encounter with Bill Atkinson. [...]]]></description>
			<content:encoded><![CDATA[<p>Dear Steve,</p>
<p>First, let me congratulate you and everyone at Apple on the release of the iPad. From my dealings with your company, I know it wasn&#8217;t easy. Thanks to everyone for busting their asses: a lot of very complex puzzle pieces came together during those last 60 days!</p>
<p>I recently had an encounter with <a href="http://en.wikipedia.org/wiki/Bill_Atkinson">Bill Atkinson</a>. I told him that &#8220;I haven&#8217;t had this much fun with a computer since 1984.&#8221; He laughed, said &#8220;Thanks!&#8221;, and went back to working on <a href="http://www.billatkinson.com/aboutPhotoCard.html">his iPad app</a>. We, and many other developers like us, are completely smitten with this new device.</p>
<p>After owning an iPad for a little over three weeks, it feels like we&#8217;re dealing with something much bigger than that Mac we all got excited about<a href="http://en.wikipedia.org/wiki/Apple_Macintosh#1984:_Introduction"> over 25 years ago</a>. I&#8217;ve been struggling to define exactly what that is: beyond the technical specifications like the beautiful screen with its large multi-touch surface. Those specifications define what the device can do, but not what it means in our lives. I want to understand the magic.</p>
<p>Last week, much of that meaning came into clearer focus at a birthday party for my brother, niece and nephew (April is birthday month in our family!) My wife had loaded our iPad with photos from a recent trip to see the desert wildflowers in <a href="http://www.parks.ca.gov/?page_id=638">Anza Borrego</a> and my 50th birthday party from the week prior.</p>
<p>Predictably, people&#8217;s initial reaction was &#8220;Wow, that&#8217;s the new iPad!&#8221; But that quickly faded as I opened the Photos app and passed the device around. My family was more interested in sharing the photos than talking about the new technology.</p>
<p>I was particularly interested in how my mother, the quintessential technophobe, would react to the device. She picked up on things quickly and was flipping through photos in no time. It astonished me how the interface disappeared for her: at one point she subconsciously licked her finger before &#8220;flipping&#8221; to the next photo.</p>
<p>As interesting as it was to see someone non-technical use the device, the real eye opener was how several people could interact with the iPad at once. Much of my mother&#8217;s fear of computers was overcome because she was looking at the pictures alongside my sister-in-law who helped her out when she got stuck. Learning was organic.</p>
<p>My niece also discovered some of the games I had on the device. One, Abca, was a hit because many people could play it at once. I&#8217;ve always played the game by myself and was surprised at how much fun it was to have other people guessing words simultaneously. A group of people transformed the software into something no developer had ever expected.</p>
<p>All of this led to the revelation that we&#8217;ve begun a new age of &#8220;communal computing.&#8221; The desktop revolution centered around empowering individuals: this new revolution will extend that empowerment to groups of people.</p>
<p>The iPad was naturally passed around amongst the partygoers. Many people interacted with it during the evening, and I lost track of who had it at any given time. And therein lies a fundamental problem.</p>
<p>My iPad has a lot of personal information on it: <a href="http://www.apple.com/ipad/features/mail.html">email</a>, <a href="http://www.apple.com/ipad/features/pages.html">business documents</a>, and <a href="http://www.apple.com/ipad/features/numbers.html">financial data</a>. When you pass it around, you&#8217;re giving everyone who touches it the opportunity to mess with your private life, whether intentionally or not. That makes me uneasy.</p>
<p>It&#8217;s hard to fault Apple for this shortcoming. The secrecy of the project undoubtedly limited the amount of group interaction your designers and engineers would experience with their new creation. The social aspects of this device is probably just as much as revelation to them as it is to me.</p>
<p>I can envision several ways to solve this problem: either with a traditional login screen or with something new like folders that require a passcode to open. I have no doubt that your designers can find something elegant that gives me peace of mind as I share my iPad with friends and family.</p>
<p>Thanks for your time and consideration,</p>
<p>Craig Hockenberry</p>
<p><strong>Updated April 30th, 2010:</strong> I filed Radar <a href="http://openradar.appspot.com/7922808">#7922808</a> for this issue and it was marked as a duplicate of Radar <a href="rdar://problem/7584426">#7584426</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://furbo.org/2010/04/29/communal-computing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An apology&#8230;</title>
		<link>http://furbo.org/2010/04/19/an-apology/</link>
		<comments>http://furbo.org/2010/04/19/an-apology/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 01:58:17 +0000</pubDate>
		<dc:creator>Craig Hockenberry</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://furbo.org/?p=200</guid>
		<description><![CDATA[Until Gizmodo publicly apologizes to Gray Powell, this is going to be in my /etc/hosts and in all of the DNS servers under my control:
127.0.0.1	gizmodo.com
127.0.0.1	www.gizmodo.com
127.0.0.1	m.gizmodo.com
127.0.0.1	gawker.com
127.0.0.1	www.gawker.com
127.0.0.1	m.gawker.com
The person at fault is the shithead who stole the phone, not some overworked engineer drinking beer.
Please vote with your attention and do the same. Thanks!
(Thanks to @sebastianlewis for the idea.)
Update: I [...]]]></description>
			<content:encoded><![CDATA[<p>Until Gizmodo publicly apologizes to Gray Powell, this is going to be in my /etc/hosts and in all of the DNS servers under my control:</p>
<pre>127.0.0.1	gizmodo.com
127.0.0.1	www.gizmodo.com
127.0.0.1	m.gizmodo.com
127.0.0.1	gawker.com
127.0.0.1	www.gawker.com
127.0.0.1	m.gawker.com</pre>
<p>The <strong>person at fault is the shithead who stole the phone</strong>, not some overworked engineer drinking beer.</p>
<p>Please vote with your attention and do the same. Thanks!</p>
<p>(Thanks to <a href="http://twitter.com/sebastianlewis ">@sebastianlewis</a> for the idea.)</p>
<p><strong>Update:</strong> I can&#8217;t believe there are some people defending Gizmodo&#8217;s actions. Let&#8217;s put the shoe on your foot:</p>
<ol>
<li>You&#8217;re drinking beer with some friends.</li>
<li>You leave your wallet behind at the bar.</li>
<li>Some stranger finds your wallet and opens it up. Inside is a naked picture of your partner.</li>
<li>That stranger finds a website that wants to post the picture and they sell your wallet intact for $1.</li>
<li>Your partner finds their naked body on the Internet. Shit hits the fan. <strong>HARD</strong>.</li>
<li>The site that posted the pictures looks at the ID in the wallet and calls up with an offer to return the wallet. &#8220;Don&#8217;t worry, all the money&#8217;s still there!&#8221;</li>
<li>Then that website posts another article saying how dumb you were for leaving your wallet behind. And instantly millions of people associate your name with a stupid mistake.</li>
</ol>
<p>How do you feel now?</p>
<p><strong>Update:</strong> If you&#8217;re the kind of person who forgets that you edited your hosts file, use Marco Arment&#8217;s <a href="http://www.marco.org/244246945">IP address</a> of 66.135.33.106 instead of 127.0.0.1.</p>
<p><strong>Update:</strong> For those of you who don&#8217;t feel comfortable with the Terminal, here&#8217;s a Cocoa application that <a href="http://github.com/digdog/UntilGizmodoPubliclyApologizesToGrayPowell">runs an AppleScript to block Gizmodo</a>. Thanks <a href="http://twitter.com/digdog">@digdog</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://furbo.org/2010/04/19/an-apology/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Benchmarking in your lap</title>
		<link>http://furbo.org/2010/04/03/benchmarking-in-your-lap/</link>
		<comments>http://furbo.org/2010/04/03/benchmarking-in-your-lap/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 19:27:09 +0000</pubDate>
		<dc:creator>Craig Hockenberry</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://furbo.org/?p=150</guid>
		<description><![CDATA[It&#8217;s been a little over 2½ years since I last looked at the performance of Apple&#8217;s mobile devices. A lot has changed with the software and hardware since then, let&#8217;s take a look at how the new iPad compares to the devices we&#8217;re more familiar with.
Native performance



Test
iPad/3.2
iPhone 3GS/3.0
Faster by


100,000 iterations
0.000035 secs.
0.000137 secs.
3.91x


10,000 divisions
0.000010
0.000018
1.8x


10,000 sin(x) calls
0.000012
0.000018
1.5x


10,000 [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a little over 2½ years since I last looked at the performance of Apple&#8217;s mobile devices. A <strong>lot</strong> has changed with the <a href="http://furbo.org/2007/08/15/benchmarking-in-your-pants/">software</a> and <a href="http://furbo.org/2007/08/21/what-the-iphone-specs-dont-tell-you/">hardware</a> since then, let&#8217;s take a look at how the new iPad compares to the devices we&#8217;re more familiar with.</p>
<h3>Native performance</h3>
<table border="0">
<tbody>
<tr>
<th>Test</th>
<th>iPad/3.2</th>
<th>iPhone 3GS/3.0</th>
<th>Faster by</th>
</tr>
<tr>
<td>100,000 iterations</td>
<td>0.000035 secs.</td>
<td>0.000137 secs.</td>
<td>3.91x</td>
</tr>
<tr>
<td>10,000 divisions</td>
<td>0.000010</td>
<td>0.000018</td>
<td>1.8x</td>
</tr>
<tr>
<td>10,000 sin(x) calls</td>
<td>0.000012</td>
<td>0.000018</td>
<td>1.5x</td>
</tr>
<tr>
<td>10,000 string allocations</td>
<td>0.004321</td>
<td>0.007915</td>
<td>1.83x</td>
</tr>
<tr>
<td>10,000 function calls</td>
<td>0.000338</td>
<td>0.000600</td>
<td>1.78x</td>
</tr>
</tbody>
</table>
<p>This first benchmark compares the native performance of the iPad against the iPhone 3GS. The version of the iPhone OS is the one originally released with both devices (3.2 and 3.0, respectively.) The application used to test the devices was a release (optimized) build for ARM v7.</p>
<p>On average, the iPad is about twice as fast as the iPhone 3GS when executing native (Cocoa Touch) applications. Great news for developers, because it gives us much more flexibility when creating our apps.</p>
<h3>JavaScript performance</h3>
<table border="0">
<tbody>
<tr>
<th>Test</th>
<th>iPad/3.2</th>
<th>iPhone 3GS/3.0</th>
<th>Faster by</th>
</tr>
<tr>
<td>100,000 iterations</td>
<td>0.011 secs.</td>
<td>0.017 secs.</td>
<td>1.55x</td>
</tr>
<tr>
<td>10,000 divisions</td>
<td>0.006</td>
<td>0.012</td>
<td>2.00x</td>
</tr>
<tr>
<td>10,000 sin(x) calls</td>
<td>0.009</td>
<td>0.024</td>
<td>1.85x</td>
</tr>
<tr>
<td>10,000 string allocations</td>
<td>0.007</td>
<td>0.017</td>
<td>2.43x</td>
</tr>
<tr>
<td>10,000 function calls</td>
<td>0.005</td>
<td>0.006</td>
<td>1.20x</td>
</tr>
</tbody>
</table>
<p>Oddly, the same 2x improvement is not seen for the same benchmarks when executing JavaScript code in web pages. Again, the iPad with 3.2 is compared against the iPhone 3GS with 3.0. Things have definitely improved, but there was a wide variation in results when performing the tests. I suspect that just-in-time compilation or other similar types of caching are affecting the results.</p>
<p>The raw numbers really don&#8217;t matter anyway: the browser experience on the iPad is exceptional (and will only get better.)</p>
<h3>Native performance: Original iPhone vs. iPad</h3>
<table border="0">
<tbody>
<tr>
<th>Test</th>
<th>iPad/3.2</th>
<th>iPhone/2.0</th>
<th>Faster by</th>
</tr>
<tr>
<td>100,000 iterations</td>
<td>0.000035 secs.</td>
<td>0.015 secs.</td>
<td>428x</td>
</tr>
<tr>
<td>10,000 divisions</td>
<td>0.000010</td>
<td>0.004</td>
<td>400x</td>
</tr>
<tr>
<td>10,000 sin(x) calls</td>
<td>0.000012</td>
<td>0.105</td>
<td>8,750x</td>
</tr>
<tr>
<td>10,000 string allocations</td>
<td>0.004321</td>
<td>0.085</td>
<td>20x</td>
</tr>
<tr>
<td>10,000 function calls</td>
<td>0.000338</td>
<td>0.004</td>
<td>12x</td>
</tr>
</tbody>
</table>
<p>The most remarkable change is when you compare the original iPhone to the iPad. Using the numbers from my original tests and the results above reveals an improvement of several orders of magnitude in just over 2½ years. I believe the technical term for this is &#8220;Holy crap!&#8221;</p>
<p><strong>Note:</strong> I don&#8217;t remember if the original tests were optimized builds, or if it was even possible to get gcc to do them with a jailbreak toolchain. Even if they weren&#8217;t optimized like the current tests, the performance increases are still stunning.</p>
<p>All-in-all, a remarkable achievement by Apple&#8217;s engineers, especially when you consider that the battery life of these devices has gone up, rather than down.</p>
<h3>iPad hardware</h3>
<p>When using sysctl() to query the amount of memory available to the iPhone OS, the following values are reported:</p>
<table border="0">
<tbody>
<tr>
<th>Kind</th>
<th>Bytes</th>
<th>Megabytes</th>
</tr>
<tr>
<td>Physical (HW_PHYSMEM)</td>
<td>258,998,272</td>
<td>247 MB</td>
</tr>
<tr>
<td>User (HW_USERMEM)</td>
<td>210,284,544</td>
<td>200.5 MB</td>
</tr>
</tbody>
</table>
<p>Again, it&#8217;s likely that the device is using 256 MB memory chips with a portion of the total being used for other purposes, such as video memory. Also, developers have noted that all of the 200 MB of user memory is <strong>not</strong> available for use by apps. The OS and background apps make use of a large portion of that memory.</p>
<p>And last, and unfortunately least, we have the CPU speed reported by sysctl() using HW_CPU_FREQ. It&#8217;s <strong>zero</strong>: the A4 chip is truly magical. I guess that means we have to trust the <a href="http://www.apple.com/ipad/specs/">spec sheet</a> :-)</p>
<p>So hats off to the engineers in Cupertino: the iPad is an inspiring achievement no matter how you benchmark it!</p>
<p>P.S. Check out <a href="http://twitterrific.com/ipad">Twitterrific for iPad</a> to see how we&#8217;re putting this processing power to use with our first app for this new platform.</p>
<p>P.S.S. If you&#8217;d like to perform these tests on your own, I invite you to download <a href="http://furbo.org/stuff/PantsTest.zip">PantsTest.zip</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://furbo.org/2010/04/03/benchmarking-in-your-lap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPad liberation</title>
		<link>http://furbo.org/2010/01/29/ipad-liberation/</link>
		<comments>http://furbo.org/2010/01/29/ipad-liberation/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 18:08:41 +0000</pubDate>
		<dc:creator>Craig Hockenberry</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://furbo.org/?p=140</guid>
		<description><![CDATA[I&#8217;m too busy right now to write about the iPad in detail, but I do want to make one quick point that I haven&#8217;t seen covered in other essays.
An important observation that I&#8217;ve made with the iPhone is that it&#8217;s perfect for &#8220;relaxed&#8221; computing. I use it while lying in bed, watching TV, waiting for [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m too busy right now to write about the iPad in detail, but I do want to make one quick point that I haven&#8217;t seen covered in other essays.</p>
<p>An important observation that I&#8217;ve made with the iPhone is that it&#8217;s perfect for &#8220;relaxed&#8221; computing. I use it while lying in bed, watching TV, waiting for my wife to try on a new outfit, driving through the middle of the desert, and a myriad of other situations where I&#8217;m not working.</p>
<p>There&#8217;s an inherent benefit to only doing one thing at a time: the load of worrying about other tasks is lifted. Knowing that there isn&#8217;t anything else competing for your attention is quite liberating.</p>
<p>Of course, the iPad is an extension of this.</p>
<p>What I find most interesting is the inclusion of the iWork applications. I suspect that we&#8217;ll all benefit from working in Pages, Numbers and Keynote without the distractions of the web, Twitter or chat. And in the long run, we&#8217;ll prefer it.</p>
]]></content:encoded>
			<wfw:commentRss>http://furbo.org/2010/01/29/ipad-liberation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

