<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Tim Trueman</title>
	
	<link>http://timtrueman.com</link>
	<description>A tagline? What am I…a super hero?</description>
	<lastBuildDate>Sat, 29 Aug 2009 01:59:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/timtrueman" type="application/rss+xml" /><feedburner:emailServiceId>timtrueman</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Why do you think it’s called Chrome OS?</title>
		<link>http://feedproxy.google.com/~r/timtrueman/~3/GQUhE40ifgQ/</link>
		<comments>http://timtrueman.com/2009/07/09/why-do-you-think-its-called-chrome-os/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 07:16:30 +0000</pubDate>
		<dc:creator>Tim Trueman</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://timtrueman.com/?p=620</guid>
		<description><![CDATA[Google isn&#8217;t Apple. This isn&#8217;t the next big thing. It&#8217;s not a stab at Windows.
What is it?
Google has one very obvious strategy. Get more people to use the Internet&#8230;which leads to to more searches&#8230;which leads to more ad revenue&#8212;lots of revenue.
Google&#8217;s browser, Chrome, is supposed drive forward the technological limit of browsers. This lets developers [...]]]></description>
			<content:encoded><![CDATA[<p>Google isn&#8217;t Apple. This isn&#8217;t the next big thing. It&#8217;s not a stab at Windows.</p>
<p>What is it?</p>
<p>Google has one very obvious strategy. Get more people to use the Internet&hellip;which leads to to more searches&hellip;which leads to more ad revenue&mdash;<em>lots</em> of revenue.</p>
<p>Google&#8217;s browser, Chrome, is supposed drive forward the technological limit of browsers. This lets developers build newer and cooler products. New products lead to users spending more time on the web which leads to more searches and therefore more revenue for Google.</p>
<p>There&#8217;s one thorn in the side for all web developers today: Internet Explorer. It&#8217;s popular simply because anyone that wants a computer just so they can surf the web, listen to music and IM their friends has no realistic option except Windows. And the average user isn&#8217;t going to bother with anything but Internet Explorer.</p>
<p>That&#8217;s right, Chrome OS has Chrome in its name because it&#8217;s sole purpose is to replace Internet Explorer with Chrome. It&#8217;s not an attack on Windows; It&#8217;s an attack on Internet Explorer.</p>
<p>I could be terribly, horribly wrong but it seems the only logical reason to me given the naming scheme. Am I crazy?</p>
<img src="http://feeds.feedburner.com/~r/timtrueman/~4/GQUhE40ifgQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://timtrueman.com/2009/07/09/why-do-you-think-its-called-chrome-os/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://timtrueman.com/2009/07/09/why-do-you-think-its-called-chrome-os/</feedburner:origLink></item>
		<item>
		<title>Execute Javascript when you can’t</title>
		<link>http://feedproxy.google.com/~r/timtrueman/~3/LoMTInQxEp8/</link>
		<comments>http://timtrueman.com/2009/07/03/execute-javascript-when-you-cant/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 22:03:19 +0000</pubDate>
		<dc:creator>Tim Trueman</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://timtrueman.com/?p=519</guid>
		<description><![CDATA[This is a rather sneaky trick I picked up from a former co-worker and the best Javascript hacker I know, Jeremy. All credit goes to him.
This trick is for when an Ajax call grabs the response, blindly dumps it into the DOM and doesn&#8217;t allow for any Javascript to be executed from the response.
Clever, eh?
]]></description>
			<content:encoded><![CDATA[<p>This is a rather sneaky trick I picked up from a former co-worker and the best Javascript hacker I know, Jeremy. All credit goes to him.</p>
<p>This trick is for when an Ajax call grabs the response, blindly dumps it into the DOM and doesn&#8217;t allow for any Javascript to be executed from the response.</p>
<script src="http://gist.github.com/140334.js"></script>
<p>Clever, eh?</p>
<img src="http://feeds.feedburner.com/~r/timtrueman/~4/LoMTInQxEp8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://timtrueman.com/2009/07/03/execute-javascript-when-you-cant/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://timtrueman.com/2009/07/03/execute-javascript-when-you-cant/</feedburner:origLink></item>
		<item>
		<title>Understanding solid-state drives</title>
		<link>http://feedproxy.google.com/~r/timtrueman/~3/h6Xt3AhOLVg/</link>
		<comments>http://timtrueman.com/2008/12/07/understanding-solid-state-drives/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 04:20:20 +0000</pubDate>
		<dc:creator>Tim Trueman</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://timtrueman.com/?p=191</guid>
		<description><![CDATA[It seems I&#8217;ve forgotten about writing for a few months. I miss writing to be honest and I think it&#8217;s time to end the hiatus by writing a little something about a package I received a few weeks ago.

It seems the Intel X25-M solid-state drive has been turning a lot of heads. I&#8217;m not sure [...]]]></description>
			<content:encoded><![CDATA[<p>It seems I&#8217;ve forgotten about writing for a few months. I miss writing to be honest and I think it&#8217;s time to end the hiatus by writing a little something about a package I received a few weeks ago.</p>
<div class="media"><a href="http://flickr.com/photos/ttrueman/3020922011/"><img src="http://farm4.static.flickr.com/3067/3020922011_ce730bf0e1.jpg" width="475" alt="Unboxing the Intel X-25M 80GB SSD"/></a></div>
<p>It seems the Intel X25-M solid-state drive has been turning a lot of heads. I&#8217;m not sure very many people really understand the implications of both Intel&#8217;s advances and solid-state technology in general. They look at the benchmarks and the two orders of magnitude lower seek time. They smile and nod and that&#8217;s it&hellip;end of story. Not so fast.</p>
<p><strong>SLC versus MLC</strong><br />
Solid-state drives are usually classified into two categories: Those made from single-level cells (SLC) and those made from multi-level cells (MLC). The difference is SLC stores 1-bit per transistor and MLC stores 2-bits per transistor. The implications are realized in performance, reliability and cost.</p>
<p>Performance-wise MLC typically takes twice as long to read, the same amount of time to erase, and usually more than three times longer to write than SLC. Keep in mind that athough MLC is significantly slower to write to than SLC it&#8217;s still faster than a rotational disk.</p>
<p>SLC&#8217;s biggest advantage is lifespan not performance: SLC cells can be erased and reprogrammed 100,000 times versus 10,000 for MLC. The reason this difference is important is write amplification. Write amplification is the actual size of the write versus the requested write size; This occurs when saving a file that is smaller than the page/block size on an SSD. SSDs have traditionally had a write amplification of 20-40x.</p>
<p>Price-wise it&#8217;s much more expensive to build SLC SSDs over MLC because you need twice the number of transistors to store the same amount of data. If you thought MLC was out of your budget SLC is <em>way</em> out of your league.</p>
<div class="media"><a href="http://flickr.com/photos/ttrueman/3021753718/"><img src="http://farm4.static.flickr.com/3018/3021753718_86c6079ff9.jpg" width="475" alt="Installing the Intel X-25M 80GB SSD in a MacBook"/></a></div>
<p>AnandTech does a <a href="http://www.anandtech.com/cpuchipsets/intel/showdoc.aspx?i=3403&#038;p=2">great job</a> of explaining the technical details of how NAND flash memory works if you&#8217;re even more curious.</p>
<p><strong>What makes the Intel X-25M better than other SSDs?</strong></p>
<p><strong>1. Reduce write amplication</strong><br />
The Intel drive has reduced the write amplification to 1.1 or less which is hugely impressive. This contributes to massively improving the lifespan of the device.</p>
<p><strong>2. Build a better controller</strong><br />
Intel&#8217;s excellent implementation of a controller makes a pretty big difference. Other SSDs have done a really weak job in this aspect. Intel nails it with their controller. It improves caching, queuing and running concurrent operations, improves the lifespan and provides additional information specific to SSDs.</p>
<p><strong>3. Better wear-leveling</strong><br />
The Intel controller takes advantage of the fact that read performance is the same anywhere on the disk, so deleting a file, and redownloading it will write it to another part of the SSD; This is called wear leveling. Intel&#8217;s wear leveling has a difference of 1.1 or less between maximum wear and average wear versus the traditional difference of ~3x. This also helps improve drastically the lifespan of the device.</p>
<div class="media"><a href="http://flickr.com/photos/ttrueman/3051697418/"><img src="http://farm4.static.flickr.com/3249/3051697418_53ac378a73_o.png" width="475" alt="Intel X-25M 80GB SSD benchmark"/></a></div>
<p><strong>4. Revolutionary improvements to reliability</strong><br />
Intel promises you can write 100GB per day for 5 years before the drive fails but it should last much longer than that. Intel does that by keeping 7.5-8% (6-6.4GB on the 80GB drive) in reserve so that as blocks fail it can switch the reserve blocks. The drive supports two additional SMART attributes, one that says how close to the rated cycling limit you are, and one that says when you&#8217;ve run out of (or are about to run out) reserve blocks. This means you&#8217;ll know exactly when your drive is about to fail. That&#8217;s frickin&#8217; awesome!</p>
<p><strong>Results</strong><br />
These are <a href="http://db.xbench.com/merge.xhtml?doc1=317043&#038;doc2=317407">my Xbench disk results</a> before and after on my unibody MacBook 2GHz with 4GB of RAM. Real-world increase of 5.1x in disk performance. Everything just feels&hellip;<em>instant</em>. Pinwheels are an extremely rare occurrence.</p>
<p>I can&#8217;t even imagine the scary performance Intel can wring out of their upcoming <a href="http://www.intel.com/design/flash/nand/extreme/index.htm">SLC drive</a>. It&#8217;s going to be a monster, and a game changer quite possibly (in server environments).</p>
<p>What Intel has done is raise the bar for everyone by showing them what&#8217;s really possible with solid-state drives. Honestly after weeks of use and comparing this to my daily use of a faster MacBook Pro without an SSD at work, I can say it&#8217;s the single best upgrade you can do to any computer to make your computing life better&hellip;if you can afford one. It&#8217;s a night and day difference.</p>
<p>The best part is the drive&#8217;s already dropped over $100 since I bought it; It&#8217;s <a href="http://www.amazon.com/gp/product/B001F4YIYY?ie=UTF8&#038;tag=timtru-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B001F4YIYY"><span style="text-decoration: line-through;">$539</span> $399 on Amazon</a>.</p>
<img src="http://feeds.feedburner.com/~r/timtrueman/~4/h6Xt3AhOLVg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://timtrueman.com/2008/12/07/understanding-solid-state-drives/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://timtrueman.com/2008/12/07/understanding-solid-state-drives/</feedburner:origLink></item>
		<item>
		<title>AT&amp;T Uverse: buyer’s guide</title>
		<link>http://feedproxy.google.com/~r/timtrueman/~3/g6ZCUFUwmhc/</link>
		<comments>http://timtrueman.com/2008/12/07/att-uverse-buyers-guide/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 00:09:04 +0000</pubDate>
		<dc:creator>Tim Trueman</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://timtrueman.com/?p=195</guid>
		<description><![CDATA[
So you&#8217;re thinking about getting AT&#038;T Uverse. You thought you&#8217;d look up what people thought about it and you ended up here. I&#8217;ll break it down as simply as I can.
Pros

Internet occasionally mostly works for a few hours albeit at DSL speeds (~5Mbps)

Cons

More expensive than competitors
Slower than competitors (although on the plus side, it&#8217;s slightly [...]]]></description>
			<content:encoded><![CDATA[<div class="media"><a href="http://flickr.com/photos/ttrueman/3067622703/"><img src="http://farm4.static.flickr.com/3168/3067622703_cd5d688768.jpg" alt="airport 737 morning" /></a></div>
<p>So you&#8217;re thinking about getting AT&#038;T Uverse. You thought you&#8217;d look up what people thought about it and you ended up here. I&#8217;ll break it down as simply as I can.</p>
<p><strong>Pros</strong></p>
<ul>
<li>Internet occasionally mostly works for a few hours albeit at DSL speeds (~5Mbps)</li>
</ul>
<p><strong>Cons</strong></p>
<ul>
<li>More expensive than competitors</li>
<li>Slower than competitors (although on the plus side, it&#8217;s slightly faster than DSL that costs less than 20% of what Uverse costs)</li>
<li>More than 50% of the time something isn&#8217;t working (DNS issues or just down totally)</li>
<li>DNS issues are frequent&#8211;usually at least 30% DNS lookups time out (Akamai domains frequently failed to resolve so major websites would have no CSS, JavaScript or images) </li>
<li>Terrible device that gives you no control and doesn&#8217;t offer the latest tech (802.11n)</li>
<li>Awful tech support (Uverse technicians are worse than regular AT&#038;T technicians&#8211;intelligible as well as totally incompetent, e.g. they seemed to think I change settings on my Mac by clicking &#8220;start&#8221; and then &#8220;control panel&#8221;)</li>
<li>They charged me roughly a $1 for a few months after I cancelled the service for who knows what reason</li>
<li>Charged me $487.14 (I didn&#8217;t chose to pay this, they charged me without asking&#8211;after I cancelled autopay at least a couple months before) for not returning the equipment which apparently I can&#8217;t get an address to ship it to and they refuse to send me the boxes they promise even after &#8220;verifying&#8221; my address twice</li>
<li>Their website is totally unusable (maybe it works in IE 6, but I wasn&#8217;t able to try it since I was already on IE 7) (I should have read the sign and never used a service with a shitty website but then again what option did I have)</li>
<li>There apparently aren&#8217;t any managers on the Uverse program that know how to return phone calls (and all the managers are always busy so you can&#8217;t talk to them directly)</li>
<li>Uverse&#8217;s ticketing system seems to automatically close any ticket I request they open without any action whatsoever being done</li>
<li>If you ever need help, you&#8217;ll dial the &#8220;Uverse&#8221; number that magically connects you to the regular AT&#038;T technicians in Texas (who don&#8217;t know anything about Uverse and transfer you back to the same line&#8211;this process happens over and over until you&#8217;ve wasted about 30 minutes on hold and going through the same menus over and over and somehow it magically breaks out of the loop)</li>
</ul>
<p>Seriously AT&#038;T, $487.14? What the FUCK?! I&#8217;ve got your expensive hardware sitting by my door in hopes you&#8217;ll refund me for your criminally awful &#8220;service&#8221; (I&#8217;d normally expect interest as well as a refund for the percentage of time your service wasn&#8217;t working but you&#8217;ve buried the bar so low it doesn&#8217;t matter at this point).</p>
<p>Basically if you&#8217;re considering AT&#038;T Uverse&#8230;don&#8217;t do it. If it&#8217;s your only option&#8230;I&#8217;m not kidding even a bit&#8230;MOVE somewhere else. Am I bitter? Yes. I admit it. But I&#8217;m trying to save others the agony.</p>
<p>I&#8217;m now with Comcast. I pay 30% less now and I get ~30Mbps downstream and 3-4Mbps up. It&#8217;s been down twice in the last six months both times for about 30 minutes, which isn&#8217;t too unreasonable. And any future place I consider living in I&#8217;m definitely checking to make sure something other than Uverse is available.</p>
<p><em>Sorry for the negative post, I just wanted to put this out there so others don&#8217;t make the same mistake as me.</em></p>
<img src="http://feeds.feedburner.com/~r/timtrueman/~4/g6ZCUFUwmhc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://timtrueman.com/2008/12/07/att-uverse-buyers-guide/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://timtrueman.com/2008/12/07/att-uverse-buyers-guide/</feedburner:origLink></item>
		<item>
		<title>Character encoding confusion</title>
		<link>http://feedproxy.google.com/~r/timtrueman/~3/pc1k8G5o1IA/</link>
		<comments>http://timtrueman.com/2008/09/15/character-encoding-confusion/#comments</comments>
		<pubDate>Mon, 15 Sep 2008 13:58:25 +0000</pubDate>
		<dc:creator>Tim Trueman</dc:creator>
				<category><![CDATA[Articles]]></category>

		<guid isPermaLink="false">http://timtrueman.com/?p=126</guid>
		<description><![CDATA[
As you can see above my photography skills have gone up, although this has been at a negative correlation to my programming skills. And that&#8217;s what this is about. My inexperience with the clusterfuck that is character encoding (we haven&#8217;t come a long way sadly since ASCII was invented in 1963).
Alright so there I was [...]]]></description>
			<content:encoded><![CDATA[<div class="media"><object type="application/x-shockwave-flash" width="475" height="350" data="http://www.flickr.com/apps/slideshow/show.swf?v=59913" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="flashvars" value="&#038;offsite=true&#038;intl_lang=en-us&#038;page_show_url=%2Fphotos%2Fttrueman%2Fsets%2F72157607260944531%2Fshow%2F&#038;page_show_back_url=%2Fphotos%2Fttrueman%2Fsets%2F72157607260944531%2F&#038;set_id=72157607260944531&#038;jump_to="></param><param name="movie" value="http://www.flickr.com/apps/slideshow/show.swf?v=59913"></param><param name="bgcolor" value="#000000"></param><param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/slideshow/show.swf?v=59913" bgcolor="#000000" allowFullScreen="true" flashvars="&#038;offsite=true&#038;intl_lang=en-us&#038;page_show_url=%2Fphotos%2Fttrueman%2Fsets%2F72157607260944531%2Fshow%2F&#038;page_show_back_url=%2Fphotos%2Fttrueman%2Fsets%2F72157607260944531%2F&#038;set_id=72157607260944531&#038;jump_to=" width="475" height="350"></embed></object></div>
<p>As you can see above my photography skills have gone up, although this has been at a negative correlation to my programming skills. And that&#8217;s what this is about. My inexperience with the clusterfuck that is character encoding (we haven&#8217;t come a long way sadly since ASCII was invented in 1963).</p>
<p>Alright so there I was at <a href="http://hackday.org/">Open Hack 2008</a>. I work for Yahoo! so I wasn&#8217;t allowed to compete, but I just figured I&#8217;d keep everyone company and work on a personal project. It&#8217;s a simple service I will be releasing shortly (I hope). I copied the code I had already over to my laptop using my Linux desktop&#8217;s http server.</p>
<p>I started coding and after a few minutes I went to run my project. I was met with a friendly <code>unexpected T_CONSTANT_ENCAPSED_STRING</code>. In the dozen lines of code I had, I couldn&#8217;t see the issue. I figured I was just missing something stupid so I posted to <a href="http://twitter.com/timtrueman/statuses/919861937">Twitter</a> asking for help. I got a quick reply and headed downstairs to take a look at the issue. We tried to isolate the issue on the line throwing the error:</p>
<p><code>$ php -r "$subject = $argv[1];"<br />
Parse error: syntax error, unexpected &#8216;=&#8217; on line 1</code></p>
<p>What the hell? I&#8217;ll give you a million dollars* if you can spot the issue (ignore <code>$argv[1]</code> being undefined, that&#8217;s not it). About an hour and a dozen engineers later (including <a href="http://lerdorf.com/bio.php">Rasmus</a>) we solved the issue. Here&#8217;s what the code really looked like after I opened it in TextEdit.</p>
<p><code>$ php -r "$subject&not;=&not;$argv[1];"<br />
Parse error: syntax error, unexpected &#8216;=&#8217; on line 1</code></p>
<p>Note the negation symbol before and after the equals sign. What amazes me is that none of the editors I had used before (TextMate, vim, nano) had caught the invisible gremlins.</p>
<p>Here&#8217;s what I <em>think</em> happened (I&#8217;m still not 100% sure). I wrote the original code in gedit which I verified saved in the default of <a href="http://en.wikipedia.org/wiki/UTF-8">UTF-8</a> (as it should). I then transfered the code to my laptop via an http server on my desktop. Since I didn&#8217;t set a charset Safari chose one for me: Latin-1 or its more catchy name, <a href="http://en.wikipedia.org/wiki/ISO/IEC_8859-1">ISO-8859-1</a>. Above the first 127 character values most charsets differ and this conversion produced gremlins that I could see when I pasted my code into a new document and saved it as UTF-8. Anyone who&#8217;s had to work with double-byte languages such as Chinese are already aware of this. They&#8217;ve probable have seen more <a href="http://en.wikipedia.org/wiki/Mojibake">mojibake</a> then they&#8217;ve wanted to.</p>
<div class="media"><a href="http://flickr.com/photos/ttrueman/2401845451/"><img src="http://farm3.static.flickr.com/2363/2401845451_b58d216d90.jpg"/></a></div>
<p><strong>The core problem</strong></p>
<p>Back in the day I read Joel Spolsky&#8217;s <a href="http://joelonsoftware.com/articles/Unicode.html">&quot;The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)&quot;</a>. I was young and naive; I promptly brushed it off as if it would never apply to me.</p>
<p>My mistake&hellip;</p>
<p>The root of the problem is this: most web developers are unaware of the character encoding issues. So they forget to specify one. So it&#8217;s up to the software you&#8217;re running to pick a character encoding for them.</p>
<p>For email, most clients support UTF-8 finally and if they don&#8217;t they should be taken out back and shot. Then stabbed with a spork. If I don&#8217;t see this in the header I&#8217;m sure somewhere in the world a tiny, cute, fuzzy kitten dies:</p>
<p><code>Content-Type: text/plain; charset="UTF-8"</code></p>
<p>On the web, you should <em>always</em> specify your charset, like this:</p>
<p><code>&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt;</code>.</p>
<p>Use UTF-8, if you want to save cute kittens. I&#8217;m sure a few years ago most documents that didn&#8217;t specify a charset were Latin-1 but today I hope that&#8217;s not the case. Here&#8217;s how to change the default charset in your browser:</p>
<p><strong>(Mac) Safari</strong><br />
Preferences > Appearance > Default Encoding<br />
Western (ISO Latin 1) => Unicode (UTF-8)</p>
<p><strong>(Windows/Linux) Firefox</strong><br />
Edit > Preferences > Content > Fonts &#038; Colors > Advanced > Default Character Encoding<br />
Western (ISO-8859-1) => Unicode (UTF-8)</p>
<p>I still can&#8217;t believe how much time charsets can cause you to lose. There should be some sort of awareness campaign with charity runs and those plastic yellow bracelets. At least I had a great time at Hack Day and I learned a ton of awesome command line and <a href="http://www.carbonsilk.com/development/vim-diff/">vim tricks</a> (thanks James).</p>
<p>*Did I say a million dollars? I meant grains of sand.</p>
<img src="http://feeds.feedburner.com/~r/timtrueman/~4/pc1k8G5o1IA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://timtrueman.com/2008/09/15/character-encoding-confusion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://timtrueman.com/2008/09/15/character-encoding-confusion/</feedburner:origLink></item>
		<item>
		<title>NASC 2008: Principia takes 2nd!</title>
		<link>http://feedproxy.google.com/~r/timtrueman/~3/bnEcXhifwJI/</link>
		<comments>http://timtrueman.com/2008/07/22/nasc-2008-principia-takes-2nd/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 06:38:07 +0000</pubDate>
		<dc:creator>Tim Trueman</dc:creator>
				<category><![CDATA[Articles]]></category>

		<guid isPermaLink="false">http://timtrueman.com/?p=57</guid>
		<description><![CDATA[

Missouri University of Science &#038; Technology / Bob Phelan
Ra 7 cruising on the open highway

After a grueling ten day endurance race similar to the Tour de France, solar cars rolled into Calgary in Alberta, Canada. The alien cars are hand built by teams of students from around the world. The stark contrast between a solar [...]]]></description>
			<content:encoded><![CDATA[<div class="media">
<div class="object"><a href="http://flickr.com/photos/sdelc/2665718613/sizes/l/"><img src="http://farm4.static.flickr.com/3027/2665718613_10e6d4274f.jpg" alt="Ra 7" width="475" /></a></div>
<div class="copyright">Missouri University of Science &#038; Technology / Bob Phelan</div>
<div class="caption">Ra 7 cruising on the open highway</div>
</div>
<p>After a grueling ten day endurance race similar to the Tour de France, solar cars rolled into Calgary in Alberta, Canada. The alien cars are hand built by teams of students from around the world. The stark contrast between a solar car and a normal road car highlights the difference in goals. Roads cars possess the comfort and capabilities to transport several people and their cargo; Solar cars are designed with absolute and total efficiency in mind, a reminder that solar panels can only provide so much energy.</p>
<p>It might be hard to imagine just how comprehensively different a solar car is, so here are the biggest differences between a Prius for example and Ra 7, my alma mater&#8217;s solar car:</p>
<ul>
<li>Ra 7 uses the same amount of power as a toaster (30x less than a Prius)</li>
<li>Prius has four wheels, Ra 7 has three for less <a href="http://en.wikipedia.org/wiki/Low_rolling_resistance_tires">rolling resistance</a></li>
<li>Prius weighs 2,921 lbs, Ra 7 weighs 375 lbs</li>
<li>The aerodynamics are almost 90x better on Ra 7</li>
<li>Tire pressure is 3x higher on Ra 7 (the ride is a bit bumpier)</li>
<li>There&#8217;s no A/C on Ra 7</li>
<li>Prius costs $22,000+, Ra 7 costs around $200,000</li>
<li>Prius can take 5 passengers, Ra 7 only fits the driver</li>
<li>Prius can drive without service for years, Ra 7 requires a pit crew</li>
<li>Both have rear view cameras although only Ra 7 has no mirrors</li>
</ul>
<div class="media"><a href="http://flickr.com/photos/ttrueman/307809618/in/set-72157594422453517/"><img src="http://farm1.static.flickr.com/103/307809618_01268d36f1.jpg" alt="MomentUM" width="475" /></a></div>
<p>Clear, sunny skies provide the solar array with enough power to cruise at 55-60 MPH without touching the 5 kilowatt-hour battery pack made from 55 lbs of lithium polymer battery cells (similar to laptop batteries). The pure efficiency of every system in the car makes for one slick, stealth-fighter-looking machine as you can see.</p>
<p>The arrays on these solar cars are very costly, very fragile, and very powerful. The best solar cars use <a href="http://en.wikipedia.org/wiki/Multijunction_photovoltaic_cell">triple-junction gallium arsenide solar cells</a> meant for military satellites and Mars rovers. Even the most expensive of these solar arrays provide limited power for a vehicle to propel itself at speed. This necessitates a slender, aerodynamic shape that with maximum surface area facing toward the sun for the array. To illustrate the extremities these design goals are taken to, I submit this photograph taken from the front of the University of Michigan&#8217;s solar car.</p>
<div class="media"><a href="http://timtrueman.com/wp-content/uploads/pict2859.jpg"><img src="http://timtrueman.com/wp-content/uploads/pict2859-466x350.jpg" alt="Ra 7 getting prepped for the starting line in Plano, TX. Credit: Heidi Trudell" title="Ra 7" width="466" height="350" /></a></div>
<p>Not counting the canopy, the car is ten inches thick at its thickest point. Not much space for the driver and the plethora of electronics needed for driving and racing the car. Racing an experimental car requires strategy and safety, two factors contributing toward a series of sensors and computers on the car recording and transmitting temperatures, voltages, amp draws, speed, GPS coordinates, and pressures back to the team racing the car. A battery protection system (BPS) vigilantly watches for electrical problems that could harm the car or its driver. A fraction of a second is all it takes for the BPS to detect problems and take action.</p>
<p>Having raced in the 2005 North American Solar Challenge, I eagerly followed the <a href="http://www.americansolarchallenge.org/">2008 North American Solar Challenge</a>. Today concluded 2400 miles of racing between over a dozen teams from around the world. My team, the <a href="http://www.principiasolarcar.com/">Principia Solar Car Team</a>, placed second behind the <a href="http://www.engin.umich.edu/solarcar/">University of Michigan</a> and ahead of <a href="http://www.hochschule-bochum.de/solarcar.html">FH Bochum University</a> from Germany. By far, this was the best result my team has ever accomplished, and considering Principia is a liberal arts college with 500 students and no engineering department, it&#8217;s an impressive feat!</p>
<p>Since I no longer build and race solar cars, I am forced to <a href="http://timtrueman.com/2008/03/23/explaining-my-addiction/">feed my addiction</a> with something else: Formula 1. The <a href="http://www.formula1.com/news/technical/2007/780/455.html">technical details</a> satisfy my inner engineer who misses solar car racing.</p>
<img src="http://feeds.feedburner.com/~r/timtrueman/~4/bnEcXhifwJI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://timtrueman.com/2008/07/22/nasc-2008-principia-takes-2nd/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://timtrueman.com/2008/07/22/nasc-2008-principia-takes-2nd/</feedburner:origLink></item>
		<item>
		<title>Sniffing packets using BPF</title>
		<link>http://feedproxy.google.com/~r/timtrueman/~3/rahHm2zZIQc/</link>
		<comments>http://timtrueman.com/2008/06/06/sniffing-packets-using-bpf/#comments</comments>
		<pubDate>Sat, 07 Jun 2008 06:35:59 +0000</pubDate>
		<dc:creator>Tim Trueman</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://timtrueman.com/?p=54</guid>
		<description><![CDATA[
I&#8217;m insatiably curious. It&#8217;s hard for me to not wonder how something works. If I see even a hint of something interesting, I will find out how it works.
One of the few pieces of software I keep running 24/7 is a Perl script called MySQL query sniffer. It watches your network interface of choice and [...]]]></description>
			<content:encoded><![CDATA[<div class="media"><a href="http://flickr.com/photos/ttrueman/3226993903/"><img src="http://farm4.static.flickr.com/3123/3226993903_3fef065ce9.jpg" alt="nerdy books" /></a></div>
<p>I&#8217;m insatiably curious. It&#8217;s hard for me to not wonder how something works. If I see even a hint of something interesting, I <em>will</em> find out how it works.</p>
<p>One of the few pieces of software I keep running 24/7 is a Perl script called <a href="http://iank.org/querysniffer/mysqlsniff-0.10.html">MySQL query sniffer</a>. It watches your network interface of choice and dumps out the query from any packet containing a MySQL query. This is a very handy trick for debugging database issues when your software says it&#8217;s execute a query but you want to know exactly what that query looks like to the database. I find it much more convenient for a few reasons:</p>
<ul>
<li>Figuring out which queries are mine on a shared dev database is challenging</li>
<li>I may not have permission to turn on query logging</li>
<li>Query logging slows down the database</li>
<li>Query logging can take up quite a lot of space</li>
<li>Sometimes the MySQL server restart required to turn on query logging isn&#8217;t an option</li>
</ul>
<p>I usually leave this script running in the background on my MacBook Pro at work all day long. Starting the script though not using sudo give the following error:</p>
<p><code>durandal:~ ttrueman$ ./mysqlsniff-0.10.pl en0<br />
(no devices found) /dev/bpf0: Permission denied</code></p>
<p>I thought I told mysqlsniff to listen on en0, what the hell is this bpf0 device? Curiosity got the better of me, so you&#8217;re going to hear from me just what this bpf0 really is.</p>
<p>The <a href="http://www.gsp.com/cgi-bin/man.cgi?section=4&#038;topic=bpf">Berkley Packet Filter</a> is an abstraction that sits between the raw network interface and application software. It allows applications to access the raw interface if they want or just see relevant packets. The real win with the Berkley Packet Filter is its speedy filtering can allow an application to just see packets relevant to itself. The benefits of this are two-fold: lower CPU overhead from less packets to handle and less packets in the device buffer, which means the buffer is less likely to fill up and drop packets. Wikipedia actually has a <a href="http://en.wikipedia.org/wiki/Berkeley_Packet_Filter">short but helpful article</a> on it actually.</p>
<p>If you&#8217;re really curious about the benefits of using the Berkley Packet Filter <a href="http://www.tcpdump.org/papers/bpf-usenix93.pdf">this relatively old but not too long research paper</a> does a good job of elaborating just how expensive it is to process packets with a CPU. Just imagine a few dozen instructions per packet times a gigabit Ethernet and try not to cringe.</p>
<p>What kind of things have you just <em>had</em> figure out how they worked?</p>
<img src="http://feeds.feedburner.com/~r/timtrueman/~4/rahHm2zZIQc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://timtrueman.com/2008/06/06/sniffing-packets-using-bpf/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://timtrueman.com/2008/06/06/sniffing-packets-using-bpf/</feedburner:origLink></item>
		<item>
		<title>Cupertino, start your copiers</title>
		<link>http://feedproxy.google.com/~r/timtrueman/~3/qU32_p4i_lo/</link>
		<comments>http://timtrueman.com/2008/04/06/cupertino-start-your-copiers/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 05:20:03 +0000</pubDate>
		<dc:creator>Tim Trueman</dc:creator>
				<category><![CDATA[Articles]]></category>

		<guid isPermaLink="false">http://timtrueman.com/?p=24</guid>
		<description><![CDATA[[Apparently this wasn't clear so be warned: This is what I would do if I was armchair CEO of Microsoft. I know they're never going to do this. I'm just trying to imagine how Microsoft could be positioned for the future. I know they're wildly successful and I'm not suggesting they should completely give up [...]]]></description>
			<content:encoded><![CDATA[<p>[Apparently this wasn't clear so be warned: This is what I would do if I was armchair CEO of Microsoft. I know they're never going to do this. I'm just trying to imagine how Microsoft could be positioned for the future. I know they're wildly successful and I'm not suggesting they should completely give up strategies that are making them boatloads of cash already.]</p>
<p>As I said at the end of <a href="http://timtrueman.com/2008/02/17/why-linux-needs-app/">this article</a> back in February, I think Microsoft could try something crazy that just might work; Windows 7 could make Microsoft the first company to actually make use of the Internet in an operating system. Steve Ballmer gets that Microsoft needs a big change I think, but I&#8217;m not sure he really knows how to do it. In fact I&#8217;m pretty sure he doesn&#8217;t know what to do. Yahoo! isn&#8217;t the answer to your prayers Steve, trust me. Here&#8217;s a freebie for you&hellip;</p>
<div class="media"><a href="http://flickr.com/photos/ttrueman/324186652/"><img src="http://farm1.static.flickr.com/134/324186652_53b36fa617.jpg" width="475" alt="Bishop's Peak, San Luis Obispo, CA"/></a></div>
<p>I&#8217;ve come up with the <strong>12 Steps to Windows 7 of Awesomeness&trade;!</strong></p>
<p><strong>1. Ditch the NT kernel; use Linux.</strong> Just because Linux wasn&#8217;t invented at Microsoft doesn&#8217;t mean it&#8217;s not a total waste of resources to maintain Windows. I&#8217;m not saying I think it&#8217;s crap; I think very highly of it, but you&#8217;re not getting any return on investment for these resources. Why spend tons of money here when you don&#8217;t have to? Just do it. And contribute the awesome things you used in NT back to the Linux kernel.</p>
<p><strong>2. Ditch the Windows name.</strong> Props to <a href="http://www.extremetech.com/article2/0,1697,2280802,00.asp">ExtremeTech</a> for this idea. The name just leaves a bad taste in my mouth, and, even if it&#8217;s not true, Windows now stands for insecurity, pain, and suffering to everyone. Leave those memories behind. Don&#8217;t pick something shitty and misty like Vista. You want to signal customers you&#8217;re doing something new, exciting, and thinking <em>totally</em> different.</p>
<p><strong>3. Build a new type of browser that blurs the distinction between desktop and web apps.</strong> There&#8217;s a lot of reasons web apps cannot compete. Arguably the biggest difference is caused by Fitts&#8217; law. Fitts&#8217; law is a mathematical formula for the amount of time it will take to hit a target, depending on the size and distance of that target. Some places on the screen are easier to get to than others. As Bruce &#8220;Tog&#8221; Tognazzini <a href="http://www.asktog.com/columns/022DesignedToGiveFitts.html">explains</a>, the easiest is directly under the pointer, because you don&#8217;t have to move anything. The next easiest location is the corner, because it has essentially infinite height and width, making it a really easy target to hit. The edges only have one infinite direction but they are also easy to reach. The thing about web apps is they cannot use the corners or the edges of the screen. Desktop apps can.</p>
<p>Here&#8217;s what I&#8217;m suggesting: build a browser that lets web apps have the same functionality as desktop apps. It will need to let the web app take complete control over the browser&#8217;s menus and windows. It needs to be able to open and save files like a desktop app. It should be able to provide a systray/menubar item for easy access. A few tricks to getting this to work would be thinking of each web app as a separate instance of the browser, just like desktop applications are separate. Caching web apps could provide pretty decent performance and strong offline APIs (e.g. Google Gears, or a SQLite DB similar to WebKit&#8217;s HTML 5 implementation) could blur the line even further. Imagine Google Docs in this browser. Or Flickr. Hells yes!</p>
<div class="media"><a href="http://flickr.com/photos/ttrueman/2327974109/"><img src="http://farm3.static.flickr.com/2126/2327974109_702fca9f0f.jpg" width="475" alt="MacBook Air"/></a></div>
<p><strong>4. Allow OS to be installed completely over the Internet.</strong> Look at the beginning of the trend: the MacBook Air doesn&#8217;t have a DVD drive. Seriously, physical media has got to die. CD/DVDs suck. A lot. The trick is how do we live without them. <strong>Trick one:</strong> allow a direct install from microsoft.com. <strong>Trick two:</strong> allow the user to install from an ISO image on another machine similar to Apple&#8217;s Remote Disk but without the physical disk. Just write some software to server up ISO images. You could use multicast DNS so that there&#8217;s no configuration, it just auto-discovers available media on the local network.</p>
<p><strong>5. Stop worrying about piracy; you&#8217;re only pissing people off.</strong> Seriously. No more keys, licensing, or Windows Genuine Advantage validation shit. People have about zero tolerance for being punished just because you&#8217;re paranoid of losing revenue from a few customers. If you have to, think of the lost revenue as marketing your product as not fucking obnoxious.</p>
<p><strong>6. Time Machine style backups to something functionally equivalent to Amazon S3.</strong> Copy Amazon&#8217;s Web Service work. Then you can build amazing products on top of that infrastructure. The goal here is to have all the user&#8217;s data stored on Microsoft&#8217;s servers, with the hard drive acting as more of a cache. That way the user can have way more data than their hard drive can hold and they don&#8217;t have to worry about managing it. All the user&#8217;s documents will be automatically backed up and placed in a versioning system on the Internet in a fashion similar to Apple&#8217;s Time Machine. Users don&#8217;t want to buy hardware and manage it themselves. Highly skilled IT teams do a much better job. I&#8217;ll explain later how you can afford to do this for all your users.</p>
<div class="media"><a href="http://flickr.com/photos/ttrueman/1288918405/"><img src="http://farm2.static.flickr.com/1183/1288918405_b597b6c134.jpg" width="475" alt="Storage Area Network"/></a></div>
<p><strong>7. Nail the operating system&#8217;s user experience.</strong> I&#8217;ve already hammered on why using an Apple style menubar is important. I also think it&#8217;s important to come up with something better than the dock, which is one of the <a href="http://www.asktog.com/columns/044top10docksucks.html">worst UI elements ever invented</a>. Make use of the corners, which Ubuntu does really well. Clockwise from top-left it&#8217;s the application menu, power menu, trash, and show desktop. Both Windows and Mac OS X fail to use all four corners. What you want to do is really worry about creating a way for your users to be able to string together one small victory after another (e.g. &#8220;I downloaded a PDF, and I didn&#8217;t have anything that could read PDFs, but it downloaded and launched a reader in seconds&#8230;it just worked!&#8221;). Which leads me to my next point&hellip;</p>
<p><strong>8. Autoinstall anything needed like Ubuntu.</strong> Users will be grinning ear-to-ear when software simply works. If the user really cared about which Bittorrent app they used they would install it themselves. Which is why users don&#8217;t really care about what software they use to accomplish a task. Take care of this for the user. The average person wasn&#8217;t meant to figure this stuff out on their own and it&#8217;s just a bad experience to force them to manage software by themselves. Users want things to work and the less thinking they have to do about it, the happier they will be. Happiness is what you should be concerned with, as this quote explains how frustrating experiences are today:</p>
<blockquote><p>Every few days some crappy software I can’t even remember installing pops up noisy bulletins asking me if I want to upgrade something or other. I could not care LESS. I’m doing something. Leave me alone! I’m sure that the team at Sun Microsystems who just released this fabulous new version of the Java virtual machine have been thinking about the incremental release night and day for months and months, but the other 5,000,000,000 of us here on the planet really don’t give a flying monkey. You just cannot imagine how little I want to spend even three seconds of my life thinking about whether or not to install that new JVM. Somebody out there is already firing up Gmail to tell me that the JVM mustn’t just upgrade itself “because that might break something.” Yeah, if the entire collective wisdom of the Java development team doesn’t know if it’s going to break something, how am I supposed to know? Sheeesh.</p>
<p>Joel On Software, <a href="http://www.joelonsoftware.com/items/2006/12/15.html" onclick="javascript: pageTracker._trackPageview('/outgoing/joelonsoftware-elegance');">Elegance</a></p></blockquote>
<p><strong>9. Move your apps (e.g. Office) to web for free.</strong> No sane human being is going pay $300 or whatever it is you charge as apps become more web-based. You&#8217;ve made your money here. Move on. Besides you can charge users for storage and bandwidth on a per-month basis. Same thing for businesses with collaboration packages on a per-employee, per-month basis. You&#8217;ll make more in the end. How many companies can I think of still running Office 2003 (or even 2000)? Oh yeah, all of them.</p>
<p><strong>10. Decide on a regular and quick release schedule.</strong> Hey, it works pretty well for Ubuntu, although you don&#8217;t have to be as aggressive as six months. I&#8217;d shoot for 12-18 months. 60+ months just isn&#8217;t going to cut it. Don&#8217;t ever pull that shit again. <em>Ever.</em></p>
<p><strong>11. Do sassy advertising; I know you guys have a sense of humor.</strong> Be edgy, stick it to the guys who have been tearing you apart. People should be laughing so hard they aren&#8217;t physically able to send the YouTube URL for your commercial to their friends. I can imagine a nice, sassy marketing campaign sticking it to Apple about their &#8220;Think Different&#8221; slogan.</p>
<p><strong>12. Hire some young charismatic executives and put them front and center.</strong> You&#8217;re not going to find Steve Jobs, but you can do better than Bill Gates or yourself (although that <a href="http://youtube.com/watch?v=KMU0tzLwhbE">remix</a> of your little &#8220;developers, developers, developers&#8221; speech is entertaining, in a sad way). Here&#8217;s how you should measure success: if there aren&#8217;t any rumor sites about your new OS, you haven&#8217;t succeeded.</p>
<p><strong>Bonus Points</strong></p>
<p><strong>Embrace standards and go totally open source.</strong> Don&#8217;t waste time on something just because you didn&#8217;t build it. Use what&#8217;s out there. And if you contribute back to the community you&#8217;ll be buying goodwill for your brand.</p>
<div class="media"><a href="http://flickr.com/photos/ttrueman/324204266/"><img src="http://farm1.static.flickr.com/141/324204266_89c8b606fd.jpg" width="475" alt="Shelby GR1"/></a></div>
<p><strong>What about the bottom line?</strong></p>
<p>OK, I know what Steve is thinking at this point. How the fuck am I going to make any money off this? Right, I&#8217;ve got an idea. Give this futuristic OS away for free. Totally free. It&#8217;ll be brilliant. Wait that didn&#8217;t involve money going into Microsoft&#8217;s coffers. Oh yes, charge for bandwidth and storage your customers actually use. Amazon Web Services style. Backups, system installs, restores, and saving those Office documents. Charge for the storage usage and bandwidth used every month. You can probably charge more than you tried to for Vista. People will love it and not even notice you&#8217;re making more money than before&#8211;nobody likes to pay $200+ at once. For example, XP cost $200. It lasted for six years (2002-2008). This equates to $33 per year for Microsoft. If you just charge for bandwidth and storage at a rate of $5-20 a month, you&#8217;re making anywhere from $60 to $240 a year. That&#8217;s more money for you, as well as happier customers with better experiences.</p>
<p>What do I want to do today? Use an OS like what I just described. If anyone can deliver it, it&#8217;s Microsoft. Apple&#8217;s the only other player and they just don&#8217;t really get the Internet. Then again, nobody really does.</p>
<p>Maybe I&#8217;m just crazy&hellip;thinking that it&#8217;s possible Windows 7 could actually be the second coming.</p>
<p>So, when is the future going to arrive Steve?</p>
<p><span style="color: #666">Thanks to <a href="http://annielausier.com/">Annie</a> and Adam for reading drafts of this!</span></p>
<img src="http://feeds.feedburner.com/~r/timtrueman/~4/qU32_p4i_lo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://timtrueman.com/2008/04/06/cupertino-start-your-copiers/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://timtrueman.com/2008/04/06/cupertino-start-your-copiers/</feedburner:origLink></item>
		<item>
		<title>Waking from a 64-bit nightmare</title>
		<link>http://feedproxy.google.com/~r/timtrueman/~3/474NWkA2Smg/</link>
		<comments>http://timtrueman.com/2008/03/30/waking-from-a-64-bit-nightmare/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 07:36:19 +0000</pubDate>
		<dc:creator>Tim Trueman</dc:creator>
				<category><![CDATA[Articles]]></category>

		<guid isPermaLink="false">http://timtrueman.com/?p=37</guid>
		<description><![CDATA[This all started when I noticed 4GB of Corsair XMS2 only cost $114. You see I can remember surprisingly vividly how cheap RAM was when it was 8MB for $375.
I figured, what the hell it&#8217;s 2008 and I&#8217;m still using an OS from 2001. 2001! How bad can could Vista be I asked myself, I [...]]]></description>
			<content:encoded><![CDATA[<p>This all started when I noticed 4GB of Corsair XMS2 only cost $114. You see I can remember surprisingly vividly how cheap RAM was when it was 8MB for $375.</p>
<p>I figured, what the hell it&#8217;s <b>2008</b> and I&#8217;m still using an OS from 2001. 2001! How bad can could Vista be I asked myself, I mean it&#8217;s been out for a year. Surely it&#8217;s matured enough.</p>
<p>Oh, how I can be so <em>very</em> wrong.</p>
<p>Personally I try to stay out of the Operating System Holy Wars, because I believe good computer scientists don&#8217;t really care about anything other than what it can do, and certainly not if it&#8217;s from Redmond or Cupertino. And let&#8217;s be honest, technically they&#8217;re all about the same. Good computer scientists may have a favorite but that doesn&#8217;t cloud their judgment or ability to pick the right one for the right task or cause them to make asshats out of themselves because they feel very strongly about their favorite (on Slashdot, or more recently Digg).</p>
<p>Anyways, so there I was. I had my Windows XP 32-bit OS running just fine. I bought more RAM. I backed up and installed Vista 64-bit. After I reached the desktop, which was running at 800&#215;600, I launched IE to download the Nvidia drivers. It crashed. Not just the app, but the entire friggin&#8217; system. Must have been a freak problem I figured. Not so. After about 50 hard reboots (holding down the power button for five seconds, and no I&#8217;m not exaggerating, it was at <em>least</em> 50), I managed to get all the drivers and software in place the stability of the system was&hellip;better. I was still getting random crashes all the time.</p>
<p>And seriously Microsoft, I heard Aero would be pretty neat. I&#8217;ve never been so underwhelmed. That&#8217;s the best you got in five years? And what the fuck did you do with my control panels. Things that used to take 1 or 2 clicks to navigate to are now buried behind 5 or 6 clicks.</p>
<p>Frustrated I thought about trying XP 64-bit instead. Then I thought, &#8220;NO, fuck that shit Microsoft. You&#8217;ve blown your chance and I&#8217;m not paying again for an OS I already own. We&#8217;re done, do you hear me?&#8221;</p>
<p>I need my desktop PC for three things: virtual machines (to run development servers), storage, and games. That last one it turns out pretty much mandates I use Windows, but for better or worse I decided to risk not being able to play Counter-Strike: Source or Call of Duty 4. I read about the rapidly maturing Ubuntu Linux beta Hardy Heron on <a href="http://arstechnica.com/news.ars/post/20080202-first-look-ubuntu-8-04-hardy-heron-alpha-4.html">Arstechnica</a> and researched getting games to work on Wine, a Windows compatibility layer.</p>
<div class="media"><a href='http://flickr.com/photos/ttrueman/2375874501/'><img src="http://farm4.static.flickr.com/3261/2375874501_bdb31c5c63.jpg" alt="Best Install Experience Ever" title="Installing" width="475" /></a></div>
<p>So I downloaded Hardy Heron (in just a few minutes, thank you <a href="http://flickr.com/photos/ttrueman/1473546589/">Yahoo bandwidth</a>). It fits on a CD unlike many other Operating Systems out there. What&#8217;s really different though is the way you install it. You pop the CD in the drive boot from it and instead just installing right away it boots into the full OS as a live CD. On the desktop is an icon to permanently install it, but you already know if it&#8217;s going to work&hellip;because you&#8217;re actually using it. So I started to install.</p>
<p>While I was installing, unlike any other OS, I could actually do whatever I wanted. No crappy interface at 800&#215;600 that told me how awesome Microsoft shit was going to be. No, I was in the actual OS I would be using running at the full resolution of 1920&#215;1200, which it picked automatically, and browsing around in Firefox 3 (as you can see above). And it was snappy, no slowdowns as it installed. I actually wrote part of this during the install.</p>
<p>Remember how underwhelmed I was by Vista and Aero? Even Mac OS X (which I really like) isn&#8217;t graphically anything special anymore. Ubuntu uses something called Compiz which has a real wow factor to it. You will instantly get attention when someone else sees you move a window (I can&#8217;t promise girls though, you&#8217;re on your own for that one).</p>
<div class="media"><a href='http://flickr.com/photos/ttrueman/2376703856/'><img src="http://farm4.static.flickr.com/3053/2376703856_62e8e46a84.jpg" alt="Up and running" title="Ubuntu Hardy Heron" width="475" /></a></div>
<p>The one really awesome thing about Ubuntu is how automatic it is. Any time you try to do something that it doesn&#8217;t know how to do, it loads some software to do it for you. Download a torrent file? It automatically downloads and installs an application that can do bitttorrent. Trying to watch a movie that&#8217;s encoded with something you don&#8217;t have? It loads a codec. Plug in a new device, it grabs the drivers for you. It doesn&#8217;t ask you, it just works. Even if it has to download something from the Internet to do it. It&#8217;s a very nice philosophy for a consumer-oriented OS.</p>
<p>Which brings me to another point. Yes there was a time I had to touch the command-line. To get DVDs working I had to enable DMA (direct memory access) on my DVD drive, using this command:</p>
<pre>sudo hdparm -d1 /dev/cdrom</pre>
<p>Other than that Ubuntu is really getting close to being 100% ready to be used by your mother. I hope it eats away Microsoft&#8217;s marketshare as the OS becomes less important and software becomes much more web-based. The best part is Ubuntu is developed on a six month schedule so I don&#8217;t have to wait 5+ years to get something better (or a steaming pile of crap in the case of Vista).</p>
<div class="media"><a href='http://flickr.com/photos/ttrueman/2375868831/'><img src="http://farm4.static.flickr.com/3176/2375868831_cc2c0705fc.jpg" alt="Counter-Strike: Source on Linux" title="CSS" width="475" /></a></div>
<p>So I got Hardy Heron up and running. Did I mention it&#8217;s just a beta? It&#8217;s rock solid for a beta. And I&#8217;m not regretting it. Hell, I even got Counter-Strike: Source working. Transmitting voice doesn&#8217;t work out of the box but I haven&#8217;t tried to get it working. I&#8217;m sure a simple Google search will solve that. It&#8217;s very playable at 1920&#215;1200 and honestly it&#8217;s more stable than Vista.</p>
<p>Microsoft, even if Windows 7 is the second coming, it&#8217;s already too late.</p>
<p><span style="color:gray;">P.S. My one question is, Apple how did you do that 64-bit migration so painlessly I didn&#8217;t even notice? I didn&#8217;t even realize it until Microsoft fucked it up so badly. Kudos Apple for a job well done.</span></p>
<img src="http://feeds.feedburner.com/~r/timtrueman/~4/474NWkA2Smg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://timtrueman.com/2008/03/30/waking-from-a-64-bit-nightmare/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://timtrueman.com/2008/03/30/waking-from-a-64-bit-nightmare/</feedburner:origLink></item>
		<item>
		<title>Explaining my addiction</title>
		<link>http://feedproxy.google.com/~r/timtrueman/~3/0bZxQ6nP5_s/</link>
		<comments>http://timtrueman.com/2008/03/23/explaining-my-addiction/#comments</comments>
		<pubDate>Mon, 24 Mar 2008 07:31:33 +0000</pubDate>
		<dc:creator>Tim Trueman</dc:creator>
				<category><![CDATA[Articles]]></category>

		<guid isPermaLink="false">http://timtrueman.com/2008/03/23/explaining-my-addiction/</guid>
		<description><![CDATA[I have an addiction; it is simply impossible for me to kick the habit, not that I&#8217;m trying. Cocaine? Nah, it&#8217;s worse than that. Let me explain&#8230;
BMW recently updated their M3. It&#8217;s an amazing car, that&#8217;s now powered by a monstrously powerful 4 liter V8 engine that revs up to 8,300 RPM and can get [...]]]></description>
			<content:encoded><![CDATA[<p>I have an addiction; it is simply impossible for me to kick the habit, not that I&#8217;m trying. Cocaine? Nah, it&#8217;s worse than that. Let me explain&hellip;</p>
<p>BMW recently updated their M3. It&#8217;s an amazing car, that&#8217;s now powered by a monstrously powerful 4 liter V8 engine that revs up to 8,300 RPM and can get to 60 MPH in 4.2 seconds. That&#8217;s fast&hellip;</p>
<p>&hellip;for a road car. Imagine a car that has a much smaller 2.4 liter V8 that revs up to the race-regulated 19,000 RPM, summons up gear changes in just milliseconds, and can accelerate to 60 MPH in just 2.4 seconds. And acceleration isn&#8217;t even the amazing part of a Formula 1 car: its brakes can tear your head off. In just seven seconds an F1 car will start from a dead stop, blow past 125 MPH, <em>and</em> come to rest again with a screeching 5-6 g&#8217;s of deceleration.</p>
<p>It&#8217;s not that the BMW M3 is a bad car; It&#8217;s utterly outclassed on an inconceivable scale. The M3 has a power-to-weight ratio of 230 horsepower-per-ton. The F1 car has more than 1,100. It&#8217;s crazy. Just watch:</p>
<div class="media"><object type="application/x-shockwave-flash" width="425" height="350" data="http://www.youtube.com/v/4p2ACbYKmfE"><param name="movie" value="http://www.youtube.com/v/4p2ACbYKmfE" /></object></div>
<p>&quot;&hellip;190 mph at the bottom of the hill, 5 g in compression, 4 g in lateral forces, you pop out over the top in Les Combes and you&#8217;re still accelerating, climbing gently uphill too, 210 mph&hellip;&quot;</p>
<p>&quot;&hellip;bring it down to 90&quot;</p>
<p>&quot;&hellip;another 100 mph corner&quot;</p>
<p>Is it just me or is this infuckingsane? 5g compression? At 5 times the force of gravity I&#8217;d weigh 875 pounds. Holy shit, how do the drivers cope with that lap after gut-wrenching lap?</p>
<p>How did I get sucked into this? Let me explain&#8230;I was never into cars until a certain chain of events. It started with my friends telling me to just visit my school&#8217;s solar car team meeting. When I showed up they immediately put me in charge of building the telemetry system for the upcoming car. Solar cars are pretty crazy and share lots of engineering such as <a href="http://videos.howstuffworks.com/howstuffworks/178-how-solar-cars-work-video.htm">carbon fiber chassis</a> with F1 cars.</p>
<p>After a few months of solar car I found <a href="http://www.youtube.com/watch?v=24iZDl-U8es">my first Top Gear video</a> on YouTube. Quickly I caught up with the last few seasons of Top Gear. One of the episodes had a segment where they brought a F1 car out to show just how different they are from even the fastest supercar, the fastest of which was the Ferrari Enzo with a lap record of 1:19. They talked about all the crazy stats behind the car and then put the car in the hands of <a href="http://en.wikipedia.org/wiki/The_Stig">The Stig</a>. The F1 car <a href="http://www.youtube.com/watch?v=N6hkkRJ4Fjw">destroyed</a> that time with a 0:59 in the wet. This is when I started watching F1&mdash;the start of the 2007 season.</p>
<p>Being a nerd, I have an unchangeable need to consume information. I want to grasp all aspects of a problem until I understand it. Then I can move on to the next problem. The only catch with F1 is that the whole system is changing year-to-year and race-to-race. New drivers, new regulations, improved technologies, and unpredictable weather. I&#8217;m never going to be satiated and that&#8217;s OK with me.</p>
<p>I think there&#8217;s a second reason I&#8217;m addicted to F1. When I was on solar car I would constantly think, sketch, imagine, and discuss ways to improve the aerodynamics, decrease the weight, create better systems for race strategy. It&#8217;s the same thing with F1. I imagine ways to use machine learning to determine race strategy, predict failures, or design a better car. F1&#8217;s official website has <a href="http://www.formula1.com/news/technical/2007/780/455.html">great technical analysis</a>, detailing each of the changes made by the teams with pretty diagrams, and explaining how it will affect the performance of the car, and giving me even more gritty details to waste my precious neurons pondering.</p>
<div class="media"><a href="http://www.flickr.com/photos/tinou/229071414/"><img src="http://timtrueman.com/wp-content/uploads/f1-header.jpg" alt="F1" /></a><br />
Image by <a href="http://www.flickr.com/photos/tinou/">Tinou Bao</a></div>
<p>Pitstops in F1 are serious business. Guess how many people are involved on average. If you guessed less than 25 you&#8217;re wrong. Let&#8217;s break it down:</p>
<ul>
<li>3 guys per wheel: 1 to operate the airgun, 1 to take away the old tire, and 1 carrying the new tire</li>
<li>Lollipop man who signals the driver which pit lane to enter, shows the driver where to stop, tells him when to put the car in gear, then, pending traffic, tells the driver to go by lifting the lollipop</li>
<li>2 guys to clear debris caught in the radiators</li>
<li>2 guys, one front and one back to lift the car up so the tires can be changed</li>
<li>3 guys to operate the fuel rig, which dumps more than 12 liters (3+ gallons) of fuel <em>per second</em></li>
<li>2 guys to adjust front aerodynamics (sometimes another 2 on the back)</li>
<li>2 guys with fire extinguishers just in case</li>
<li>1 driver</li>
</ul>
<p>Generally pitstops take 6-8 seconds, but if there&#8217;s damage to anything you can add a <a href="http://youtube.com/watch?v=b4IeKN-dQgY">few people</a> and <a href="http://youtube.com/watch?v=l_ziLL0Px7c">seconds</a>. It&#8217;s &#8220;totally fucking busy&#8221; as <a href="http://flickr.com/photos/rands/2198653768/in/pool-pixelrigs">Rands</a> would say.</p>
<div class="media"><object type="application/x-shockwave-flash" width="425" height="350" data="http://www.youtube.com/v/UUvagsM176o"><param name="movie" value="http://www.youtube.com/v/UUvagsM176o" /></object></div>
<p>The engine in an F1 car gets unbelievably hot, reaching 1,800 to 2,000 degrees Fahrenheit. Cooling is provided by 23 cubic feet of air per <em>second</em> during the race—as much air as a human breathes while running a <em>mile</em>. You can imagine why F1 cars can&#8217;t drive right behind another car for more than a few laps because the cooler air they would normally be breathing in is replaced with the hot exhaust from the leading car.</p>
<p>Sure they barely get over 3 MPG, but I&#8217;m guessing they&#8217;re more efficient at converting fuel into energy than almost anything. When was the last time you took a corner at 140 MPH? Oh, that&#8217;s right, that&#8217;s faster than your car&#8217;s top speed. Trust me if a team could figure how a way to increase their MPG they would do it. Less fuel means less weight which means a few tenths of a second advantage. F1 cars are essentially maximization functions manifested in physical form.</p>
<p>After all the crazy stats, there&#8217;s even more to love about this sport. And yes, it&#8217;s a sport. Just try wearing four layers of fire-retardant clothing in temperatures that exceed 120 degree Fahrenheit, while you&#8217;re subjected to dozens of high g-force accelerations, decelerations, and turns, <em>every lap</em>. These forces punish the driver&#8217;s body, especially their neck, which must support 3-5 g&#8217;s on their head in every direction. Over the course of a single race, the extreme heat and exercise causes drivers to lose about 6.6 pounds.</p>
<p>Lewis Hamilton was in his rookie season as I started watching and I quickly become a fan. The 23-year old&#8217;s enthusiasm and love for F1 really shows in his driving. He nearly took the world championship in his first season, which has never been done, but sadly a couple late-season rookie mistakes (of course) prevented him from sealing victory.</p>
<p>I have yet to leave the U.S. and I plan on it as soon as I can. Let me tell you, it&#8217;s going to be to see an F1 race. Not sure which one (suggestions?), but I cannot wait to feel the thunderous roar of 22 cars shaking the ground.</p>
<p>Pretty decent self-justification for an obsession, don&#8217;t you think?</p>
<img src="http://feeds.feedburner.com/~r/timtrueman/~4/0bZxQ6nP5_s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://timtrueman.com/2008/03/23/explaining-my-addiction/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://timtrueman.com/2008/03/23/explaining-my-addiction/</feedburner:origLink></item>
	</channel>
</rss>
