<?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>TylerBurton.ca &#187; Hardware</title>
	<atom:link href="http://www.tylerburton.ca/category/tech/hardware/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tylerburton.ca</link>
	<description></description>
	<lastBuildDate>Tue, 10 Jan 2012 04:41:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Android development in Netbeans</title>
		<link>http://www.tylerburton.ca/2011/06/android-development-in-netbeans/</link>
		<comments>http://www.tylerburton.ca/2011/06/android-development-in-netbeans/#comments</comments>
		<pubDate>Sat, 25 Jun 2011 01:20:45 +0000</pubDate>
		<dc:creator>Tyler Burton</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Netbeans]]></category>

		<guid isPermaLink="false">http://www.tylerburton.ca/?p=611</guid>
		<description><![CDATA[So you want to do Android development but you hate Eclipse? Well fear not, there is another IDE that you can use to meet your mobile development needs. This is a quick guide, mostly for my reference later, on how to setup an Android development environment in Netbeans. 1. Download and install the Android SDK [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>So you want to do Android development but you hate <a href="http://eclipse.org/">Eclipse</a>? Well fear not, there is another IDE that you can use to meet your mobile development needs. This is a quick guide, mostly for my reference later, on how to setup an Android development environment in Netbeans.</p>
<h3>1. Download and install the Android SDK and Netbeans IDE like normal</h3>
<p>Pretty self-explanatory just grab the installers from <a href="http://developer.android.com/sdk/index.html">here</a> and <a href="http://netbeans.org/">here</a> respectively.</p>
<h3>2. Download and install the Android plugin for Netbeans</h3>
<p>The plugin to use is <em>nbandroid</em> and the easiest way to get it is to download it from right within Netbeans. First add the update xml (<a href="http://kenai.com/projects/nbandroid/downloads/download/updatecenter/updates.xml">http://kenai.com/projects/nbandroid/downloads/download/updatecenter/updates.xml</a>) to Netbeans.</p>
<p><a href="http://www.tylerburton.ca/files/wordpress/2011/06/AddPlugin.jpg"><img class="aligncenter size-medium wp-image-617" title="AddPlugin" src="http://www.tylerburton.ca/files/wordpress/2011/06/AddPlugin-300x121.jpg" alt="" width="300" height="121" /></a></p>
<p>Then simply install the plugin from the refreshed list of available ones.</p>
<p><a href="http://www.tylerburton.ca/files/wordpress/2011/06/InstallPlugin.jpg"><img class="aligncenter size-medium wp-image-618" title="InstallPlugin" src="http://www.tylerburton.ca/files/wordpress/2011/06/InstallPlugin-300x50.jpg" alt="" width="300" height="50" /></a></p>
<h3>3. Create an Android project</h3>
<p>Just like you would create any other project in Netbeans. This will prompt you that you need to set up the location of the SDK. This can be done through the <em>Manage Android SDK</em> button.</p>
<p><a href="http://www.tylerburton.ca/files/wordpress/2011/06/SDKLocation.jpg"><img class="aligncenter size-medium wp-image-619" title="SDKLocation" src="http://www.tylerburton.ca/files/wordpress/2011/06/SDKLocation-300x78.jpg" alt="" width="300" height="78" /></a></p>
<p>Once created the project should be more or less good to go. Don&#8217;t worry if you get an error about a missing file <em>R.java</em>, this file will be automatically generated for your when you build the project the first time.</p>
<h3>4. Profit?</h3>
<p>That&#8217;s pretty much it. Now when you click run it will build and deploy your application to the emulator just like it does in regular old Eclipse.</p>
<div class="shr-publisher-611"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.tylerburton.ca/2011/06/android-development-in-netbeans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My (current) top 10 most used iOS apps</title>
		<link>http://www.tylerburton.ca/2010/12/my-current-top-10-most-used-ios-apps/</link>
		<comments>http://www.tylerburton.ca/2010/12/my-current-top-10-most-used-ios-apps/#comments</comments>
		<pubDate>Sun, 12 Dec 2010 19:45:15 +0000</pubDate>
		<dc:creator>Tyler Burton</dc:creator>
				<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Corus Radio]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[IM+]]></category>
		<category><![CDATA[IMDb]]></category>
		<category><![CDATA[Netflix]]></category>
		<category><![CDATA[Newsy]]></category>
		<category><![CDATA[PingChat!]]></category>
		<category><![CDATA[TweetDeck]]></category>
		<category><![CDATA[VLC]]></category>

		<guid isPermaLink="false">http://www.tylerburton.ca/?p=559</guid>
		<description><![CDATA[The iOS platform, consisting of the iPhone and the iPad, has seen most of it&#8217;s success thanks to the plethora of applications (apps) available for download. It is without a doubt the platform&#8217;s strongest asset and one that, thanks to the continued success of apps like Angry Birds, seems likely to continue for some time. [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>The <a href="http://en.wikipedia.org/wiki/IOS_%28Apple%29">iOS platform</a>, consisting of the <a href="http://www.apple.com/iphone/">iPhone</a> and the <a href="http://www.apple.com/ipad/">iPad</a>, has seen most of it&#8217;s success thanks to the plethora of applications (apps) available for download. It is without a doubt the platform&#8217;s strongest asset and one that, thanks to the continued success of apps like <a href="http://www.rovio.com/index.php?page=angry-birds">Angry Birds</a>, seems likely to continue for some time. While a lot of time on these devices is spent listening to music, browsing the web, reading e-mails and, let&#8217;s face it, playing games I wanted to write up a quick post about some of the other apps that I use on a regular basis. These small, often single purpose, programs make my life easier in their unique way and keep me connected no matter where I am. The following is a list of apps, ordered by how often I use them, that I am currently making heavy use of on my iPhone.</p>
<p><strong>10. <a href="http://www.videolan.org/">VLC</a></strong></p>
<p>The iOS media player can play a large number of audio and video formats. Unfortunately there are still a few obscure formats, and some that Apple just doesn&#8217;t like, that won&#8217;t work. This is where VLC comes in. Like the desktop counterpart, VLC lets the device play almost every file type imaginable, from <a href="http://en.wikipedia.org/wiki/Matroska">MKV</a> to <a href="http://en.wikipedia.org/wiki/Ogg">OGG</a>. It even integrates into the e-mail client letting me view attachments that I otherwise wouldn&#8217;t have been able to. The only drawback is the ridiculous way you have to add media to the VLC library. Sadly this is on Apple&#8217;s side of the equation and I doubt we&#8217;ll see this changed anytime soon.</p>
<div id="attachment_560" class="wp-caption aligncenter" style="width: 330px"><a href="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0423.png"><img class="size-full wp-image-560" title="IMG_0423" src="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0423.png" alt="" width="320" height="480" /></a><p class="wp-caption-text">Do I have to read a manual first too?</p></div>
<p><strong>9. <a href="http://www.imdb.com/">IMDb</a></strong></p>
<p>The Internet Movie Database is an awesome website that tracks almost <em>ever</em> detail of a movie&#8217;s production (from actors to directors and more). This app is the iOS version of their website (they actually block you from using the proper website on your device). Thankfully this is also one of the most well designed and easy to use apps I have ever seen. Need to find the name of that actress? No problem. Want to know what else she&#8217;s been in? Super simple. This app is a staple that everyone should have installed.</p>
<div id="attachment_561" class="wp-caption aligncenter" style="width: 330px"><a href="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0424.png"><img class="size-full wp-image-561" title="IMG_0424" src="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0424.png" alt="" width="320" height="480" /></a><p class="wp-caption-text">It even gives you movie news and showtimes</p></div>
<p><strong>8. <a href="http://itunes.apple.com/ca/app/corus-radio/id302901619?mt=8">Corus Radio</a></strong></p>
<p>There are a number of streaming radio apps available for download from <a href="http://www.shoutcast.com/">Shoutcast!</a> to those specific to a certain radio station. Corus Radio is one such application. It makes it easy to listen to any of the Corus owned radio stations all from within a single app. From a design perspective this is not a very good app, but its no frills approach makes it sufficient for me when I want to catch the early morning <a href="http://www.edge.ca/">Dean Blundell Show</a>.</p>
<div id="attachment_562" class="wp-caption aligncenter" style="width: 330px"><a href="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0425.png"><img class="size-full wp-image-562" title="IMG_0425" src="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0425.png" alt="" width="320" height="480" /></a><p class="wp-caption-text">No frills but it does the job</p></div>
<p><strong>7. <a href="http://itunes.apple.com/us/app/convert-units-for-free/id337224035?mt=8">Convert Units</a></strong></p>
<p>Have you ever been reading a recipe or following directions and had to convert between oz and mL or lbs and kg? Enter Convert Units. This super handy application lets you easily convert between all sorts of different units for all kinds of situations</p>
<div id="attachment_563" class="wp-caption aligncenter" style="width: 330px"><a href="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0426.png"><img class="size-full wp-image-563" title="IMG_0426" src="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0426.png" alt="" width="320" height="480" /></a><p class="wp-caption-text">Did you know 1 beer = 0.355L?</p></div>
<div id="attachment_564" class="wp-caption aligncenter" style="width: 330px"><a href="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0427.png"><img class="size-full wp-image-564" title="IMG_0427" src="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0427.png" alt="" width="320" height="480" /></a><p class="wp-caption-text">Convert Units works in all sorts of different situations</p></div>
<p><strong>6. <a href="http://www.netflix.com">Netflix</a></strong></p>
<p>With the recent release of Netflix <a href="http://www.netflix.ca">in Canada</a> I am suddenly able to try out this service from the comfort of my&#8230; phone. OK so maybe it&#8217;s not the best way to watch movies but it&#8217;s still really cool. There isn&#8217;t much to really say about this beyond the fact that this is yet another excellent Netflix experience.</p>
<div id="attachment_568" class="wp-caption aligncenter" style="width: 330px"><a href="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0428.png"><img class="size-full wp-image-568" title="IMG_0428" src="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0428.png" alt="" width="320" height="480" /></a><p class="wp-caption-text">I wonder how much data a movie uses over 3G</p></div>
<p><strong>5. <a href="http://www.facebook.com">Facebook</a></strong></p>
<p>Ah Facebook. Whatever your feelings are about this privacy eroding service that enables <span style="text-decoration: line-through;">complete publication of your life</span> you to keep in touch with friends and family, Facebook (the app) is a prime example of how an iOS program should work. It is so simple and feature rich (a rare combination) that I actually prefer it to the full website.</p>
<div id="attachment_565" class="wp-caption aligncenter" style="width: 330px"><a href="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0438.png"><img class="size-full wp-image-565" title="IMG_0438" src="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0438.png" alt="" width="320" height="480" /></a><p class="wp-caption-text">Even better than their excellent mobile site</p></div>
<p><strong>4. <a href="http://www.newsy.com/">Newsy</a></strong></p>
<p>Newsy is an interesting app, actually more of a front end to their website, that combines various perspectives of a newsworthy event from different TV news shows, blogs and radio commentators. Their tag-line is &#8220;Multiple sources. The real story.&#8221; and one that I believe they live up to. If you are looking for a more or less non-bias summary of something in the news I would highly recommend checking out Newsy.</p>
<div id="attachment_567" class="wp-caption aligncenter" style="width: 490px"><a href="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0429.png"><img class="size-full wp-image-567" title="IMG_0429" src="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0429.png" alt="" width="480" height="320" /></a><p class="wp-caption-text">Top stories of the day (videos and transcripts)</p></div>
<p><strong>3. <a href="http://www.tweetdeck.com/">TweetDeck</a></strong></p>
<p>There are literally dozens, maybe even hundreds, of Twitter clients for iOS but none are as fully featured (in my opinion at least) as TweetDeck. Taking a cue from their desktop version, this client displays all of the information in a series of columns that you can swipe back and forth to cycle through.</p>
<div id="attachment_569" class="wp-caption aligncenter" style="width: 330px"><a href="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0432.png"><img class="size-full wp-image-569" title="IMG_0432" src="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0432.png" alt="" width="320" height="480" /></a><p class="wp-caption-text">Everything is split up into customizable columns</p></div>
<p>If you do use the desktop version as well it will automatically sync things between them so you don&#8217;t have to constantly update both independently. My only complaints have to do with the lack of real multitasking and the crash happy nature of the in-application browser. Honestly I don&#8217;t know how they did it&#8230; but they took the perfectly stable browser component and broke it.</p>
<p><strong>2. <a href="http://www.pingchat.com/">PingChat!</a></strong></p>
<p>PingChat! has the <a href="http://www.thestar.com/business/companies/rim/article/902240--rim-kik-and-bbm">dubious honour</a> of being one of the <a href="http://supportforums.blackberry.com/t5/Downloaded-Applications-for/GIVE-US-BACK-OUR-KIK-MESSENGER-SERVICE/m-p/658955">only remaining</a> cross-platform instant messengers in the vein of <a href="http://en.wikipedia.org/wiki/BlackBerry_Messenger">BlackBerry Messenger</a>. This means that from your iOS device can talk to your friend on an Android device or even on a BlackBerry.</p>
<div id="attachment_570" class="wp-caption aligncenter" style="width: 330px"><a href="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0434.png"><img class="size-full wp-image-570" title="IMG_0434" src="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0434.png" alt="" width="320" height="480" /></a><p class="wp-caption-text">PingChat! also supports group chat</p></div>
<p>Like BBM, PingChat! shows you when the other party has received a message and runs over the data network, thus saving you from text messaging fees. Another nice feature is the ability to send pictures, video, audio, contact information and more.</p>
<div id="attachment_571" class="wp-caption aligncenter" style="width: 330px"><a href="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0435.png"><img class="size-full wp-image-571" title="IMG_0435" src="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0435.png" alt="" width="320" height="480" /></a><p class="wp-caption-text">The send contact feature is especially useful for quickly sharing information</p></div>
<p>I <strong>highly</strong> recommend this application, and not just because <a href="http://enflick.com/">the guys behind it</a> are local <img src='http://www.tylerburton.ca/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>1. <a href="http://www.shapeservices.com/en/products/details.php?product=im&amp;platform=none">IM+</a></p>
<p>iOS has a slew of instant messenger applications but I prefer IM+ to all of the other ones that I&#8217;ve tried. A slick interface, tons of features, and a quick update cycle means that this app is constantly improving.</p>
<div id="attachment_572" class="wp-caption aligncenter" style="width: 330px"><a href="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0436.png"><img class="size-full wp-image-572" title="IMG_0436" src="http://www.tylerburton.ca/files/wordpress/2010/12/IMG_0436.png" alt="" width="320" height="480" /></a><p class="wp-caption-text">Trust me, it looks better without all of the censorship <img src='http://www.tylerburton.ca/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p></div>
<p>You can send pictures, audio, and videos to your contacts, talk on all different types of services (MSN, AOL, etc.) and even configure it to stay logged in on their servers so that (even with the application closed) you get Push notifications when someone messages you. Overall it offers a solid experience that is only getting better and better.</p>
<p><strong>Honourable Mention</strong></p>
<p><a href="http://www.epicgames.com/">Epic</a> has recently released a tech demo called <em>Citadel</em> showcasing the <a href="http://en.wikipedia.org/wiki/Unreal_Engine">Unreal Engine</a> running on iOS. This is by far the best example of what the iPhone/iPad hardware is capable of in terms of delivering absolutely stunning graphics. Sadly that&#8217;s all it is, a tech demo. Hopefully we will see this technology <a href="http://itunes.apple.com/us/app/infinity-blade/id387428400?mt=8">used more often</a> going forward.</p>
<div id="attachment_573" class="wp-caption aligncenter" style="width: 490px"><a href="http://www.tylerburton.ca/files/wordpress/2010/12/photo.png"><img class="size-full wp-image-573" title="photo" src="http://www.tylerburton.ca/files/wordpress/2010/12/photo.png" alt="" width="480" height="320" /></a><p class="wp-caption-text">Very gorgeous graphics</p></div>
<div class="shr-publisher-559"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.tylerburton.ca/2010/12/my-current-top-10-most-used-ios-apps/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>My 5 minute iOS 4 review</title>
		<link>http://www.tylerburton.ca/2010/06/my-5-minute-ios-4-review/</link>
		<comments>http://www.tylerburton.ca/2010/06/my-5-minute-ios-4-review/#comments</comments>
		<pubDate>Sat, 26 Jun 2010 19:26:25 +0000</pubDate>
		<dc:creator>Tyler Burton</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iOS 4]]></category>

		<guid isPermaLink="false">http://www.tylerburton.ca/?p=300</guid>
		<description><![CDATA[There has been far too much iPhone related news lately but I feel as though I should at least weigh in with my thoughts on the new iPhone OS. I have been running iOS 4 on my iPhone 3GS since it was officially released about a week ago. Rather than write a lengthy review I [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>There has been <em>far</em> too much iPhone related news lately but I feel as though I should at least weigh in with my thoughts on the new iPhone OS. I have been running <a href="http://www.apple.com/ipodtouch/ios4-software-update.html" target="_blank">iOS 4</a> on my <a href="http://en.wikipedia.org/wiki/IPhone_3GS" target="_blank">iPhone 3GS</a> since it was officially released about a week ago. Rather than write a lengthy review I figured I would simply add my short comments about the major new features. This should, hopefully, result in a very quick and informative review.</p>
<p><strong>Multitasking</strong></p>
<p><strong><a href="http://www.tylerburton.ca/files/wordpress/2010/06/img_0378.png"><img class="aligncenter size-medium wp-image-302" title="img_0378" src="http://www.tylerburton.ca/files/wordpress/2010/06/img_0378-200x300.png" alt="" width="200" height="300" /></a><br />
</strong></p>
<p>This is the big new feature and honestly the one that you&#8217;ll forget about the quickest. What do I mean by this? The multitasking implementation in iOS 4 is so seamless that the new double-tap on the home button paradigm works far better as a quick app switcher than as a task manager. Don&#8217;t read this as a negative however; all user interfaces should strive to do as good of a job at &#8216;hiding&#8217; such a fundamental change to the OS by building it into a user-centric design. Do all the apps on my phone multitask? Heck no, but I couldn&#8217;t even tell you which do and which don&#8217;t and that right there is the real genius behind this design.</p>
<p><strong>Folders</strong></p>
<p><strong><a href="http://www.tylerburton.ca/files/wordpress/2010/06/img_0379.png"><img class="aligncenter size-medium wp-image-304" title="img_0379" src="http://www.tylerburton.ca/files/wordpress/2010/06/img_0379-200x300.png" alt="" width="200" height="300" /></a><br />
</strong></p>
<p>Far from perfect, folders are a welcome change to the iPhone experience. I was able to cut down the number of app screens on my device from about 10 to only 2. My only real complaint about folders is the fixed limit to the number of apps you can put in each, a maximum of 12 per folder. I would almost prefer to have the option to put all of my games in a single folder and then scroll through them as a list instead.</p>
<p><strong>Wallpaper</strong></p>
<p><strong><a href="http://www.tylerburton.ca/files/wordpress/2010/06/img_0380.png"><img class="aligncenter size-medium wp-image-305" title="img_0380" src="http://www.tylerburton.ca/files/wordpress/2010/06/img_0380-200x300.png" alt="" width="200" height="300" /></a><br />
</strong></p>
<p>The background wallpaper is a nice addition. It&#8217;s obviously nothing groundbreaking but it does add a nice personalized feel to the phone. This &#8216;feature&#8217; will not work on the older 3G model because of the slower hardware. If that statement sounds ridiculous to you then you obviously haven&#8217;t played with the update enough to notice the new animations. iOS 4 literally vomits animation at you every chance it gets.</p>
<p><strong>Mail</strong></p>
<p><strong><a href="http://www.tylerburton.ca/files/wordpress/2010/06/img_0381.png"><img class="aligncenter size-medium wp-image-306" title="img_0381" src="http://www.tylerburton.ca/files/wordpress/2010/06/img_0381-200x300.png" alt="" width="200" height="300" /></a><br />
</strong></p>
<p>By far the best part of the upgrade, mail saw the addition of a unified inbox (where all of your accounts can filter into one place) and e-mail threading. I have four e-mail accounts on my device and switching between their individual inboxes was always a pain. But now with the unified inbox I can quickly get all of my updates and respond to all of the messages very quickly. Threaded e-mail is also awesome and is something sorely missing from many other phones and even desktop clients. Once you start using a threaded e-mail client, like Gmail or Thunderbird, it is very hard to go back to the old way of doing things. Now I don&#8217;t have to! I only encountered one issue with the new mail app. The first time I ran the app it seemed liked it was indexing all my stored mail which really slowed the app down. Since then however it works like a charm.</p>
<p><strong>Photo and Camera</strong></p>
<p><strong> </strong></p>
<div id="attachment_307" class="wp-caption aligncenter" style="width: 210px"><strong><strong><a href="http://www.tylerburton.ca/files/wordpress/2010/06/IMG_0391.png"><img class="size-medium wp-image-307" title="IMG_0391" src="http://www.tylerburton.ca/files/wordpress/2010/06/IMG_0391-200x300.png" alt="" width="200" height="300" /></a></strong></strong><p class="wp-caption-text">On an unrelated note I REALLY need to clean my phone&#39;s camera lens</p></div>
<p><strong> </strong></p>
<p>There is now a 5x digital zoom for the camera which is so easy to operate a child could use it. Simply tap on the screen and the control appears as a slider at the bottom. Sliding it to the right zooms in, to the left zooms out. Simple, easy, elegant. It&#8217;s just a shame that digital zoom sucks too much to be really useful.</p>
<p>Adding focus to the video camera is also nice but this feature might be put to better use on the new iPhone 4G hardware where the video camera is actually worth using.</p>
<p>A new tab for a geo-tagged map overlay has also been added to the photo app which will show you where you took each picture. It&#8217;s neat but not really something I think I&#8217;ll be using often.</p>
<p><strong>iPod</strong></p>
<p><a href="http://www.tylerburton.ca/files/wordpress/2010/06/img_0387.png"><img class="aligncenter size-medium wp-image-308" title="img_0387" src="http://www.tylerburton.ca/files/wordpress/2010/06/img_0387-200x300.png" alt="" width="200" height="300" /></a></p>
<p>The iPod app user interface got a bit of an overhaul and it now shows more information in a much more streamlined and effective way. It also lets you manage playlists (beyond the simple &#8216;on-the-go&#8217; ones) right on the device itself. Music playback has always been one of the great strengths of this platform and its nice to see Apple hasn&#8217;t forgotten where their success has come from.</p>
<p><strong>Others<br />
</strong></p>
<p>E-mail attachments can now be set up to be opened by any application, third-party or otherwise. This should make the e-mail experience far more flexible and help enterprise deployments open home-grown data sources. I&#8217;m also hoping to see a PGP application take advantage of this soon.</p>
<p>Calendar has had a couple of improvements but the biggest change is the addition of full support for .ics calendar entries. This has been a missing feature from day one and it is nice to see that the ability is finally here.</p>
<p>iBooks has been added the the iPhone which should help people who want to read a page or two on the bus to school or work. Other than that I just don&#8217;t see this as such a big deal. Afterall who would want to read a whole book on a device as small as a phone?</p>
<p>In both Spotlight (the device wide search) and Safari Wikipedia and your selected search engine will offer suggestions for what you are trying to find. While this feature is nice it does slow down the search results slightly as it tries to retrieve suggestions from the web in real time. If it becomes too annoying you can turn it off.</p>
<p>iOS 4 also brought some much needed security improvements including the option for a full text password (no longer just a 4-digit one) and full device encryption. Again this is a feature that was missing since the launch of the iPhone for no really good reason.</p>
<p><a href="http://www.tylerburton.ca/files/wordpress/2010/06/IMG_0393.png"><img class="aligncenter size-medium wp-image-310" title="IMG_0393" src="http://www.tylerburton.ca/files/wordpress/2010/06/IMG_0393-200x300.png" alt="" width="200" height="300" /></a></p>
<p>Spellcheck has also been added which offers some nice suggestions when the auto-complete isn&#8217;t quite sure what you meant to type. It works in a similar way to copy &amp; paste which makes it instantly accessible to anyone used to the phone.</p>
<p><a href="http://www.tylerburton.ca/files/wordpress/2010/06/IMG_0394.png"><img class="aligncenter size-medium wp-image-311" title="IMG_0394" src="http://www.tylerburton.ca/files/wordpress/2010/06/IMG_0394-200x300.png" alt="" width="200" height="300" /></a></p>
<p>A slew of enterprise features were added as well but seeing as I&#8217;m not in charge of any enterprise deployments most of these additions were lost on me.</p>
<p><strong>Overall</strong></p>
<p>Overall the iOS 4 feels faster in general but not without some slowdown in specific cases, such as mail above. Even with these oddities the update allows you to be much more productive than ever before and so on the whole it is still faster in almost every <em>practical</em> use case. As a computer science graduate I am far more interested in the addition of APIs and tweaks under the hood and from everything I have read or experienced it all looks very good.</p>
<p><strong>Conclusion</strong></p>
<p>The iOS 4, while not completely revolutionary in any way, is a strong evolutionary upgrade and well worth your time. Just be warned that if you are upgrading your 3G it may take a while.</p>
<p>Update size: 378MiB<br />
Time to install: about 10 minutes to update + phone restart + 10KiB carrier update + phone backup ~= 15 minutes total</p>
<div class="shr-publisher-300"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.tylerburton.ca/2010/06/my-5-minute-ios-4-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why do we need 128bit CPU architecture?</title>
		<link>http://www.tylerburton.ca/2009/10/why-do-we-need-128bit-cpu-architecture/</link>
		<comments>http://www.tylerburton.ca/2009/10/why-do-we-need-128bit-cpu-architecture/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 19:32:28 +0000</pubDate>
		<dc:creator>Tyler Burton</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[128bit]]></category>
		<category><![CDATA[CPU architecture]]></category>
		<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://www.tylerburton.ca/?p=84</guid>
		<description><![CDATA[With some &#8216;leaked&#8217; information about Microsoft&#8217;s plan to include brand new IA-128 computer processor architecture in their next version of Windows (8 &#38; 9) it got me thinking about the need for 128-bit CPUs. What&#8217;s the point? Memory Addressing This is often cited as the reason for needing to increase the number of bits in [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>With some <a href="http://arstechnica.com/microsoft/news/2009/10/microsoft-mulling-128-bit-versions-of-windows-8-windows-9.ars" target="_blank">&#8216;leaked&#8217;</a> information about Microsoft&#8217;s plan to include brand new IA-128 computer processor architecture in their next version of Windows (8 &amp; 9) it got me thinking about the need for 128-bit CPUs. What&#8217;s the point?</p>
<p><strong>Memory Addressing</strong></p>
<p>This is often cited as the reason for needing to increase the number of bits in a CPU. With a 32bit register you can address approximately 2^32 bytes of RAM, or about 4GiB system wide. Windows itself imposes a limit of 2GiB of RAM for user processes and about 3.12GiB for total RAM, which is why there is a such a push to 64bit architecture. 64bit versions of Windows allow you to address far more memory. Except, this isn&#8217;t really true.</p>
<p><strong>Physical Address Extension</strong></p>
<p><a href="http://en.wikipedia.org/wiki/Physical_Address_Extension" target="_blank">PAE</a> is an old technique used to address more memory than you should be able to, up to 64GiB on 32bit CPUs. It is similar to bank switching in that it uses the addressing register to split up your total memory into different <em>banks</em> of space which it can then switch into allowing you to access the full memory. There are a number of reasons why this is efficient and safe, and in fact <a href="http://support.microsoft.com/kb/291988" target="_blank">Windows already does it</a>. This is why the 32bit version of Windows server can address a full 4GiB of RAM even though the 32bit consumer version cannot. Well actually you can <a href="http://chris.pirillo.com/32-bit-windows-and-4gb-of-ram/" target="_blank">force it to do that</a> as well.</p>
<p><strong>How much memory do you really need?</strong></p>
<p>Let&#8217;s assume that 32bit architecture, without PAE, only lets you access half of what it should be able to, 2GiB of RAM. That means that the maximum amount of RAM you could access in a 64bit architecture would be (2^64 / 2). This equates to 8,388,608 <a href="http://en.wikipedia.org/wiki/Tebibyte" target="_blank">TiB</a> of RAM that you would <em>still </em>be able to access. Most computers being sold today come equipped with 2GiB of RAM total, or 2.3*(10^-10) % of just <em>half</em> of the total addressing space allowed for with 64bit architecture.</p>
<p><strong>Speed improvements</strong></p>
<p>The next argument for increasing the bit size of the architecture is to get speed improvements. By increasing the length of every register you no long have to straddle registers when you are dealing with large numbers. For example, if you are doing math using a 64bit number on a 32bit CPU you will need to use two registers to fit the whole number. On a 64bit CPU you just need one, thus freeing up the second register for something else.</p>
<p>Certainly moving to 128bit CPUs will also improve speeds? Well&#8230; sort of. You see a lot of the large number math instructions that a CPU can do already make use of specialized 128bit registers <em>inside</em> of existing 32bit CPUs. I highly doubt there will be a large need for 256bit data types moving forward (super big long unsigned int?), so most of the real speed improvements you will see on a 128bit CPU will be when you are using 128bit numbers.</p>
<p>Another issue is existing software. The vast majority of software currently available are 32bit programs, meaning that they will see very little speed increases on 64bit or 128bit CPUs. In fact 64bit software is only now starting to become common place, with many applications still lacking true 64bit support.</p>
<p>Yes, 128bit registers will be beneficial for some computations such as <a href="http://en.wikipedia.org/wiki/Advanced_Encryption_Standard" target="_blank">encryption</a> (128bit-256bit keys) and hash algorithms (some of the <a href="http://en.wikipedia.org/wiki/NIST_hash_function_competition" target="_blank">SHA-3 candidates</a> keep an internal state of 512-1024bits) but so will the addition of <a href="http://en.wikipedia.org/wiki/AES_instruction_set" target="_blank">specific instruction sets</a> to make use of the existing hardware.</p>
<p><strong>Progress moves forward</strong></p>
<p>I don&#8217;t mean to rain on the 128bit architecture parade, I just merely mean to point out that what has been said so far about it really isn&#8217;t that different from what we already have. One day I do expect 128bit CPUs to replace 64bit ones, just as they are now slowly replacing 32bit CPUs. In the mean time I would much rather have additional registers or more hardware functionality because they will actually be taken advantage of.</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 57px; width: 1px; height: 1px;"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves /> <w:TrackFormatting /> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF /> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> <w:SplitPgBreakAndParaMark /> <w:DontVertAlignCellWithSp /> <w:DontBreakConstrainedForcedTables /> <w:DontVertAlignInTxbx /> <w:Word11KerningPairs /> <w:CachedColBalance /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> <m:mathPr> <m:mathFont m:val="Cambria Math" /> <m:brkBin m:val="before" /> <m:brkBinSub m:val="&#45;-" /> <m:smallFrac m:val="off" /> <m:dispDef /> <m:lMargin m:val="0" /> <m:rMargin m:val="0" /> <m:defJc m:val="centerGroup" /> <m:wrapIndent m:val="1440" /> <m:intLim m:val="subSup" /> <m:naryLim m:val="undOvr" /> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"   DefSemiHidden="true" DefQFormat="false" DefPriority="99"   LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Normal" /> <w:LsdException Locked="false" Priority="9" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="heading 1" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9" /> <w:LsdException Locked="false" Priority="39" Name="toc 1" /> <w:LsdException Locked="false" Priority="39" Name="toc 2" /> <w:LsdException Locked="false" Priority="39" Name="toc 3" /> <w:LsdException Locked="false" Priority="39" Name="toc 4" /> <w:LsdException Locked="false" Priority="39" Name="toc 5" /> <w:LsdException Locked="false" Priority="39" Name="toc 6" /> <w:LsdException Locked="false" Priority="39" Name="toc 7" /> <w:LsdException Locked="false" Priority="39" Name="toc 8" /> <w:LsdException Locked="false" Priority="39" Name="toc 9" /> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption" /> <w:LsdException Locked="false" Priority="10" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Title" /> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font" /> <w:LsdException Locked="false" Priority="11" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtitle" /> <w:LsdException Locked="false" Priority="22" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Strong" /> <w:LsdException Locked="false" Priority="20" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Emphasis" /> <w:LsdException Locked="false" Priority="59" SemiHidden="false"    UnhideWhenUsed="false" Name="Table Grid" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" /> <w:LsdException Locked="false" Priority="1" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="No Spacing" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 1" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 1" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 1" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 1" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" /> <w:LsdException Locked="false" Priority="34" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" /> <w:LsdException Locked="false" Priority="29" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Quote" /> <w:LsdException Locked="false" Priority="30" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 1" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 1" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 1" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 1" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 1" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 2" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 2" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 2" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 2" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 2" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 2" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 2" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 2" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 3" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 3" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 3" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 3" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 3" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 3" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 3" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 3" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 3" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 4" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 4" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 4" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 4" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 4" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 4" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 4" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 4" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 4" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 5" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 5" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 5" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 5" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 5" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 5" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 5" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 5" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 5" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 6" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 6" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 6" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 6" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 6" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 6" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 6" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 6" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 6" /> <w:LsdException Locked="false" Priority="19" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis" /> <w:LsdException Locked="false" Priority="21" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" /> <w:LsdException Locked="false" Priority="31" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" /> <w:LsdException Locked="false" Priority="32" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" /> <w:LsdException Locked="false" Priority="33" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Book Title" /> <w:LsdException Locked="false" Priority="37" Name="Bibliography" /> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" /> </w:LatentStyles> </xml><![endif]--><!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0in; 	margin-right:0in; 	margin-bottom:10.0pt; 	margin-left:0in; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.0in 1.0in 1.0in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin-top:0in; 	mso-para-margin-right:0in; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0in; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} --> <!--[endif]--></p>
<p class="MsoNormal">2<sup>32</sup></p>
</div>
<div class="shr-publisher-84"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.tylerburton.ca/2009/10/why-do-we-need-128bit-cpu-architecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>One algorithm to rule them all?</title>
		<link>http://www.tylerburton.ca/2009/09/one-algorithm-to-rule-them-all/</link>
		<comments>http://www.tylerburton.ca/2009/09/one-algorithm-to-rule-them-all/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 15:32:16 +0000</pubDate>
		<dc:creator>Tyler Burton</dc:creator>
				<category><![CDATA[Computer security]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[AES]]></category>
		<category><![CDATA[CRYPTREC]]></category>
		<category><![CDATA[DES]]></category>
		<category><![CDATA[MARS]]></category>
		<category><![CDATA[NESSIE]]></category>
		<category><![CDATA[NIST]]></category>
		<category><![CDATA[RC6]]></category>
		<category><![CDATA[Rijndael]]></category>
		<category><![CDATA[Serpent]]></category>
		<category><![CDATA[SHA1]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[TLS]]></category>
		<category><![CDATA[Twofish]]></category>

		<guid isPermaLink="false">http://www.tylerburton.ca/?p=61</guid>
		<description><![CDATA[In the world of computers interoperability is key. If I send you an e-mail from my machine I should hope that you&#8217;re e-mail client would be able to read it. This is why we have standards. Standards are a good thing. They allow people to focus on improving performance and driving down costs instead of [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>In the world of computers interoperability is key. If I send you an e-mail from my machine I should hope that you&#8217;re e-mail client would be able to read it. This is why we have standards. Standards are a good thing. They allow people to focus on improving performance and driving down costs instead of splintering user base and polluting the world with&#8230; less than elegant designs.</p>
<p>But what if <a href="http://en.wikipedia.org/wiki/Advanced_Encryption_Standard#Security" target="_blank">relying on a single standard</a> is not the correct way to do things either? As someone who enjoys reading about computer security this is an area where I can see some strength to the argument that standards are both good and bad. Take <a href="http://en.wikipedia.org/wiki/Advanced_Encryption_Standard" target="_blank">AES</a> as an example. If AES wasn&#8217;t the sole symmetric encryption standard we would run into a whole slew of interoperability problems&#8230; or would we? After all shouldn&#8217;t a degree of flexibility be a key piece of any good security system?</p>
<p>Now I know what you&#8217;re thinking. Why would we need to support more than one? Just look at these quick reasons why this would be an issue that I can name off of the top of my head:</p>
<ol>
<li>Security</li>
<li>Interoperability</li>
<li>Performance</li>
<li>Cost</li>
</ol>
<p><strong>Security</strong></p>
<p>Let&#8217;s first take a look at this. Think back to the <a href="http://en.wikipedia.org/wiki/Advanced_Encryption_Standard_process" target="_blank">Advanced Encryption Standard process</a> that <a href="http://www.nist.gov/" target="_blank">NIST</a> was running which began in 1997. After many rounds of analysis NIST was presented with the choice of selecting a standard based on one of the following algorithms: <a href="http://en.wikipedia.org/wiki/Rijndael" target="_blank">Rijndael</a>, <a href="http://en.wikipedia.org/wiki/Serpent_%28cipher%29" target="_blank">Serpent</a>, <a href="http://en.wikipedia.org/wiki/Twofish" target="_blank">Twofish</a>, <a href="http://en.wikipedia.org/wiki/RC6" target="_blank">RC6</a> and finally <a href="http://en.wikipedia.org/wiki/MARS_%28cryptography%29" target="_blank">MARS</a>. Any one of these <em>could</em> have ended up being what we call AES today. In fact the &#8216;winner,&#8217; Rijndael, wasn&#8217;t even the most secure algorithm, just the best overall. With some of the <a href="http://www.schneier.com/blog/archives/2009/07/another_new_aes.html" target="_blank">recent attacks on AES</a> perhaps it would have been better if a different algorithm was selected. Additionally, given the ability to use more than one algorithm opens up the possibility to use cascading ciphers, wrapping crucial data in more than one layer of security.</p>
<p><strong>Interoperability</strong></p>
<p>Interoperability is a huge issue when you are trying to make things work together. However rather than having a single interoperable cipher I feel as though it is much more important to have a single interoperable protocol. That way we could offer a variety of algorithms within it, so long as the protocol was flexible enough to be future-proofed. And don&#8217;t say we could never do this. The <a href="http://en.wikipedia.org/wiki/Transport_Layer_Security" target="_blank">Transport Layer Security</a> protocol which replaced SSL is perhaps the most widely used example of this, however <a href="http://en.wikipedia.org/wiki/Secure_Shell" target="_blank">many</a> <a href="http://en.wikipedia.org/wiki/Pretty_Good_Privacy" target="_blank">more</a> also exist. All of these allow for multiple ciphers and algorithms to be used, thus allowing stronger ones to be added in the future. In fact a lot of these also allow the user to set just which algorithms they want to allow for security purposes; for example I don&#8217;t trust DES, so I won&#8217;t allow it.</p>
<p><em>But what if we don&#8217;t agree on a set of algorithms?</em></p>
<p>This is a good point, and really one of the only areas that this line of thought starts to break down. In general the existing protocols have solved this by requiring at least one algorithm, in each category, as a sort of fall back. Traditionally this has been <a href="http://en.wikipedia.org/wiki/Data_Encryption_Standard" target="_blank">DES</a> and <a href="http://en.wikipedia.org/wiki/SHA_hash_functions" target="_blank">SHA1</a>. Thankfully as time moves forward the protocols also develop and slowly change what these defaults are.</p>
<p><strong>Performance</strong></p>
<p>A real concern is algorithm performance. Some might think that by supporting more than one algorithm we run the risk of not improving the standard as fast as we could have been. However I think this concern is really overblown. In fact many of the other AES finalists have seen continued improvements since the end of that process.</p>
<p><strong>Cost</strong></p>
<p>Hardware cost is certainly an issue. The more features a piece of hardware supports, the more the hardware will cost. Not only that but supporting more than one algorithm in limited hardware just may not be feasible in certain circumstances, such as in <a href="http://en.wikipedia.org/wiki/Smart_card" target="_blank">smart cards</a> for example. Still this is a scenario where the fallback algorithm could be used.</p>
<p><em>If AES just works, why bother thinking about the rest?</em></p>
<p>NIST was kind of unique in it&#8217;s decision to only support one symmetric block cipher. In fact both <a href="http://en.wikipedia.org/wiki/CRYPTREC" target="_blank">CRYPTREC</a> and <a href="http://en.wikipedia.org/wiki/NESSIE" target="_blank">NESSIE</a>, decided to select suites of algorithms. Unfortunately this means that NIST&#8217;s algorithm choices, which are in fact a subset of both CRYPTREC and NESSIE, are going to be the only ones really implemented &#8211; especially when the US is such a large market.</p>
<p><strong>Conclusion</strong></p>
<p>After everything is said and done I am more thankful that we have a strong common cipher available, rather than a lack of any. That being said I think choice and diversity is a good thing. I just wish more things would be designed with future innovations in mind rather than suddenly having to switch over when <a href="http://en.wikipedia.org/wiki/MD5#Vulnerability" target="_blank">things</a> go <a href="http://en.wikipedia.org/wiki/SHA_hash_functions#SHA-1" target="_blank">wrong</a>.</p>
<div class="shr-publisher-61"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.tylerburton.ca/2009/09/one-algorithm-to-rule-them-all/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

