<?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/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule">

<channel>
	<title>Dan Siemon</title>
	<atom:link href="http://www.coverfire.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.coverfire.com</link>
	<description>Thoughts and musings</description>
	<lastBuildDate>Wed, 21 Jul 2010 00:39:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
<creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.5/ca/</creativeCommons:license>		<item>
		<title>Next is Now</title>
		<link>http://www.coverfire.com/archives/2010/07/20/next-is-now/</link>
		<comments>http://www.coverfire.com/archives/2010/07/20/next-is-now/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 00:39:13 +0000</pubDate>
		<dc:creator>Dan Siemon</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://www.coverfire.com/?p=805</guid>
		<description><![CDATA[Just stumbled on this video created by Rogers. One of a few good quotes: &#8220;10 years ago it took 72 hours to download Godfather&#8230; &#8211; Today it takes 10 minutes &#8211; It still takes 3 hours to watch&#8221;]]></description>
			<content:encoded><![CDATA[<p>Just stumbled on this video created by Rogers.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/sM-kGGURWCE&amp;hl=en_US&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/sM-kGGURWCE&amp;hl=en_US&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>One of a few good quotes:</p>
<p>&#8220;10 years ago it took 72 hours to download Godfather&#8230; &#8211; Today it takes 10 minutes &#8211; It still takes 3 hours to watch&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coverfire.com/archives/2010/07/20/next-is-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ChangeCamp London</title>
		<link>http://www.coverfire.com/archives/2010/06/20/changecamp-london/</link>
		<comments>http://www.coverfire.com/archives/2010/06/20/changecamp-london/#comments</comments>
		<pubDate>Sun, 20 Jun 2010 18:51:48 +0000</pubDate>
		<dc:creator>Dan Siemon</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[ChangeCamp]]></category>
		<category><![CDATA[London]]></category>

		<guid isPermaLink="false">http://www.coverfire.com/?p=795</guid>
		<description><![CDATA[Thanks to the organizers and participants involved with ChangeCamp London yesterday. It was amazing to see such a strong turnout of people interested in making London better. I hope everyone got as much out of it as I did. For &#8230; <a href="http://www.coverfire.com/archives/2010/06/20/changecamp-london/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Thanks to the organizers and participants involved with <a title="ChangeCamp London" href="http://london.changecamp.ca/">ChangeCamp London</a> yesterday. It was amazing to see such a strong turnout of people interested in making London better. I hope everyone got as much out of it as I did.</p>
<p>For anyone who couldn&#8217;t attend, you can get a feel for the event by looking at the <a title="#ccldn" href="http://search.twitter.com/search?q=ccldn">#ccldn tweets</a> and following up with the actions which will be posted on the  website.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coverfire.com/archives/2010/06/20/changecamp-london/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 3.0</title>
		<link>http://www.coverfire.com/archives/2010/06/17/wordpress-3-0/</link>
		<comments>http://www.coverfire.com/archives/2010/06/17/wordpress-3-0/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 00:02:06 +0000</pubDate>
		<dc:creator>Dan Siemon</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.coverfire.com/?p=790</guid>
		<description><![CDATA[Upgraded to WordPress 3.0. There&#8217;s been so many changes to the themes in recent versions that I think I&#8217;ll be running the new default theme at least until I get some time to update my own. The new theme looks &#8230; <a href="http://www.coverfire.com/archives/2010/06/17/wordpress-3-0/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Upgraded to <a title="WordPress 3.0" href="http://wordpress.org/development/2010/06/thelonious/">WordPress 3.0</a>. There&#8217;s been so many changes to the themes in recent versions that I think I&#8217;ll be running the new default theme at least until I get some time to update my own.</p>
<p>The new theme looks really nice but it still doesn&#8217;t add horizontal scrolling to pre-formatted text blocks. This kinda breaks <a title="Example post" href="http://www.coverfire.com/archives/2010/06/13/djangomod_wsgi-on-fedora-12/">posts with long configuration examples</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coverfire.com/archives/2010/06/17/wordpress-3-0/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Bank websites</title>
		<link>http://www.coverfire.com/archives/2010/06/13/bank-websites/</link>
		<comments>http://www.coverfire.com/archives/2010/06/13/bank-websites/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 22:47:17 +0000</pubDate>
		<dc:creator>Dan Siemon</dc:creator>
				<category><![CDATA[Musings]]></category>

		<guid isPermaLink="false">http://www.coverfire.com/?p=774</guid>
		<description><![CDATA[It boggles my mind that the banks haven&#8217;t figured out how to make their websites more useful than they are. Why are these sites limited to online versions of bank tellers? Here&#8217;s what I want my bank&#8217;s site to provide: &#8230; <a href="http://www.coverfire.com/archives/2010/06/13/bank-websites/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It boggles my mind that the banks haven&#8217;t figured out how to make their websites more useful than they are. Why are these sites limited to online versions of bank tellers?</p>
<p>Here&#8217;s what I want my bank&#8217;s site to provide:</p>
<ul>
<li>Allow me to categorize or tag every transaction. I want to mark that Subway is &#8220;Eating out&#8221;.</li>
<li>Learn from previous transactions and automatically suggest classifications for me. If I marked &#8220;89328374 Ontario Inc.&#8221; as car repairs two months ago there is a good chance it goes into the same category this month.</li>
<li>Summarize the totals for each category and show trends. Am I spending more on eating out every month?</li>
<li>Allow me to set targets or thresholds for each category and send me notifications if I cross them. If my budget is $300/month for eating out I want to know when I&#8217;m beyond that.</li>
</ul>
<p>The banks already have access to all of my account activity and I don&#8217;t want to provide a third party, especially one outside of Canada, with my online banking credentials to get this functionality.</p>
<p>Why would a bank build this?</p>
<ol>
<li>It provides an incentive to move all of your accounts to one bank.</li>
<li>I&#8217;d switch banks to get these features so I&#8217;m sure others would too.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.coverfire.com/archives/2010/06/13/bank-websites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Books</title>
		<link>http://www.coverfire.com/archives/2010/06/13/books/</link>
		<comments>http://www.coverfire.com/archives/2010/06/13/books/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 19:32:31 +0000</pubDate>
		<dc:creator>Dan Siemon</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://www.coverfire.com/?p=765</guid>
		<description><![CDATA[I recently finished reading a couple books that are worth mentioning. The first is Cory Doctorow&#8217;s Little Brother. Don&#8217;t let the teen categorization discourage you, this is a book any technology geek will love. The best one line summary I &#8230; <a href="http://www.coverfire.com/archives/2010/06/13/books/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I recently finished reading a couple books that are worth mentioning.</p>
<p>The first is Cory Doctorow&#8217;s <a title="Little Brother" href="http://www.chapters.indigo.ca/books/Little-Brother-Cory-Doctorow-Kirby-Heyborne/9780307711540-item.html?ref=Search+Books%3a+%2527little+brother%2527">Little Brother</a>. Don&#8217;t let the teen categorization discourage you, this is a book any technology geek will love. The best one line summary I can think of is that this book is a modern version of <a title="Nineteen eighty-four" href="http://en.wikipedia.org/wiki/Nineteen_Eighty-Four">Nineteen eighty-four</a> with the addition of a little teen rebellion. The story and characters are very well written and interwoven are decent introductions to important security techniques such as public key encryption and onion routing. Targetting this book at teen readers was a brilliant idea. I can&#8217;t think of a better way to help them understand what a security state would feel like.</p>
<p>The second book is <a title="Who controls the Internet" href="http://www.chapters.indigo.ca/books/Who-Controls-Internet-Illusions-Borderless-Jack-Goldsmith-Tim-Wu/9780195152661-item.html?ref=Search+Books%3a+%2527who+controls+the+internet%2527">Who Controls the Internet?: Illusions of a Borderless World</a> by Jack Goldsmith and Tim Wu. No, this isn&#8217;t some kind of conspiracy theory book. The answer put forward by the authors is basically that territorial governments control the Internet despite the Utopian non-governmental ideal that many technologists associate with the Internet. The source of this control comes from the fact that governments are alone (mostly) in their ability to use physical coersion. While this in of itself isn&#8217;t that earth shattering I found the suggestion that online businesses such as eBay are reliant on the excercise of this coersive power very interesting. Even if the Internet isn&#8217;t that interesting to you this book is worth reading for the discussion of the role of government in commerce.</p>
<p>I&#8217;ve also recently read <a title="Switch" href="http://www.chapters.indigo.ca/books/Switch-How-Change-Things-When-Chip-Heath-Dan-Heath/9780307357274-item.html?ref=Search+Books%3a+%2527switch%2527">Switch</a> and <a title="Linchpin" href="http://www.chapters.indigo.ca/books/Linchpin-Seth-Godin/9781591843160-item.html?ref=Search+Books%3a+%2527seth+godin%2527">Linchpin</a> which both deserve short reviews but that will have to be some other time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coverfire.com/archives/2010/06/13/books/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django/mod_wsgi on Fedora 12</title>
		<link>http://www.coverfire.com/archives/2010/06/13/djangomod_wsgi-on-fedora-12/</link>
		<comments>http://www.coverfire.com/archives/2010/06/13/djangomod_wsgi-on-fedora-12/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 17:59:07 +0000</pubDate>
		<dc:creator>Dan Siemon</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[mod_wsgi]]></category>
		<category><![CDATA[SELinux]]></category>

		<guid isPermaLink="false">http://www.coverfire.com/?p=752</guid>
		<description><![CDATA[I recently deployed a Django application with mod_wsgi on my server which runs Fedora 12. Since this required a bit more configuration than a standard Apache virtual host I thought it might be useful to document the configuration for others. &#8230; <a href="http://www.coverfire.com/archives/2010/06/13/djangomod_wsgi-on-fedora-12/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I recently deployed a <a title="Django" href="http://www.djangoproject.com/">Django</a> application with <a title="mod_wsgi" href="http://code.google.com/p/modwsgi/">mod_wsgi</a> on my server which runs Fedora 12. Since this required a bit more configuration than a standard Apache virtual host I thought it might be useful to document the configuration for others.</p>
<h1>SELinux</h1>
<p>While <a title="SELinux" href="http://en.wikipedia.org/wiki/Security-Enhanced_Linux">SELinux</a> can be a little annoying if you don&#8217;t understand how it works it is a very powerful security layer that should not be disabled. In order to get the Django/mod_wsgi application working I had to modify a couple of SELinux booleans which give Apache extra permissions.</p>
<pre>setsebool httpd_tmp_exec on
setsebool httpd_can_network_connect on
</pre>
<h1>mod_wsgi configuration</h1>
<p>The default configuration tries to create the mod_wsgi sockets in a directory that SELinux does not allow Apache access to. You can change this by adding the following line to /etc/httpd/conf.d/wsgi.conf.</p>
<pre>WSGISocketPrefix run/mod_wsgi
</pre>
<h1>Apache virtual host configuration</h1>
<p>Below is the Apache virtual host configuration. Note that I have chosen to use mod_wsgi&#8217;s daemon mode and processes instead of threads because some of the libraries I&#8217;m using are not thread safe.</p>
<pre>&lt;VirtualHost *:80&gt;
 ServerAdmin dan@example.com
 DocumentRoot /home/vhosts/example.com/
 ServerName www.example.com

 Alias /robots.txt /home/vhosts/example.com/example/web/static/robots.txt
 Alias /favicon.ico /home/vhosts/example.com/example/web/static/favicon.ico

 # Static files.
 Alias /static /home/vhosts/example.com/example/web/static

 # Admin static files.
 Alias /media /home/vhosts/example.com/dependencies/Django-1.2.1/django/contrib/admin/media

 WSGIScriptAlias / /home/vhosts/example.com/example/web/example/django.wsgi
 WSGIDaemonProcess example.com processes=15 threads=1 display-name=%{GROUP}
 WSGIProcessGroup example.com

 ErrorLog logs/example.com-error_log
 LogFormat "%a %l \"%u\" %t %m \"%U\" \"%q\" %p %&gt;s %b %D \"%{Referer}i\" \"%{User-Agent}i\"" custom_log
 CustomLog logs/example.com-access_log combinedio
&lt;/VirtualHost&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.coverfire.com/archives/2010/06/13/djangomod_wsgi-on-fedora-12/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New OpenPGP key</title>
		<link>http://www.coverfire.com/archives/2010/06/13/new-openpgp-key/</link>
		<comments>http://www.coverfire.com/archives/2010/06/13/new-openpgp-key/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 17:41:30 +0000</pubDate>
		<dc:creator>Dan Siemon</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.coverfire.com/?p=745</guid>
		<description><![CDATA[For the two people that care I&#8217;m migrating to a new OpenPGP key. I created the old key way back in 2001 so it is time to move to a longer RSA key instead of DSA. The new key also &#8230; <a href="http://www.coverfire.com/archives/2010/06/13/new-openpgp-key/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For the two people that care I&#8217;m migrating to a new OpenPGP key. I created the old key way back in 2001 so it is time to move to a longer RSA key instead of DSA. The new key also uses the stronger SHA-256 hash.</p>
<p>You can find the signed (with both the old and new key) transition note at:</p>
<p><a title="http://www.coverfire.com/files/key-transition.txt" href="http://www.coverfire.com/files/key-transition.txt">http://www.coverfire.com/files/key-transition.txt</a></p>
<p>Here are a few useful links for anyone else making this transition.</p>
<p><a title="http://www.debian-administration.org/users/dkg/weblog/48" href="http://www.debian-administration.org/users/dkg/weblog/48">http://www.debian-administration.org/users/dkg/weblog/48</a></p>
<p><a title="http://keyring.debian.org/creating-key.html" href="http://keyring.debian.org/creating-key.html">http://keyring.debian.org/creating-key.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.coverfire.com/archives/2010/06/13/new-openpgp-key/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python tutorial and advice</title>
		<link>http://www.coverfire.com/archives/2010/04/27/python-tutorial-and-advice/</link>
		<comments>http://www.coverfire.com/archives/2010/04/27/python-tutorial-and-advice/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 02:42:05 +0000</pubDate>
		<dc:creator>Dan Siemon</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.coverfire.com/?p=732</guid>
		<description><![CDATA[A friend at work recently pointed me to a Python tutorial called Learn Python the Hard Way. It&#8217;s very basic but the later part has a little opinion chapter titled Advice from an old programmer which is worth taking the &#8230; <a href="http://www.coverfire.com/archives/2010/04/27/python-tutorial-and-advice/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A friend at work recently pointed me to a Python tutorial called <a title="Learn Python the Hard Way" href="http://learnpythonthehardway.com/index">Learn Python the Hard Way</a>. It&#8217;s very basic but the later part has a little opinion chapter titled <span style="text-decoration: underline;">Advice from an old programmer</span> which is worth taking the time to read. Below is one quote from this chapter.</p>
<p style="padding-left: 30px;">Programming as an intellectual activity is the only art form that allows you to create interactive art. You can create projects that other people can play with and you can talk to them indirectly. No other art form is quite this interactive. Movies go out to the audience. Paintings don’t move. Code goes both ways.</p>
<p style="padding-left: 30px;">Programming as a profession is only moderately interesting. It can be a good job, but if you want to make about the same money and be happier you could actually just go run a fast food joint. You are much better off using code as your secret weapon in another profession.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coverfire.com/archives/2010/04/27/python-tutorial-and-advice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Canada 3.0 Twitter graph</title>
		<link>http://www.coverfire.com/archives/2010/04/12/canada-3-0-twitter-graph/</link>
		<comments>http://www.coverfire.com/archives/2010/04/12/canada-3-0-twitter-graph/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 02:16:05 +0000</pubDate>
		<dc:creator>Dan Siemon</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Canada 3.0]]></category>
		<category><![CDATA[Graph]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.coverfire.com/?p=720</guid>
		<description><![CDATA[The other day I found Gephi which was used to create these amazing graphs based on GitHub data. So I thought it might be fun to pull some data into Gephi and play with it. I decided on using the &#8230; <a href="http://www.coverfire.com/archives/2010/04/12/canada-3-0-twitter-graph/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The other day I found <a title="Gephi" href="http://gephi.org/">Gephi</a> which was used to create <a title="Mapping GitHub" href="http://flowingdata.com/2010/03/31/mapping-the-github-community/">these amazing graphs</a> based on GitHub data. So I thought it might be fun to pull some data into Gephi and play with it. I decided on using the Twitter API to obtain all of the Tweets related to the upcoming <a title="Canada 3.0" href="http://www.canada30.ca/">Canada 3.0</a> conference in <a title="Stratford" href="http://en.wikipedia.org/wiki/Stratford,_Ontario">Stratford, ON, CA</a>. I used the &#8216;can30&#8242; hash tag as the search term but since the Twitter search only returns Tweets less than seven days old the history is limited.</p>
<p>I used Python and <a title="igraph" href="http://igraph.sourceforge.net/">igraph</a> to create the graph and exported it to <a title="GraphML" href="http://graphml.graphdrawing.org/">GraphML</a> which Gephi can import. Here&#8217;s the <a title="Can30 Twitter GraphML" href="http://www.coverfire.com/files/can30-twitter.graphml">resulting GraphML</a> file if you are interested.</p>
<p>I also used igraph to export PNG and <a title="Can30 Twitter SVG" href="http://www.coverfire.com/files/can30-twitter.svg">SVG versions</a>.</p>
<p>The nodes in the graph are Twitter users. The size of the node is relative to the number of new Tweets with the #can30 hashtag. By &#8216;new&#8217; tweets I mean not re-Tweets. The edges represent re-Tweets and the width of the edges are relative to how many times the source user re-Tweeted the destination.</p>
<p>Based on the graph, <a title="Canada3Forum" href="http://twitter.com/canada3forum">Canada3Forum</a> is the largest source of new Tweets followed by <a title="tobidh" href="http://twitter.com/tobidh">tobidh</a> and there are lots of users re-Tweeting Canada3Forum&#8217;s messages.</p>
<div id="attachment_721" class="wp-caption alignnone" style="width: 610px"><a href="http://www.coverfire.com/wp-content/uploads/2010/04/can30-twitter.png"><img class="size-full wp-image-721" title="Canada 3.0 on Twitter" src="http://www.coverfire.com/wp-content/uploads/2010/04/can30-twitter.png" alt="" width="600" height="600" /></a><p class="wp-caption-text">Canada 3.0 on Twitter</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.coverfire.com/archives/2010/04/12/canada-3-0-twitter-graph/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Linux x86_64 and Javascript</title>
		<link>http://www.coverfire.com/archives/2010/03/29/linux-x86_64-and-javascript/</link>
		<comments>http://www.coverfire.com/archives/2010/03/29/linux-x86_64-and-javascript/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 02:45:39 +0000</pubDate>
		<dc:creator>Dan Siemon</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.coverfire.com/?p=686</guid>
		<description><![CDATA[The competition between browsers in the area of Javascript performance has led to some pretty dramatic performance increases in the last couple of years. A lot of this has been accomplished through Javascript just in time (JIT) compilers. What JITs &#8230; <a href="http://www.coverfire.com/archives/2010/03/29/linux-x86_64-and-javascript/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><span style="background-color: #ffffff;">The competition between browsers in the area of Javascript performance has led to some pretty dramatic performance increases in the last couple of years. A lot of this has been accomplished through Javascript just in time (JIT) compilers. What JITs do is convert the Javascript into native instructions which execute a lot faster than more abstract forms. The one downside to this approach is that each native architecture must be supported to get the speed boost.</span></p>
<p>If you follow Javascript performance you know that recent versions of Firefox have a JIT. What you may not know is that there is no JIT in Firefox for x86_64. This isn&#8217;t that big of a problem for Windows since there are so few 64-bit windows users but Linux distributions have been native 64-bit for quite some time. So if you&#8217;ve installed a 64-bit version of your faviourite Linux distribution you are getting far slower Javascript performance in Firefox than if you had installed the i686 version. How much slower?</p>
<p>The following benchmarks were executed on an i7-930 running Fedora 12, Firefox 3.5.8 and Epiphany 2.28.2. The benchmarks I used are the <a title="SunSpider" href="http://www2.webkit.org/perf/sunspider-0.9/sunspider.html">SunSpider</a> and <a title="V8 Javascript benchmark" href="http://v8.googlecode.com/svn/data/benchmarks/v5/run.html">V8</a> Javascript benchmarks.</p>
<table>
<tbody>
<tr>
<td>Browser/arch</td>
<td>V8 (higher is better)</td>
<td>SunSpider (lower is better)</td>
</tr>
<tr>
<td>Firefox i686 PAE</td>
<td>402</td>
<td>1002.6ms</td>
</tr>
<tr>
<td>Firefox x86_64</td>
<td>277</td>
<td>2131.2ms</td>
</tr>
<tr>
<td>Epiphany x86_64</td>
<td>887</td>
<td>1261.0ms</td>
</tr>
</tbody>
</table>
<p>These results show that the Javascript performance of i686 Firefox is a lot better than x86_64. The Epiphany web browser is based on Webkit which, based on these results, I&#8217;m guessing does have a x86_64 JIT.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coverfire.com/archives/2010/03/29/linux-x86_64-and-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
