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

<channel>
	<title>Evilsoft.org &#187; Web</title>
	<atom:link href="http://www.evilsoft.org/category/tech/web/feed" rel="self" type="application/rss+xml" />
	<link>http://www.evilsoft.org</link>
	<description>We&#039;re everywhere....</description>
	<lastBuildDate>Sun, 20 Sep 2015 23:42:44 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.3.1</generator>
	<item>
		<title>Why I view ruby as immature</title>
		<link>http://www.evilsoft.org/2010/06/30/why-i-view-ruby-as-immature</link>
		<comments>http://www.evilsoft.org/2010/06/30/why-i-view-ruby-as-immature#comments</comments>
		<pubDate>Wed, 30 Jun 2010 15:54:18 +0000</pubDate>
		<dc:creator><![CDATA[Administrator]]></dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[RoR]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.evilsoft.org/?p=253</guid>
		<description><![CDATA[In 2006 I was introduced to ruby, and for a time I found it to be a fun language to work with. After about 6 months, I started to notice problems and shortcomings in the ruby/rails stack and went on to bigger and better things. The problem is that to this day I have to [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>In 2006 I was introduced to ruby, and for a time I found it to be a fun language to work with.  After about 6 months, I started to notice problems and shortcomings in the ruby/rails stack and went on to bigger and better things.  The problem is that to this day I have to defend myself to legions of ruby/rails faithful who seem to think that it&#8217;s sacrilege to ever leave the faith. (That makes me what, an apostate?)  A friend recently asked on a <a href="http://mail.evilsoft.org/mailman/listinfo/tangent">mailing list I regularly traffic</a> why a person would consider ruby to be flawed.  The best way I can express this is in some code.<br />
<span id="more-253"></span></p>
<p>As a note, this isn&#8217;t about these specific flaws: It&#8217;s that these kinds of flaws are endemic in ruby and particularly rails.</p>
<p><strong>Set Processing</strong><br />
<code><br />
devon@chronos ~/Projects/sets $ cat sets1.rb<br />
#!/usr/bin/env ruby<br />
require 'set'<br />
require 'pp'<br />
large = Set.new(Range.new(1,10000000))<br />
small = Set.new(Range.new(1,10))<br />
pp small.intersection(large)</p>
<p>devon@chronos ~/Projects/sets $ time ./sets1.rb<br />
#&lt;Set: {5, 6, 1, 7, 2, 8, 3, 9, 4, 10}&gt;</p>
<p>real 0m35.421s<br />
user 0m23.900s<br />
sys 0m9.910s<br />
</code></p>
<p><code><br />
devon@chronos ~/Projects/sets $ cat sets2.rb<br />
#!/usr/bin/env ruby<br />
require 'set'<br />
require 'pp'<br />
large = Set.new(Range.new(1,10000000))<br />
small = Set.new(Range.new(1,10))<br />
pp large.intersection(small)</p>
<p>devon@chronos ~/Projects/sets $ time ./sets2.rb<br />
#&lt;Set: {5, 6, 1, 7, 2, 8, 3, 9, 4, 10}%gt;</p>
<p>real 0m16.917s<br />
user 0m12.720s<br />
sys 0m3.430s<br />
</code></p>
<p>So the order that I intersect the sets drastically impacts the speed of the algorithm (2x).  Let&#8217;s take a look at python to see whether a language in the same class behaves similarly.</p>
<p><code><br />
devon@chronos ~/Projects/sets $ cat sets1.py<br />
#!/usr/bin/env python</p>
<p>large = set(range(1,10000000))<br />
small = set(range(1,10))</p>
<p>print large.intersection(small)</p>
<p>devon@chronos ~/Projects/sets $ time ./sets1.py<br />
set([1, 2, 3, 4, 5, 6, 7, 8, 9])</p>
<p>real 0m2.583s<br />
user 0m1.850s<br />
sys 0m0.670s<br />
</code></p>
<p><code><br />
devon@chronos ~/Projects/sets $ cat sets2.py<br />
#!/usr/bin/env python</p>
<p>large = set(range(1,10000000))<br />
small = set(range(1,10))</p>
<p>print large.intersection(small)</p>
<p>devon@chronos ~/Projects/sets $ time ./sets2.py<br />
set([1, 2, 3, 4, 5, 6, 7, 8, 9])</p>
<p>real 0m2.598s<br />
user 0m1.760s<br />
sys 0m0.710s<br />
</code></p>
<p>So no, python handles the choice of which set to intersect with the other gracefully.  This is a good example of how the ruby set api is immature.  I&#8217;m ignoring that it&#8217;s taking between 13.7 and 6.5 times as long to execute, because I think that it&#8217;s reasonable for people to do code in something that is easier for them to work in and then optimize.  My problem here is that based on the direction you do the intersection, it can take 2x longer in ruby.  This is shoddy engineering and is the kind of thing that gets solved in a language as it matures.  The problem is that the language was immature when it exploded into widespread use, and no one seems to be doing anything to make it ready for prime time. </p>
<p>So what about 1.9?  1.9 is supposed to be where the energy is going to make the language faster and more mature.<br />
<code><br />
devon@chronos ~/Projects/sets $ cat sets1.rb<br />
#!/usr/bin/env ruby1.9<br />
require 'set'<br />
require 'pp'<br />
large = Set.new(Range.new(1,10000000))<br />
small = Set.new(Range.new(1,10))<br />
pp small.intersection(large)</p>
<p>devon@chronos ~/Projects/sets $ time ./sets1.rb<br />
#&lt;Set: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}&gt;</p>
<p>real    0m13.310s<br />
user    0m11.240s<br />
sys    0m0.680s<br />
</code></p>
<p><code><br />
devon@chronos ~/Projects/sets $ cat sets2.rb<br />
#!/usr/bin/env ruby1.9<br />
require 'set'<br />
require 'pp'<br />
large = Set.new(Range.new(1,10000000))<br />
small = Set.new(Range.new(1,10))<br />
pp large.intersection(small)</p>
<p>devon@chronos ~/Projects/sets $ time ./sets2.rb<br />
#&lt;Set: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}&gt;</p>
<p>real    0m9.181s<br />
user    0m8.280s<br />
sys    0m0.480s<br />
</code></p>
<p>While it&#8217;s faster (which wasn&#8217;t really my complaint anyway), it still is very different based on which direction you do your intersection from.  I see evidence of speed work being done on ruby, but not on maturing the language so that it meets tried and true engineering principals like the <a href="http://www.faqs.org/docs/artu/ch01s06.html">rule of least surprise.</a>  (Yes, code is a user interface for coders, so the rule of least surprise applies) <strong><em>(1)</em></strong> </p>
<p><strong>Nil as an object</strong><br />
How about this one that has actually done damage to our database:</p>
<p><code><br />
devon@chronos ~/Projects/sets $ irb<br />
irb(main):001:0> nil.id<br />
(irb):1: warning: Object#id will be deprecated; use Object#object_id<br />
=> 4<br />
</code></p>
<p>It certainly explains why we have a bizarrely large number of items in our database with foreign keys set to 4.  This conflicts directly with the rails standard for naming a database primary key as &#8216;id&#8217;, which you assess on a model at obj.id.  Yes, code should have lots of null checks, but real world code has flaws.  Sure it throws a warning, but since it doesn&#8217;t break on nil when you call .id, you get data corruption.  Gee, thanks, ruby.</p>
<p><strong>Ruby in general</strong><br />
These are just a few examples, but ruby is <em>rife</em> with happy path coding.  The language needed another 5 years of development before going into widespread use.  Instead, I think it&#8217;s getting worse because a set of rails engineers who don&#8217;t know anything about languages are at the helm, adding lots of syntactic sugar but with a distinct lack of substance behind that candied shell.</p>
<p><sub><strong><em>1.</em></strong> Perhaps it&#8217;s not fair to compare ruby to the unix philosophy, because the ruby design philosophy violates the 17 rules in ways that are clearly intentional.  Specifically, ruby and rails egregiously violate the rules of clarity and transparency, and rails in particular violates the rules of separation, composition and representation.</sub></p>
]]></content:encoded>
			<wfw:commentRss>http://www.evilsoft.org/2010/06/30/why-i-view-ruby-as-immature/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Libertarians are just crazy for firefox (and other observations)</title>
		<link>http://www.evilsoft.org/2009/08/25/libertarians-are-just-crazy-for-firefox-and-other-observations</link>
		<comments>http://www.evilsoft.org/2009/08/25/libertarians-are-just-crazy-for-firefox-and-other-observations#comments</comments>
		<pubDate>Tue, 25 Aug 2009 21:22:18 +0000</pubDate>
		<dc:creator><![CDATA[Administrator]]></dc:creator>
				<category><![CDATA[awesomeaugust]]></category>
		<category><![CDATA[NYCResistor]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.evilsoft.org/?p=151</guid>
		<description><![CDATA[A few weeks ago, a video was passed around our office that was about Google interviewing people in Times Square about what a browser is. The results were fairly appalling. For the most part, people responded with various portal and search web sites instead of something like &#8220;IE&#8221; or &#8220;Firefox&#8221;. This coincided with a conversation [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>A few weeks ago, a video was passed around our office that was about <a href="http://thenextweb.com/2009/06/19/google-asked-people-times-square-browser-responses-shock/">Google interviewing people in Times Square about what a browser is</a>.  The results were fairly appalling.  For the most part, people responded with various portal and search web sites instead of something like &#8220;IE&#8221; or &#8220;Firefox&#8221;.  This coincided with a conversation I was having with someone in which I posited the hypothesis that IE as a browser would bias to the political right, and other browsers (specifically firefox) would bias to the political left.  My reasoning was:</p>
<ol>
<li>Conservatives would be more comfortable with a browser delivered by a major corporation that has faced antitrust charges over that browser then liberals would.</li>
<li>Liberals anecdotally are more prone to counter-cultural choices, and thus would be more likely to seek out an alternative to the default browser.</li>
</ol>
<p>The Google interviews made me realize one other thing.  In testing for this kind of effect, you would need to eliminate people who didn&#8217;t know what a browser was.  Clearly, a person who doesn&#8217;t even know what a browser is is highly unlikely to proactively switch from their system&#8217;s default browser.  Further, if a person&#8217;s political views are correlated at all with their likelihood of understanding what a browser is, not eliminating people who don&#8217;t understand could hide real results.</p>
<p>The company I work for, <a href="http://www.knewton.com">Knewton Inc</a>, is becoming known in certain circles of its clever usage for the vastly underused (IMHO) <a href="https://www.mturk.com/mturk/welcome">Amazon Mechanical Turk</a> service.  When I mentioned my contention to our guy who&#8217;s been pioneering our MTurk usage, Dahn Tamir, he suggested that we build an MTurk task and get some real data to find out whether my hypothesis had any basis in reality. The rest of this post represents my findings.</p>
<p><span id="more-151"></span></p>
<p><strong>The Experiment</strong><br />
We posted the following poll to MTurk, allowing users the ability to do the task only once (making it a lot harder to stuff the ballot box, or, at the very least, require a hell of a lot more effort on the part of the users):</p>
<p><img src="http://www.evilsoft.org/wordpress/wp-content/uploads/2009/08/poll.png" alt="The Poll" title="The Poll" width="500" height="436" class="alignleft size-full wp-image-168" /></p>
<p>The options for political affiliation were:</p>
<ul>
<li>Republican</li>
<li>Independant</li>
<li>Democrat</li>
</ul>
<p>The options for political philosophy were:</p>
<ul>
<li>Strongly Liberal</li>
<li>Liberal</li>
<li>Moderately Liberal</li>
<li>Moderate</li>
<li>Moderately Conservative</li>
<li>Conservative</li>
<li>Strongly Conservative</li>
<li>Socialist</li>
<li>Libertarian</li>
</ul>
<p>For the web browser, we considered a person to have passed the test if he or she answered Internet Explorer or Firefox, but no others.  We considered them to have failed if they answered Yahoo, Google or MSN.  It was pointed out that AOL did have a browser that could be reasonably referred to as AOL, so we ignored this field.  Finally, we recorded the workers&#8217; User Agent, letting us see what browser/os they were using.</p>
<p><strong>Raw Results</strong><br />
Observations:</p>
<ul>
<li>Clearly, MTurkers are going to be more likely to know what a browser is, and it shows in the data.  Google found that 8% of people in Times Square knew what a browser was, but 86% of respondents here did.</li>
<li>We appear to have more Democrats/Liberals than Republicans/Conservatives one would expect in the normal population.</li>
<li>I only added Socialist on a lark, and I was pretty amazed to see that it still got 2.24% in a poll of Americans</li>
<li>Firefox polled a lot higher here than one would expect in the wild. This should make it a lot easier to see any effects, along with the high pass rate of the test.</li>
</ul>
<table>
<tr>
<th colspan=2 align='center'>Party Affiliation</th>
</tr>
<tr>
<td valign=top>
<table>
<tr>
<td></td>
<th>Total</th>
<th>%</th>
</tr>
<tr>
<th>Republican</th>
<td>244</td>
<td>23.71%</td>
</tr>
<tr>
<th>Independent</th>
<td>397</td>
<td>38.58%</td>
</tr>
<tr>
<th>Democrat</th>
<td>388</td>
<td>37.71%</td>
</tr>
</table>
</td>
<td valign=top>
<a href="http://www.evilsoft.org/wordpress/wp-content/uploads/2009/08/affiliation_distribution-150x150.png"><img src="http://www.evilsoft.org/wordpress/wp-content/uploads/2009/08/affiliation_distribution.png" alt="Distribution by Party Affiliation" title="Distribution by Party Affiliation" width="239" height="266" class="alignleft size-full wp-image-152" /></a>
</td>
</table>
<table>
<tr>
<th colspan=2 align='center'>Political Philosophy</th>
</tr>
<tr>
<td valign=top>
<table>
<tr>
<td></td>
<th>Total</th>
<th>%</th>
</tr>
<tr>
<th>Strongly Liberal</th>
<td>92</td>
<td>8.94%</td>
</tr>
<tr>
<th>Liberal</th>
<td>188</td>
<td>18.27%</td>
</tr>
<tr>
<th>Moderately Liberal</th>
<td>169</td>
<td>16.42%</td>
</tr>
<tr>
<th>Moderate</th>
<td>197</td>
<td>19.14%</td>
</tr>
<tr>
<th>Moderately Conservative</th>
<td>157</td>
<td>15.26%</td>
</tr>
<tr>
<th>Conservative</th>
<td>105</td>
<td>10.20%</td>
</tr>
<tr>
<th>Strongly Conservative</th>
<td>34</td>
<td>3.30%</td>
</tr>
<tr>
<th>Socialist</th>
<td>23</td>
<td>2.24%</td>
</tr>
<tr>
<th>Libertarian</th>
<td>64</td>
<td>6.22%</td>
</tr>
</table>
</td>
<td valign=top>
<a href="http://www.evilsoft.org/wordpress/wp-content/uploads/2009/08/philosophy_distribution.png"><img src="http://www.evilsoft.org/wordpress/wp-content/uploads/2009/08/philosophy_distribution-300x167.png" alt="Distribution of Political Philosophies" title="Distribution of Political Philosophies" width="300" height="167" class="alignleft size-medium wp-image-158" /></a>
</td>
</table>
<table>
<tr>
<th colspan=2 align='center'>Browsers</th>
</tr>
<tr>
<td valign=top>
<table>
<tr>
<td></td>
<th>Total</th>
<th>%</th>
</tr>
<tr>
<th>Firefox</th>
<td>479</td>
<td>46.55%</td>
</tr>
<tr>
<th>Internet Explorer</th>
<td>439</td>
<td>42.66%</td>
</tr>
<tr>
<th>Safari</th>
<td>63</td>
<td>6.12%</td>
</tr>
<tr>
<th>Chrome</th>
<td>41</td>
<td>3.98%</td>
</tr>
<tr>
<th>Opera</th>
<td>7</td>
<td>0.68%</td>
</tr>
</table>
</td>
<td valign=top>
<a href="http://www.evilsoft.org/wordpress/wp-content/uploads/2009/08/browser_distribution-150x150.png"><img src="http://www.evilsoft.org/wordpress/wp-content/uploads/2009/08/browser_distribution.png" alt="Distribution of Browsers" title="Distribution of Browsers" width="237" height="265" class="alignleft size-full wp-image-156" /></a>
</td>
</table>
<table>
<tr>
<th colspan=2 align='center'>Browser Test Results</th>
</tr>
<tr>
<td valign=top>
<table>
<tr>
<td></td>
<th>Total</th>
<th>%</th>
</tr>
<tr>
<th>Pass</th>
<td>886</td>
<td>86.10%</td>
</tr>
<tr>
<th>Fail</th>
<td>143</td>
<td>13.90%</td>
</tr>
</table>
</td>
<td valign=top>
<a href="http://www.evilsoft.org/wordpress/wp-content/uploads/2009/08/test_distribution-150x150.png"><img src="http://www.evilsoft.org/wordpress/wp-content/uploads/2009/08/test_distribution.png" alt="Distribution of Test Results" title="Distribution of Test Results" width="210" height="265" class="alignleft size-full wp-image-159" /></a>
</td>
</table>
<p><strong>Test Results</strong><br />
Next, after pulling in the raw results, we compared browser, affiliation and philosophy to the test results.</p>
<p>Observations:</p>
<ul>
<li>Unsurprisingly, IE fared better amongst people who failed the test.  Firefox did substantially better amongst people who passed the test. Safari also did better amongst people who passed the test, which was a little surprising, because we expected all default browsers to do better with people who failed.  The sample, however, is small enough that the Safari factor could just be noise.  It has been mentioned that this could have been caused by Safari for windows.  That supposition can potentially be answered in the data.</li>
<li>Democrats did worse on the test, while Republicans and Independents did basically the same.  We see the likely reason why in the political philosophy section. The further left you go, the worse you tend to do on the browser test, until you hit strongly liberal. Strong Liberals reversed the trend entirely and tested better than any other group.</li>
</ul>
<table>
<tr>
<th colspan=2 align='center'>Test Results by Party Affiliation</th>
</tr>
<tr>
<td valign=top>
<table>
<tr>
<td></td>
<th>Pass %</th>
<th>Fail %</th>
</tr>
<tr>
<th>Republican</th>
<td>87.70%</td>
<td>12.30%</td>
</tr>
<tr>
<th>Independent</th>
<td>88.16%</td>
<td>11.84%</td>
</tr>
<tr>
<th>Democrat</th>
<td>82.99%</td>
<td>17.01%</td>
</tr>
</table>
</td>
<td valign=top>
<a href="http://www.evilsoft.org/wordpress/wp-content/uploads/2009/08/test_result_by_affiliation1-268x300.png"><img src="http://www.evilsoft.org/wordpress/wp-content/uploads/2009/08/test_result_by_affiliation1.png" alt="Test Results by Party Affiliation" title="Test Results by Party Affiliation" width="364" height="406" class="alignleft size-full wp-image-191" /></a>
</td>
</table>
<table>
<tr>
<th colspan=2 align='center'>Test Results By Political Philosophy</th>
</tr>
<tr>
<td valign=top>
<table>
<tr>
<td></td>
<th>Pass %</th>
<th>Fail %</th>
</tr>
<tr>
<th>Strongly Liberal</th>
<td>91.30%</td>
<td>8.70%</td>
</tr>
<tr>
<th>Liberal</th>
<td>81.91%</td>
<td>18.09%</td>
</tr>
<tr>
<th>Moderately Liberal</th>
<td>84.62%</td>
<td>15.38%</td>
</tr>
<tr>
<th>Moderate</th>
<td>86.29%</td>
<td>13.71%</td>
</tr>
<tr>
<th>Moderately Conservative</th>
<td>86.62%</td>
<td>13.38%</td>
</tr>
<tr>
<th>Conservative</th>
<td>87.62%</td>
<td>12.38%</td>
</tr>
<tr>
<th>Strongly Conservative</th>
<td>88.24%</td>
<td>11.76%</td>
</tr>
<tr>
<th>Socialist</th>
<td>86.96%</td>
<td>13.04%</td>
</tr>
<tr>
<th>Libertarian</th>
<td>89.06%</td>
<td>10.94%</td>
</tr>
</table>
</td>
<td valign=top>
<a href="http://www.evilsoft.org/wordpress/wp-content/uploads/2009/08/test_result_by_philosophy1.png"><br />
<img src="http://www.evilsoft.org/wordpress/wp-content/uploads/2009/08/test_result_by_philosophy1-300x199.png" alt="Test Results By Political Philosophy" title="Test Results By Political Philosophy" width="300" height="199" class="alignleft size-medium wp-image-192" /></a>
</td>
</table>
<table>
<tr>
<th colspan=2 align='center'>Browser by Test Results</th>
</tr>
<tr>
<td valign=top>
<table>
<tr>
<td></td>
<th>Pass %</th>
<th>Fail %</th>
</tr>
<tr>
<th>Internet Explorer</th>
<td>39.16%</td>
<td>64.34%</td>
</tr>
<tr>
<th>Firefox</th>
<td>49.89%</td>
<td>25.87%</td>
</tr>
<tr>
<th>Safari</th>
<td>6.21%</td>
<td>5.59%</td>
</tr>
<tr>
<th>Chrome</th>
<td>4.06%</td>
<td>3.50%</td>
</tr>
<tr>
<th>Opera</th>
<td>0.68%</td>
<td>0.70%</td>
</tr>
</table>
</td>
<td valign=top>
<a href="http://www.evilsoft.org/wordpress/wp-content/uploads/2009/08/browser_by_test_result1.png"><img src="http://www.evilsoft.org/wordpress/wp-content/uploads/2009/08/browser_by_test_result1-300x237.png" alt="Browser by Test Results" title="Browser by Test Results" width="300" height="237" class="alignleft size-medium wp-image-162" /></a></td>
</table>
<p><strong>Browser choice by political opinion</strong><br />
Here we have the final analysis.  Looking at how browser choice changes across the political spectrum.</p>
<p>Observations:</p>
<ul>
<li>My initial hypothesis appears to be supported by this data set. IE falls off sharply the further left you go on the spectrum from Moderate.  Strong liberals use IE at <strong>half</strong> the rate of strong conservatives.</li>
<li>Both Libertarians and Socialists appear to fit in on the left end of the spectrum at least where browser choice is concerned.  Libertarians appear to loath IE and  are nuts for Firefox. They have the highest Firefox rating of anyone with an astounding 70.18%</li>
<li>Firefox’s fall as you go to the right is less pronounced as IE’s fall as you go to the left. This is probably caused by the generally higher likelyhood of picking Safari as you go leftward.</li>
<li>Opera appears to have its ’stronghold’ with Socialists, who were as likely to pick it as Chrome or Safari.</li>
<li>Libertarians also appear to have an exaggerated preference for Opera, Safari and Chrome. Basically, Libertarians really don’t like IE.</li>
</ul>
<table>
<tr>
<th align='center'>Browser by Party Affiliation</th>
</tr>
<tr>
<td valign=top>
<table>
<tr>
<td></td>
<th>IE %</th>
<th>Firefox %</th>
<th>Safari %</th>
<th>Chrome %</th>
<th>Opera %</th>
</tr>
<tr>
<th>Republican</th>
<td>45.33%</td>
<td>45.79%</td>
<td>5.14%</td>
<td>3.27%</td>
<td>0.47%</td>
</tr>
<tr>
<th>Independent</th>
<td>36.00%</td>
<td>52.86%</td>
<td>6.57%</td>
<td>3.71%</td>
<td>0.86%</td>
</tr>
<tr>
<th>Democrat</th>
<td>38.51%</td>
<td>49.38%</td>
<td>6.52%</td>
<td>4.97%</td>
<td>0.62%</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign=top>
<img src="http://www.evilsoft.org/wordpress/wp-content/uploads/2009/08/browser_by_affiliation.png" alt="Browser By party Affiliation" title="Browser By party Affiliation" width="491" height="365" class="alignleft size-full wp-image-153" />
</td>
</table>
<table>
<tr>
<th align='center'>Browser By Political Philosophy</th>
</tr>
<tr>
<td valign=top>
<table>
<tr>
<td></td>
<th>IE %</th>
<th>Firefox %</th>
<th>Safari %</th>
<th>Chrome %</th>
<th>Opera %</th>
</tr>
<tr>
<th>Strongly Liberal</th>
<td>25.00%</td>
<td>63.10%</td>
<td>8.33%</td>
<td>3.57%</td>
<td>0.00%</td>
</tr>
<tr>
<th>Liberal</th>
<td>35.71%</td>
<td>50.65%</td>
<td>9.74%</td>
<td>2.60%</td>
<td>1.30%</td>
</tr>
<tr>
<th>Moderately Liberal</th>
<td>41.96%</td>
<td>48.25%</td>
<td>4.20%</td>
<td>5.59%</td>
<td>0.00%</td>
</tr>
<tr>
<th>Moderate</th>
<td>45.88%	44.12%</td>
<td>4.12%</td>
<td>5.88%</td>
<td>0.00%</td>
</tr>
<tr>
<th>Moderately Conservative</th>
<td>47.06%</td>
<td>43.38%</td>
<td>7.35%</td>
<td>2.21%</td>
<td>0.00%</td>
</tr>
<tr>
<th>Conservative</th>
<td>44.57%</td>
<td>46.74%</td>
<td>4.35%</td>
<td>3.26%</td>
<td>1.09%</td>
</tr>
<tr>
<th>Strongly Conservative</th>
<td>50.00%</td>
<td>46.67%</td>
<td>0.00%</td>
<td>3.33%</td>
<td>0.00%</td>
</tr>
<tr>
<th>Socalist</th>
<td>30.00%</td>
<td>55.00%</td>
<td>5.00%</td>
<td>5.00%</td>
<td>5.00%</td>
</tr>
<tr>
<th>Libertarian</th>
<td>12.28%</td>
<td>70.18%</td>
<td>8.77%</td>
<td>5.26%</td>
<td>3.51%</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign=top>
<img src="http://www.evilsoft.org/wordpress/wp-content/uploads/2009/08/browser_by_philosophy2.png" alt="Browser By Political Philosophy" title="Browser By Political Philosophy" width="500" height="705" class="alignleft size-full wp-image-202" />
</td>
</table>
<p><strong>Edit</strong><br />
Some have found the graph confusing, so here are two other versions.  Both horizontal, showing the data in one by browser, and in the other by political philosophy.  Click on them to enlarge</p>
<p><a href="http://www.evilsoft.org/wordpress/wp-content/uploads/2009/08/affiliation_by_browser.png" border=1 color="blue"><img src="http://www.evilsoft.org/wordpress/wp-content/uploads/2009/08/affiliation_by_browser-300x161.png" alt="Affiliation By Browser" title="Affiliation By Browser" width="300" height="161" class="alignleft size-medium wp-image-222" /><br />(enlarge)</a></p>
<p><a href="http://www.evilsoft.org/wordpress/wp-content/uploads/2009/08/browser_by_affiliation2.png" alt="Browser By Affiliation" title="Browser By Affiliation" width="1048" height="492" class="alignleft size-full wp-image-223"><img src="http://www.evilsoft.org/wordpress/wp-content/uploads/2009/08/browser_by_affiliation2-300x140.png" alt="Browser By Affiliation" title="Browser By Affiliation" width="300" height="140" class="alignleft size-medium wp-image-223" /><br />(enlarge)</a></p>
<p><strong>Conclusion</strong><br />
There appear to be a few strong correlations in data between a person’s political thinking and his or her browser choice.  Still, this data is not representative of the population as a whole.  It is, instead, a sample of people who are web savvy enough to use MTurk and who are motivated to take polls like this for small amounts of money.  Also, the strong bias of the tech and open source communities toward libertarianism is probably causing the strong bias of libertarianism toward Firefox in this sample.  Still, I thought these results were too interesting to keep to myself.  Enjoy.</p>
<p><strong>Notes</strong><br />
If you want to toy with the raw data and get access to the source I used for experimenting with the data, as well as my analysis spreadsheets, those are available <a href="http://www.evilsoft.org/blogfiles/the_experiment.tar.gz">here</a>.  We did this in 3 separate data gatherings, and those samples are still separated into 3 data files the raw data.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evilsoft.org/2009/08/25/libertarians-are-just-crazy-for-firefox-and-other-observations/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>wealth-lab</title>
		<link>http://www.evilsoft.org/2005/12/09/wealth-lab</link>
		<comments>http://www.evilsoft.org/2005/12/09/wealth-lab#comments</comments>
		<pubDate>Fri, 09 Dec 2005 16:58:07 +0000</pubDate>
		<dc:creator><![CDATA[Administrator]]></dc:creator>
				<category><![CDATA[Lifehacks]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.evilsoft.org/?p=52</guid>
		<description><![CDATA[I was catching up on some of my Wired reading this morning when I came across an article about automagic stock investing. One of the links from the article was to a site called Wealth-lab. It is essentially a trading simulator/community where people can develop trading scripts and strategies and then simulate their usage. For [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I was catching up on some of my Wired reading this morning when I came across an article about automagic stock investing. One of the links from the article was to a site called Wealth-lab. It is essentially a trading simulator/community where people can develop trading scripts and strategies and then simulate their usage. For example here is a script titled <a href="http://www.wealth-lab.com/cgi-bin/WealthLab.DLL/editsystem?id=29676">&#8220;BREAD &#038; BUTTER #6: Swing Trading the Gap&#8221; </a> written by somebody named <a href="http://www.wealth-lab.com/cgi-bin/WealthLab.DLL/profile?user=quester">quester</a> ( I love the grown up names people use on the internet&#8230;)</p>
<blockquote><p>var Bar,QClose,QOpen:integer;<br />
var gap,Qgap:float;<br />
QClose:=GetExternalSeries(&#8216;QQQQ&#8217;,#Close);<br />
QOpen:=GetExternalSeries(&#8216;QQQQ&#8217;,#Open);</p>
<p>for Bar:=2 to BarCount-1 do<br />
begin<br />
  Qgap:=100*(@QClose[Bar-1]-@QOpen[Bar])/@QClose<br />
        [Bar-1];<br />
  gap:= 100*(PriceClose(Bar-1)-PriceOpen(Bar))/<br />
         PriceClose(Bar-1);</p>
<p>  if not LastPositionActive then<br />
   if (gap > 5) and (Qgap > 0.5) then<br />
    if PriceClose(Bar-1)
<priceclose (Bar-2) then
      BuyAtMarket(Bar,'');
  
  if LastPositionActive then
    SellAtStop(Bar+1,PriceClose(Bar),LastPosition,
      '');
end; </p></blockquote>
<p>The above script (code) encodes the following rules:</p>
<blockquote><p>&#8220;Buy a stock when the stock is down the day before, QQQ is gapping down more than half a percent, and the stock is gapping down more than 5 percent.&#8221;</p>
<p>&#8220;Hold the stock at least until the next morning.&#8221;</p>
<p>&#8220;Sell when the stock goes lower than the prior day&#8217;s close.&#8221; </p></blockquote>
<p>Without examining this language and the whole site in great detail (which I assure you gentle reader, I will be looking into this&#8230;) I gather that this script is run at the start and end of each trade day to determine what action should take place for a given stock. This is fantastic, it takes the emotional element out of stock trades. As anybody who has ridden a stock all the way to it being delisted just hoping that it will turn around, you know how important it is to have specific rational trading rules for when to sell and when to buy. </priceclose></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.evilsoft.org/2005/12/09/wealth-lab/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why I still use del.icio.us</title>
		<link>http://www.evilsoft.org/2005/12/02/why-i-still-use-delicious</link>
		<comments>http://www.evilsoft.org/2005/12/02/why-i-still-use-delicious#comments</comments>
		<pubDate>Fri, 02 Dec 2005 18:41:28 +0000</pubDate>
		<dc:creator><![CDATA[Administrator]]></dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.evilsoft.org/?p=49</guid>
		<description><![CDATA[See I still use del.icio.us and here is why. Now my compatriot has been telling me how cool simpy is, but I have so much already invested in del.icio.us and frankly now that it has even tigher integration into firefox I am less likely to change. I mean its got handy buttons (See Fig 1) [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>See I still use del.icio.us and here is <a href="http://del.icio.us/help/firefox/extension">why</a>. Now my compatriot has been telling me how cool simpy is, but I have so much already invested in del.icio.us and frankly now that it has even tigher integration into firefox I am less likely to change. I mean its got handy buttons (See Fig 1)<br />
and lets you take notes (See Fig 2) by highlighting portions of the current viewed page. </p>
<p><img src="http://del.icio.us/static/img/help/ffext1.gif" alt="del.icio.us buttons" /><br />
Fig 1</p>
<p><img src="http://del.icio.us/static/img/help/ffext14.gif" alt="del.icio.us notes" /><br />
Fig 2</p>
<p>I will be using it for the next week or so and write a more formal review then, in the meantime if you use del.icio.us check it out. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.evilsoft.org/2005/12/02/why-i-still-use-delicious/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Simply Simpy</title>
		<link>http://www.evilsoft.org/2005/11/22/simply-simpy</link>
		<comments>http://www.evilsoft.org/2005/11/22/simply-simpy#comments</comments>
		<pubDate>Tue, 22 Nov 2005 20:49:00 +0000</pubDate>
		<dc:creator><![CDATA[Administrator]]></dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://test.evilsoft.org/?p=8</guid>
		<description><![CDATA[Del.icio.us better watchout, because there is a new kid on the block: Simpy. While I have not noticed many new features out of del.icio.us since the experimental posting page, simpy is regularly adding useful new features. Thing I have noticed so far that Simpy does that del.icio.us doesn&#8217;t do (or I have failed to find): [&#8230;]]]></description>
				<content:encoded><![CDATA[<div style="clear:both;"></div>
<p><a href="http://del.icio.us/">Del.icio.us</a> better watchout, because there is a new kid on the block: <a href="http://www.simpy.com/">Simpy</a>.  While I have not noticed many new features out of del.icio.us since the experimental posting page, simpy is regularly adding useful new features.  Thing I have noticed so far that Simpy does that del.icio.us doesn&#8217;t do (or I have failed to find):
<ol>
<li>It lets you essentially make Boolean expressions with tags.  So instead of clicking on Development, and then seeing that it shares some links with java &#8211; I would expect when I click on java, I would only see links that are *only* java AND development &#8211; not so on delicious &#8211; in stead I&#8217;ll see all of java.  Being able to narrow down tags is a *huge* improvement.  Not only can you focus in on tags, but you can also remove links from the results based on tag.  Very useful.  I pretty much always wished del.icio.us had this feature.</li>
<li>Private links.  Del.icio.us is great, and I love being able to share links with everyone &#8211; but there are some links that I just want to share across my browsers &#8211; and not other people.  Say like the link to my bank and credit card company &#8211; or links from my company&#8217;s intranet.</li>
<li>Groups.  Simpy lets the user join groups, and post links for the consumption of the other people in the group &#8211; once a link has been posted, you can then mark it as read &#8211; allowing you to track what you ahve looked at. Sweet.</li>
<li>Topics. Ever want to track someone else&#8217;s links on delicious? Simpy apparently lets you do this in what it calls a topic.</li>
<li>Notes.  Simpy lets you take notes with their system that you can tag the same way you tag links.  Not much use to me yet, but an interesting idea &#8211; since it&#8217;s centralized, it offers the same benefits for notes that both systems offer for links.</li>
<li>The killer one: Sync from del.icio.us.  All the effort you have put into tagging things on del.icio.us is not lost &#8211; simpy can suck all the links out of your del.icio.us account, and it will tag them appropriately, meaning you lose nothing.  This means testing Simpy is pretty risk free, because you can take your existing links, pull them in and see if you like it.</li>
</ol>
<p>Now, it&#8217;s not all better then del.icio.us.  If there is one single thing I think del.icio.us does far better it&#8217;s the link add form.  The experimental interface for del.icio.us deals with tags far more eloquently then simpy&#8217;s tagging interface.  Where del.icio.us will recommend tags to you from *your* tags, as well as showing you all your tags, and showing you popular ones, Simpy has a truncated list of your tags, and only tells you popular ones.  This makes it *really* hard to consistantly use the same tags in your link collection.  Furthur, del.icio.us&#8217;s link add page is far more eloquent allowing you to simply click or unclick the tag to add or remove tags.  Simpy divides it across the page so that your tags are in a textbox, but there are a series of checkboxes on the side of the screen where you can add predefined tags.  Unlike delicious, when you check one of those boxes, it doesn&#8217;t populate the link textbox, and unchecking it doesn&#8217;t remove one.  The Simpy developers would do well to take a page from del.icio.us on tagging interface &#8211; the one area where del.icio.us far outshines simpy.</p>
<p>You can find me there are <a href="http://www.simpy.com/user/soulcatcher">soulcatcher</a>.
<div style="clear:both; padding-bottom: 0.25em;"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.evilsoft.org/2005/11/22/simply-simpy/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Flock</title>
		<link>http://www.evilsoft.org/2005/10/21/flock</link>
		<comments>http://www.evilsoft.org/2005/10/21/flock#comments</comments>
		<pubDate>Fri, 21 Oct 2005 13:27:00 +0000</pubDate>
		<dc:creator><![CDATA[Administrator]]></dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://test.evilsoft.org/?p=5</guid>
		<description><![CDATA[Like everyone else, I&#8217;m trying out Flock right now. Flock is a beta Web 2.0 browser with built in del.icio.us tagging, flickr posting and blogging (including to here), and integrated RSS reading. So far, I have to say I&#8217;m damn impressed. Del.icio.us makes the web usable, but Flock makes del.icio.us usable. The blog posting seems [&#8230;]]]></description>
				<content:encoded><![CDATA[<div style="clear:both;"></div>
<div xmlns="http://www.w3.org/1999/xhtml">
<p>Like everyone else, I&#8217;m trying out <a href="http://www.flock.com/">Flock</a> right now. Flock is a beta Web 2.0 browser with built in <a href="http://www.del.icio.us/">del.icio.us</a> tagging, <a href="http://www.flickr.com/">flickr</a> posting and blogging (including to here), and integrated RSS reading. So far, I have to say I&#8217;m damn impressed. Del.icio.us makes the web usable, but Flock makes del.icio.us usable. The blog posting seems pretty decent, and it integrates with a ton of blogging software. As for the flickr integration, not sure about that part yet as I really don&#8217;t do much flickring.</p>
<p>My only requests so far:</p>
<ul>
<li>Dump the tag images off the del.icio.us so we can see more tags on the screen at once.</li>
<li>List the number of sites each tag has next to the tag.</li>
<li>Let the user sort tags by title or number of tagged sites.</li>
<li>Let the user drill down into a tag, filtering by subsequently smaller subtags. (The OS X Finder interface for drilling down would work really well here)</li>
<li>Fix lists in the blogging tool</li>
</ul>
<p>All in all, kudos to the Flock team, this is a pretty sweet way to browse the web as a participant instead of just as a viewer.</p>
<p>Update: Having fiddled with flock more, I can tell you it has one absolutly killer feature.  Flock ships with the open source Clucene search engine.  Clucene indexes every page you visit, and will give you real time search results from that index as you type search terms into the search bar.  With this feature, losing old pages because you can&#8217;t remember the address is essentially a thing of the past.  This is utterly badass.  For more of their features, check out their <a href="http://www.flock.com/fiveways/togetstarted/13.php">13 things you can do with flock</a>.</div>
<div style="clear:both; padding-bottom: 0.25em;"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.evilsoft.org/2005/10/21/flock/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On Another damn cool web trick</title>
		<link>http://www.evilsoft.org/2005/06/07/on-another-damn-cool-web-trick</link>
		<comments>http://www.evilsoft.org/2005/06/07/on-another-damn-cool-web-trick#comments</comments>
		<pubDate>Tue, 07 Jun 2005 21:45:00 +0000</pubDate>
		<dc:creator><![CDATA[Administrator]]></dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://test.evilsoft.org/?p=2</guid>
		<description><![CDATA[I am not sure how I am going to use this, but I am going to find a way, damnit. The ability to embed a web browser in a web page is just such a cool, little idea. As they say on their website, its like TV in TV for your web browser. Now I [&#8230;]]]></description>
				<content:encoded><![CDATA[<div style="clear:both;"></div>
<p>I am not sure how I am going to use <a href="http://bitty.com/">this</a>, but I am going to find a way, damnit. The ability to embed a web browser in a web page is just such a cool, little idea. As they say on their website, its like TV in TV for your web browser. Now I just gotta think of a way to use that here&#8230;
<div style="clear:both; padding-bottom: 0.25em;"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.evilsoft.org/2005/06/07/on-another-damn-cool-web-trick/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mediawiki</title>
		<link>http://www.evilsoft.org/2005/05/18/mediawiki</link>
		<comments>http://www.evilsoft.org/2005/05/18/mediawiki#comments</comments>
		<pubDate>Wed, 18 May 2005 23:43:41 +0000</pubDate>
		<dc:creator><![CDATA[Administrator]]></dc:creator>
				<category><![CDATA[Lifehacks]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.evilsoft.org/?p=18</guid>
		<description><![CDATA[So my compatriot is using the GTD Tiddly Wiki to try and organize his life and notes, but I have taken a different wiki road. The GTD Tiddly Wiki certainly has a lot of eye candy, and can be very easy to use, but I am finding I need a more featureful solution to dealing [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>So my compatriot is <a href="http://www.evilsoft.org/?p=20">using </a>the <a href="http://shared.snapgrid.com/gtd_tiddlywiki.html">GTD Tiddly Wiki</a> to try and organize his life and notes, but I have taken a different wiki road. The GTD Tiddly Wiki certainly has a lot of eye candy, and can be very easy to use, but I am finding I need a more featureful solution to dealing with my notes about umm, well, everything I do. So I chose <a href="http://wikipedia.sourceforge.net/">Mediawiki</a>.  It has a lot going for it:</p>
<ul>
<li>Easy to install (if like me you have a web server running linux.  Gentoo makes installing mediawiki a breeze)</li>
<li>You have access to it from anywhere, using anyone&#8217;s computer</li>
<li>You don&#8217;t have to worry as much about losing your data. A server is easy to keep backed up. When is the last time *you* backed up your thumb drive?</li>
<li>Rock solid &#8211; this is after all the software that runs the gigantic <a href="http://en.wikipedia.org/">Wikipedia</a>.</li>
<li>Support for media &#8211; so I can upload related photos/drawings/other media and attach that to my notes.</li>
<li>Lots of good patches are available, like the one I installed that lets you <a href="http://conseil-recherche-innovation.net/index.php/1974/04/10/31-restrict-pages-under-mediawiki">make pages private</a>.</li>
<li>Running this on a webserver means it&#8217;s simple to make any part of it accessible to other people &#8211; and you can give them accounts if you want to collaborate with people on an idea.
</li>
</ul>
<p>Course, now the software engineer in me wants to do all sorts of stuff with it, which is always dangerous. Ideas so far include finding a way to integrate it with <a href="http://gallery.sourceforge.net/">Gallery</a>, and writing a wiki that allows Game information to be stored in a wiki &#8211; with privledged accounts for referees/GMs, and accounts with lower permissions for players.</p>
<p>Hrm&#8230; Wonder if I can write a plugin for <a href="http://pcgen.sourceforge.net/">PCGen</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evilsoft.org/2005/05/18/mediawiki/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extend your firefox</title>
		<link>http://www.evilsoft.org/2005/05/02/extend-your-firefox</link>
		<comments>http://www.evilsoft.org/2005/05/02/extend-your-firefox#comments</comments>
		<pubDate>Tue, 03 May 2005 04:34:40 +0000</pubDate>
		<dc:creator><![CDATA[Administrator]]></dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.evilsoft.org/?p=32</guid>
		<description><![CDATA[So this, the next installment of my &#8220;I just re-installed my box, what&#8217;s on it&#8221; series we are going to look at the wonder that is the Firefox extension. Firefox is indeed a fantastic browser, but what really makes it a killer app is the ability to extend it so that it perfectly meets your [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>So this, the next installment of my &#8220;I just re-installed my box, what&#8217;s on it&#8221; series we are going to look at the wonder that is the <a href="http://www.mozilla.org/products/firefox/central.html">Firefox</a> extension. Firefox is indeed a fantastic browser, but what really makes it a killer app is the ability to extend it so that it perfectly meets your needs.</p>
<p>Bar none the best experience I have had with this was at work. Being a contractor, I have to punch in and out multiple times per day, but my employer&#8217;s IT department doesn&#8217;t support anything other then IE internally (this seems to be the norm). Well, they made 2 small mistakes in their html and javascript that made the site unusable on anything other then IE, which of course means that I have to use two browsers. Well, <a href="http://greasemonkey.mozdev.org/">Greasemonkey</a> came to my rescue. Because I can use greasemonkey to dynamically re-write sites, the timesheet app now works perfectly in firefox for me, and IT didn&#8217;t have to lift the finger they refused to.</p>
<p>So, what I have installed in my firefox:<br />
Web Development:</p>
<ul>
<li><a href="http://www.hacksrus.com/%7Eginda/venkman/">Venkman</a>: A javascript debugger for firefox. This package is fantastic for javascript developers, and provides you with a number of useful features. Must have if you do javascript.
</li>
<li><a href="https://addons.update.mozilla.org/extensions/moreinfo.php?id=60">Web Developer</a>: Adds a menu bar
</li>
</ul>
<p> Google:</p>
<ul>
<li><a href="https://addons.update.mozilla.org/extensions/moreinfo.php?id=262">Google Pagerank Status</a>: Google Pagerank is the algorithm that pretty much controls the web, well now you can see in your status bar just how popular a particular site is according to google.
</li>
<li><a href="https://addons.update.mozilla.org/extensions/moreinfo.php?id=189">GooglePreview</a>: This extension is surprisingly useful. All it does is adds a snapshot of the web page into the google results. If you are looking for a link to a page you have been to before, the fact that you can see it is invaluable.
</li>
</ul>
<p> Just Plain Cool:</p>
<ul>
<li><a href="https://addons.update.mozilla.org/extensions/moreinfo.php?id=219">FoxyTunes</a>: Lets me control Winamp from the status bar of firefox. No more fumbling around to which desktop my winamp is on, just find the nearest browser.
</li>
<li><a href="https://addons.update.mozilla.org/extensions/moreinfo.php?id=261">BlogThis</a>: A plugin that well&#8230;lets me post here more easily.
</li>
<li><a href="http://delicious.mozdev.org/">del.icio.us</a>: A fantastic replacement for the bookmarklets that let you post a link to deli.icio.us. All the functionality of the experimental del.icio.us interface, but with a xul window. Yum.</li>
<li><a href="https://addons.update.mozilla.org/extensions/moreinfo.php?id=436">SessionSaver 2</a>: I keep a lot of tabs open. I mean a *lot*. This makes rebooting, or for that matter shutting down firefix a 10 minute ordeal as I determing which pages I still need to read, and which ones I ma done with &#8211; as I save the links somewhere for after my reboot. Well, no more. Sessions saver grabs the state from the last Firefox session, and opens the same windows/tabs.
 </li>
<li><a href="http://greasemonkey.mozdev.org/">Greasemonkey</a>: This plugin isn&#8217;t interesting, it&#8217;s web changing. Greasemonkey is a paradigm shift in how the web works. No longer are we constrained by the piss poor design decisions other people make in their websites. Using Greasemonkey, you can write or download scripts that completely change the way that a web page works. You can alter the content, layout, javascript, whatever you need. Some really clever thing shave been done with this like the hack that overlays the <a href="http://www.holovaty.com/blog/archive/2005/04/19/0216">subway system of Chicago on google maps</a>.</li>
<li><a href="http://www.karmatics.com/aardvark/">Aardvark</a>: Sort of a cross between Greasemonkey and webdeveloper, Aardvark lets you select elements of a web page, and either remove them, or alter their formatting to make them easier to read/print.  Perfect for printing sites that make getting a good hard copy a pain in the ass.
  </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.evilsoft.org/2005/05/02/extend-your-firefox/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
