<?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>a broken thought</title>
	<atom:link href="http://www.apejet.org/aaron/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.apejet.org/aaron/blog</link>
	<description>A place for me to store some links.</description>
	<lastBuildDate>Fri, 19 Feb 2010 19:27:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Rendering the Mandelbrot Set with HTML Canvas</title>
		<link>http://www.apejet.org/aaron/blog/2010/02/19/rendering-the-mandelbrot-set-with-html-canvas/</link>
		<comments>http://www.apejet.org/aaron/blog/2010/02/19/rendering-the-mandelbrot-set-with-html-canvas/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 19:26:17 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
				<category><![CDATA[art]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[science]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.apejet.org/aaron/blog/?p=641</guid>
		<description><![CDATA[I wanted to play around with the HTML 5 Canvas tag, so I&#8217;ve started building this little web application to render the Mandelbrot Set.

It&#8217;s still very much a work in progress, but it runs reasonably fast on modern browsers (Sorry IE users, Microsoft doesn&#8217;t support the canvas tag yet).  I&#8217;ve experimented with using Web Workers, [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to play around with the HTML 5 Canvas tag, so I&#8217;ve started building <a href="http://www.apejet.org/aaron/code/mandelbrot/">this little web application</a> to render the <a href="http://en.wikipedia.org/wiki/Mandelbrot_set">Mandelbrot Set</a>.</p>
<p><a href="http://www.flickr.com/photos/nogwater/4371146748/"><img class="aligncenter" title="Spiky Mandelbrot Set" src="http://farm3.static.flickr.com/2745/4371146748_0f8cf9b31c.jpg" alt="" width="465" height="465" /></a></p>
<p><span id="more-641"></span>It&#8217;s still very much a work in progress, but it runs reasonably fast on modern browsers (Sorry IE users, Microsoft doesn&#8217;t support the canvas tag yet).  I&#8217;ve experimented with using <a href="http://en.wikipedia.org/wiki/Web_worker">Web Workers</a>, but it&#8217;s not ready to deploy yet (one big problem is that Firefox 3.6 doesn&#8217;t compile the web worker code, so it&#8217;s about 10 times slower).  My coloring and shading scheme is pretty basic right now, but it&#8217;s not too ugly.  I&#8217;d like to try to learn how <a href="http://en.wikipedia.org/wiki/Gamma_correction">gamma correction</a> works in video games and apply it here.  I&#8217;d also like to add a way to allow users to save the parameters to a link that they could share.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apejet.org/aaron/blog/2010/02/19/rendering-the-mandelbrot-set-with-html-canvas/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Another Quick Myers-Briggs Update</title>
		<link>http://www.apejet.org/aaron/blog/2010/02/04/another-quick-myers-briggs-update/</link>
		<comments>http://www.apejet.org/aaron/blog/2010/02/04/another-quick-myers-briggs-update/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 04:33:18 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
				<category><![CDATA[culture]]></category>
		<category><![CDATA[humanities]]></category>

		<guid isPermaLink="false">http://www.apejet.org/aaron/blog/?p=635</guid>
		<description><![CDATA[Following in my tradition of periodically taking an online Myers-Briggs test and posting my results.  I&#8217;m still an INTJ with the following percentages:
Introverted &#8211; 89%
Intuitive &#8211; 62%
Thinking &#8211; 88%
Judging &#8211; 22%
For those with less time or patients, here&#8217;s a quick four question version of the test which is pretty much guaranteed to be less accurate.
]]></description>
			<content:encoded><![CDATA[<p>Following in my <a href="/aaron/blog/?s=Myers-Briggs">tradition</a> of periodically taking <a href="http://www.humanmetrics.com/cgi-win/JTypes2.asp">an online Myers-Briggs test</a> and posting my results.  I&#8217;m still an <a href="http://en.wikipedia.org/wiki/INTJ">INTJ</a> with the following percentages:</p>
<p>Introverted &#8211; 89%<br />
Intuitive &#8211; 62%<br />
Thinking &#8211; 88%<br />
Judging &#8211; 22%</p>
<p>For those with less time or patients, here&#8217;s a <a href="http://www.apejet.org/sites/four_question_myers_briggs/">quick four question version</a> of the test which is pretty much guaranteed to be less accurate.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apejet.org/aaron/blog/2010/02/04/another-quick-myers-briggs-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>N-Queens Browser Benchmark</title>
		<link>http://www.apejet.org/aaron/blog/2010/01/31/n-queens-browser-benchmark/</link>
		<comments>http://www.apejet.org/aaron/blog/2010/01/31/n-queens-browser-benchmark/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 20:28:12 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
				<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.apejet.org/aaron/blog/?p=628</guid>
		<description><![CDATA[I was playing around with solving the N-Queens Puzzle in JavaScript and thought it would do nicely as a browser benchmark.  I&#8217;m not using much in the way of heuristics or optimizations in this version.  In summary, Google Chrome 4.0 is fast.


Here&#8217;s the code I used to run the test: n-queens at ApeJet.org.  I ran [...]]]></description>
			<content:encoded><![CDATA[<p>I was playing around with solving the <a href="http://en.wikipedia.org/wiki/Eight_queens_puzzle">N-Queens Puzzle</a> in JavaScript and thought it would do nicely as a browser benchmark.  I&#8217;m not using much in the way of heuristics or optimizations in this version.  In summary, <a href="http://www.google.com/chrome">Google Chrome 4.0</a> is fast.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/nogwater/4320000616/"></a><a href="http://www.flickr.com/photos/nogwater/4320000616/"><img class="aligncenter" title="N-Queens Browser Benchmark" src="http://farm5.static.flickr.com/4014/4320000616_ae631e0175.jpg" alt="" width="448" height="309" /></a><br />
<span id="more-628"></span></p>
<p>Here&#8217;s the code I used to run the test: <a href="http://www.apejet.org/aaron/code/n_queens/">n-queens at ApeJet.org</a>.  I ran the test on my Windows 7 box, while only running the one browser at a time.  For each browser, I used the following values of N: 17, 18, 20, 24.  I ran each value three times and then averaged.  From these averages, I calculated the multiplier by dividing by Chrome&#8217;s average time.  Then, I averaged the four multipliers (one for each N) to create the graph.</p>
<p>I wanted to show<a href="http://www.microsoft.com/Windows/internet-explorer/"> Internet Explorer 8</a>, but was only able to collect accurate times for N=17.  For the other three tests, it shows the &#8220;Stop running this script?&#8221; prompt which pauses execution.  On the N=17 runs, it was nearly the same speed as <a href="http://www.opera.com/">Opera 10.10</a>.  Both of them were more than 10 times slower than Chrome, which is pretty bad.  IE 9 should be faster than 8, but it&#8217;s not out yet, so I can&#8217;t test it.   Opera 10.5 is available as a pre-alpha and is supposed to be faster, but I haven&#8217;t tried it out yet.</p>
<p>I was disappointed to see that <a href="http://www.mozilla.com/firefox/">Firefox 3.6</a> was about 5 times slower than Chrome.  My code may be tripping up the JIT compiler.  I may try to tweak it to see if I can get it to run better.  As it is, I may need to switch my default browser to Chrome (thanks to <a href="http://www.xmarks.com/">Xmarks</a> for synchronizing my bookmarks).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apejet.org/aaron/blog/2010/01/31/n-queens-browser-benchmark/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Early Thoughts on the Apple iPad</title>
		<link>http://www.apejet.org/aaron/blog/2010/01/30/early-thoughts-on-the-apple-ipad/</link>
		<comments>http://www.apejet.org/aaron/blog/2010/01/30/early-thoughts-on-the-apple-ipad/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 17:26:49 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://www.apejet.org/aaron/blog/?p=623</guid>
		<description><![CDATA[It seems like everyone else has dumped their thoughts and opinion of the iPad on the internet, so I guess I will too.  I may not provide anything insightful, but this post could be fun to look back at a year or two from now to see what I got write and wrong (post your [...]]]></description>
			<content:encoded><![CDATA[<p>It seems like everyone else has dumped their thoughts and opinion of the <a href="http://www.apple.com/ipad/">iPad</a> on the internet, so I guess I will too.  I may not provide anything insightful, but this post could be fun to look back at a year or two from now to see what I got write and wrong (post your thoughts in the comments to play along).</p>
<p>In case you&#8217;ve missed it, the iPad is Apple&#8217;s new consumer gadget.  It has a 10&#8243; touch sensitive LCD screen (give or take) and is half an inch thick.  The operating system (for those who care) is basically the same one that&#8217;s on the iPhone and the iPod Touch.  This means that it&#8217;s designed to be used with your fingers, and that it can only install applications that are downloaded through the App Store and approved by Apple.  The basic 16GB model starts at $500, and there are 5 additional models (depending on storage space and 3G connectivity) topping out with a 64GB version at $830 plus $30 per month in wireless charges.<span id="more-623"></span>So, what can you do with it?  Well, it has iTunes so you can listen to music or watch movies and TV shows.  It won&#8217;t replace the TV in your living room, but it basically gives you a portable media player for every other room of of the house (kitchen, bedroom, and yes even the bathroom <img src='http://www.apejet.org/aaron/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ).  The iPad also includes the Safari web browser so that you can surf the web from wherever you are.  I do this to some extent with my iPhone, but that&#8217;s mostly for quick things like looking up what year <a href="http://www.imdb.com/title/tt0083658/">Blade Runner</a> was released (1982).  The iPad has a large enough screen that I think you could be comfortable surfing the web for hours, or bringing up a <a href="http://www.apejet.org/aaron/blog/category/food/">recipe</a> while you cook (if you&#8217;re careful to keep it dry).</p>
<p>Apple is also releasing an eBook reader and store, so you&#8217;ll be able to buy books online and then read them at your convenience, much like the <a href="http://www.amazon.com/Kindle-Wireless-Reading-Display-Generation/dp/B0015T963C/">Amazon Kindle</a>.  Most <a href="http://www.time.com/time/arts/article/0,8599,1871221,00.html">people don&#8217;t read for fun</a>, and some of those that do won&#8217;t like anything other than good old paper books.  Then there are the people that read constantly.  For those people, an eBook reader may be ideal.  There are some differences in the displays of the iPad and the Kindle.  As I mentioned above, the iPad uses an LCD screen which means that it is lit from the back and glows.  This might be a little hard on the eyes if you&#8217;re reading in bed at night, but your eyes have pupils for a reason, and you&#8217;ll be able to turn the brightness down.  The Kindle uses eInk, so it looks a lot more like paper.  You can&#8217;t read in the dark, so you&#8217;ll need to bring your own light.   EInk also looks a lot better when you&#8217;re reading outside in bright light (LCD screens can get washed out).  Another benefit of eInk is that it doesn&#8217;t require any power to maintain an image, and only a little to refresh the screen to &#8220;turn the page&#8221;.  On the other hand, LCD can provide full, rich, colors and eInk is currently limited to black and white (I hear that pictures look terrible on the Kindle, so don&#8217;t buy it for kids books or business books with graphs).  At the end of the day, some people are going to prefer one device over the other, but I expect that they&#8217;ll both be adequate for most people in most situations.  It&#8217;s funny.  I don&#8217;t think Apple even wants to get into the eBook business, but they know that if they don&#8217;t provide the application and the store, then everyone will use Amazon (I&#8217;m sure Amazon is going to release Kindle software for the iPad).  If everyone gets comfortable buying eBooks from Amazon, they might try buying music and movies there too.  OK, enough about eBooks.</p>
<p>There are some other applications that&#8217;ll come with the iPad like a contacts book and a calendar.  I don&#8217;t know how many people will throw out their paper versions, but for people that never really got into storing their contacts on paper it&#8217;ll be another easy place for keeping track of this stuff.  There are more apps, like maps and photos, that people will want too.  You can also buy office applications for word processing, spreadsheets, and presentations for $10 each which is a great price if you&#8217;ll use it (you&#8217;ll probably want to buy the keyboard dock for $70 too).</p>
<p>Then there&#8217;s all of the 3rd party applications.  The App Store for the iPhone and iPod Touch have a huge number of applications, most of which will work just fine on the iPad.  I have a handful of news readers and a dozen or so games on my iPhone that I would want to bring over.  With the increased screen size and speed, application developers will be able to make even more interesting applications.  Web applications for the iPad are another area that we&#8217;re likely to see a lot of activity and innovation.  I&#8217;m really curious to see all of the new things that will be invented for devices like this.</p>
<p>Now for some real speculation.  (Disclaimer: Yes, <a href="http://www.apejet.org/jesse/">Jesse</a> works for Apple, but she makes iTunes gift cards not hardware or software.  I have no insider information.)  Apple bought <a href="http://www.lala.com/">Lala</a>, a music streaming website and community, last December, and I&#8217;m sure they&#8217;re working as fast as they can to integrate some features from Lala into iTunes.  I don&#8217;t know if they&#8217;ll make it in time for the iPad launch or if we&#8217;ll have to wait, but I expect to see something from this deal showing up this year.  The iPad is crying out for a camera.  I&#8217;m surprised that they&#8217;re really going to ship a model without one.  Actually, I&#8217;d like to see two cameras: one on the back (like on the iPhone) to take pictures and record videos, and one on the front that can see you for doing things like video chat and maybe facial recognition.  It would be cool if Apple would include an FM tuner for listening to the radio, but Apple may see that as competing with iTunes.  Eventually Apple will want to drop the price on the low end models, but not until their some real competition out their (maybe a <a href="http://www.android.com/">Google Android</a> based device from Dell).</p>
<p>We were watching Blade Runner the other day at work and commenting on the interesting mix of the future.  There are flying cars but no cell phones.  You can talk to the computers, but the screens are small and ugly.  Being nearly 30 years old, it might be a little unfair to pick on blade runner, but you see the same thing in modern movies too.  Every once in a while, something new comes along and changes the norm.  There have been a lot of failed attempts at tablet computers in the past, but I think Apple might be on to something with the simplicity of the iPad.  We&#8217;ll just have to wait to see if it (and similar devices) take off.  At this time I&#8217;m not recommending that everyone buy one.  I need to try one out for a few minutes first, but I think there&#8217;s a good chance that after giving it a try, I&#8217;ll want to buy it and you will too.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apejet.org/aaron/blog/2010/01/30/early-thoughts-on-the-apple-ipad/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Twitter Recommendation Engine: Part 2</title>
		<link>http://www.apejet.org/aaron/blog/2010/01/23/twitter-recommendation-engine-part-2/</link>
		<comments>http://www.apejet.org/aaron/blog/2010/01/23/twitter-recommendation-engine-part-2/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 22:07:42 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
				<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.apejet.org/aaron/blog/?p=618</guid>
		<description><![CDATA[Last summer I built a little recommendation engine for people to follow on Twitter.  I&#8217;ve been meaning to build a new one since Twitter added the ability for users to group people into lists.  Well, this past week I finally found some time to give it a try.  For comparison, here&#8217;s my new top 40 [...]]]></description>
			<content:encoded><![CDATA[<p>Last summer I built a little <a href="http://www.apejet.org/aaron/blog/2009/06/21/twitter-recommendation-engine/">recommendation engine</a> for people to follow on <a href="http://twitter.com/">Twitter</a>.  I&#8217;ve been meaning to build a new one since Twitter added the ability for users to <a href="http://blog.twitter.com/2009/10/theres-list-for-that.html">group people into lists</a>.  Well, this past week I finally found some time to give it a try.  For comparison, here&#8217;s my new top 40 suggestions (again, *&#8217;s are people that I <strong>don&#8217;t</strong> currently follow):</p>
<table border="0" width="100%">
<tbody>
<tr>
<td><a href="http://twitter.com/google">google</a><br />
<a href="http://twitter.com/BillGates">BillGates</a><br />
<a href="http://twitter.com/TechCrunch">TechCrunch</a> *<br />
<a href="http://twitter.com/twitter">twitter</a><br />
<a href="http://twitter.com/mashable">mashable</a> *<br />
<a href="http://twitter.com/timoreilly">timoreilly</a><br />
<a href="http://twitter.com/kevinrose">kevinrose</a><br />
<a href="http://twitter.com/googlewave">googlewave *</a><br />
<a href="http://twitter.com/GoogleCode">GoogleCode</a><br />
<a href="http://twitter.com/twibes">twibes *</a><br />
<a href="http://twitter.com/googleresearch">googleresearch</a><br />
<a href="http://twitter.com/ev">ev *</a><br />
<a href="http://twitter.com/rww">rww *</a><br />
<a href="http://twitter.com/jeresig">jeresig</a><br />
<a href="http://twitter.com/wired">wired *</a><br />
<a href="http://twitter.com/biz">biz *</a><br />
<a href="http://twitter.com/Veronica">Veronica</a><br />
<a href="http://twitter.com/cnnbrk">cnnbrk</a><br />
<a href="http://twitter.com/gigaom">gigaom</a><br />
<a href="http://twitter.com/donttrythis">donttrythis</a></td>
<td><a href="http://twitter.com/bramcohen">bramcohen</a><br />
<a href="http://twitter.com/Pogue">Pogue *</a><br />
<a href="http://twitter.com/al3x">al3x *</a><br />
<a href="http://twitter.com/GuyKawasaki">GuyKawasaki *</a><br />
<a href="http://twitter.com/techreview">techreview</a><br />
<a href="http://twitter.com/Scobleizer">Scobleizer *</a><br />
<a href="http://twitter.com/googleapps">googleapps *</a><br />
<a href="http://twitter.com/googlereader">googlereader *</a><br />
<a href="http://twitter.com/twitterapi">twitterapi</a><br />
<a href="http://twitter.com/googlemaps">googlemaps *</a><br />
<a href="http://twitter.com/mccv">mccv</a><br />
<a href="http://twitter.com/waxpancake">waxpancake</a><br />
<a href="http://twitter.com/wilw">wilw *</a><br />
<a href="http://twitter.com/WardCunningham">WardCunningham</a><br />
<a href="http://twitter.com/ginatrapani">ginatrapani *</a><br />
<a href="http://twitter.com/gvanrossum">gvanrossum</a><br />
<a href="http://twitter.com/NASA">NASA *</a><br />
<a href="http://twitter.com/zefrank">zefrank</a><br />
<a href="http://twitter.com/alleyinsider">alleyinsider</a><br />
<a href="http://twitter.com/newscientist">newscientist</a></td>
</tr>
</tbody>
</table>
<p>I can also target specific users.</p>
<p>Followers of <a href="http://twitter.com/jeresig">John Resig</a> (jQuery) might like:</p>
<blockquote><p><a href="http://twitter.com/codinghorror">codinghorror</a><br />
<a href="http://twitter.com/kevinrose">kevinrose</a><br />
<a href="http://twitter.com/kevinmarks">kevinmarks</a><br />
<a href="http://twitter.com/spolsky">spolsky</a><br />
<a href="http://twitter.com/yahoo">yahoo</a><br />
<a href="http://twitter.com/dondodge">dondodge</a><br />
<a href="http://twitter.com/stephensaber">stephensaber</a><br />
<a href="http://twitter.com/scottdlowe">scottdlowe</a><br />
<a href="http://twitter.com/adenhepburn">adenhepburn</a><br />
<a href="http://twitter.com/ryan">ryan</a></p></blockquote>
<p>Followers of <a href="http://twitter.com/chrisblizzard">Chris Blizzard</a> (Mozilla) might like:</p>
<blockquote><p><a href="http://twitter.com/BillGates">BillGates</a><br />
<a href="http://twitter.com/ioerror">ioerror</a><br />
<a href="http://twitter.com/beltzner">beltzner</a><br />
<a href="http://twitter.com/GoogleCode">GoogleCode</a><br />
<a href="http://twitter.com/BoingBoing">BoingBoing</a><br />
<a href="http://twitter.com/grantbow">grantbow</a><br />
<a href="http://twitter.com/Ben_Teitelbaum">Ben_Teitelbaum</a><br />
<a href="http://twitter.com/googlemaps">googlemaps</a><br />
<a href="http://twitter.com/googleapps">googleapps</a><br />
<a href="http://twitter.com/mozillaweb">mozillaweb</a></p></blockquote>
<p>Honestly, it&#8217;s not as good as I expected.  Just glancing over the results, I don&#8217;t think it&#8217;s as good as the follower based version from last year.  Part of the problem could be list spammers, part could be that I don&#8217;t do anything do dilute the influence of people that create a lot of very broad lists, and part could be that Twitter has changed.  I&#8217;d really like to try a blended version that uses both lists and followers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apejet.org/aaron/blog/2010/01/23/twitter-recommendation-engine-part-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Trying Out Posterous</title>
		<link>http://www.apejet.org/aaron/blog/2009/09/23/trying-out-posterous/</link>
		<comments>http://www.apejet.org/aaron/blog/2009/09/23/trying-out-posterous/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 04:03:24 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.apejet.org/aaron/blog/2009/09/23/trying-out-posterous/</guid>
		<description><![CDATA[I&#39;m trying out Posterous.  If you have an account, let me know what your username is so that I can subscribe.
-Aaron
  Posted via email   from Nogwater&#8217;s posterous  
]]></description>
			<content:encoded><![CDATA[<p>I&#39;m trying out Posterous.  If you have an account, let me know what your username is so that I can subscribe.
<p />-Aaron
<p style="font-size: 10px;">  <a href="http://posterous.com">Posted via email</a>   from <a href="http://nogwater.posterous.com/trying-out-posterous-277">Nogwater&#8217;s posterous</a>  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.apejet.org/aaron/blog/2009/09/23/trying-out-posterous/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VapURL.com</title>
		<link>http://www.apejet.org/aaron/blog/2009/08/26/vapurlcom/</link>
		<comments>http://www.apejet.org/aaron/blog/2009/08/26/vapurlcom/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 04:29:04 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.apejet.org/aaron/blog/?p=612</guid>
		<description><![CDATA[My friend and I put together VapURL.com, a URL shortening service for creating disposable URLs.  The idea is that you can create a URL that will redirect to the site of your choice, and send the link to someone.  Once they use it, the link will become inactive and if anyone else returns to it, [...]]]></description>
			<content:encoded><![CDATA[<p>My <a href="http://twitter.com/giggy">friend</a> and I put together <a href="http://vapurl.com/">VapURL.com</a>, a URL shortening service for creating disposable URLs.  The idea is that you can create a URL that will redirect to the site of your choice, and send the link to someone.  Once they use it, the link will become inactive and if anyone else returns to it, they&#8217;ll just see the VapURL home page.  There are configuration options to allow the URL to work more than one time, and to set different time limits.</p>
<p>We built the website on <a href="http://code.google.com/appengine/">Google App Engine</a> which went pretty smoothly.  It was a good way to get a little more practice with <a href="http://www.python.org/">Python</a> and to try a different set of web frameworks from what we&#8217;re use to.  We&#8217;re also using <a href="http://beanstalkapp.com/">Beanstalk</a> to host our <a href="http://subversion.tigris.org/">Subversion</a> repository.  I ran into one small bump with them, but overall it&#8217;s been a really good experience. I</p>
<p>It&#8217;s nice to have a publicly facing side project.  I plan to do more.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apejet.org/aaron/blog/2009/08/26/vapurlcom/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Twitter Recommendation Engine</title>
		<link>http://www.apejet.org/aaron/blog/2009/06/21/twitter-recommendation-engine/</link>
		<comments>http://www.apejet.org/aaron/blog/2009/06/21/twitter-recommendation-engine/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 23:18:45 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.apejet.org/aaron/blog/?p=597</guid>
		<description><![CDATA[I&#8217;ve been working on a little Python script1 using the Twitter API that can recommend people for me to follow.  Here&#8217;s the basic idea:

Get the list of people that I currently follow.
Get a list of people who follow them. (I currently truncate this list at 100 followers per person to try to keep any one [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on a little <a href="http://www.python.org/">Python</a> script<sup><a href="#f_597_1">1</a></sup> using the <a href="http://apiwiki.twitter.com/">Twitter API</a> that can recommend people for me to follow.  Here&#8217;s the basic idea:</p>
<ol>
<li>Get the list of people that I currently follow.</li>
<li>Get a list of people who follow them. (I currently truncate this list at 100 followers per person to try to keep any one person from being too over represented, and to keep the run-time down.)  This list represents &#8220;people like me&#8221; because they have the same interest.</li>
<li>For all of the people like me, look up who they follow (again limited per person for the sake of time).</li>
<li>Score<sup><a href="#f_597_2">2</a></sup>, sort, and print these &#8220;votes.&#8221;  These are the recommendations.</li>
</ol>
<p>So far, it works pretty well.  About half of the top 40 results are people that I already follow, and the others do look like people that I&#8217;d be interested in following (some of which I have followed periodically).  Here&#8217;s what it came up with so far (*&#8217;s are the suggested new people to follow):</p>
<table border="0" width="100%">
<tbody>
<tr>
<td><a href="http://twitter.com/jeresig">John Resig</a><br />
<a href="http://twitter.com/google">A Googler</a><br />
<a href="http://twitter.com/BarackObama">Barack Obama</a> *<br />
<a href="http://twitter.com/twitter">Twitter</a><br />
<a href="http://twitter.com/cnnbrk">CNN Breaking News</a><br />
<a href="http://twitter.com/kevinrose">Kevin Rose</a><br />
<a href="http://twitter.com/_why">why the lucky stiff</a><br />
<a href="http://twitter.com/meyerweb">Eric A. Meyer</a><br />
<a href="http://twitter.com/timoreilly">Tim O&#8217;Reilly</a><br />
<a href="http://twitter.com/wefollow">wefollow</a> *<br />
<a href="http://twitter.com/LeoLaporte">Leo Laporte</a><br />
<a href="http://twitter.com/jeff_lamarche">Jeff LaMarche</a><br />
<a href="http://twitter.com/twephanie">Twephanie</a><br />
<a href="http://twitter.com/shanselman">Scott Hanselman</a><br />
<a href="http://twitter.com/codinghorror">Jeff Atwood</a> *<br />
<a href="http://twitter.com/feliciaday">Felicia Day</a><br />
<a href="http://twitter.com/TheOnion">The Onion</a> *<br />
<a href="http://twitter.com/asadotzler">Asa Dotzler</a><br />
<a href="http://twitter.com/jonathancoulton">Jonathan Coulton</a><br />
<a href="http://twitter.com/ThatKevinSmith">KevinSmith</a> *</td>
<td><a href="http://twitter.com/MacHeist">MacHeist</a> *<br />
<a href="http://twitter.com/ev">Evan Williams</a> *<br />
<a href="http://twitter.com/garrettlisi">Garrett Lisi</a><br />
<a href="http://twitter.com/wilw">Wil Wheaton</a> *<br />
<a href="http://twitter.com/stephenfry">Stephen Fry</a> *<br />
<a href="http://twitter.com/algore">Al Gore</a> *<br />
<a href="http://twitter.com/drhorrible">drhorrible</a><br />
<a href="http://twitter.com/rainnwilson">RainnWilson</a><br />
<a href="http://twitter.com/aboodman">Aaron Boodman</a><br />
<a href="http://twitter.com/woot">woot.com</a> *<br />
<a href="http://twitter.com/dhh">DHH</a> *<br />
<a href="http://twitter.com/dayinthecloud">Day in the Cloud</a><br />
<a href="http://twitter.com/davemark">Dave Mark</a><br />
<a href="http://twitter.com/zefrank">zefrank</a><br />
<a href="http://twitter.com/TechCrunch">Michael Arrington</a> *<br />
<a href="http://twitter.com/Astro_Mike">Mike Massimino</a> *<br />
<a href="http://twitter.com/chrisblizzard">Christopher Blizzard</a><br />
<a href="http://twitter.com/gruber">John Gruber</a> *<br />
<a href="http://twitter.com/mashable">Pete Cashmore</a> *<br />
<a href="http://twitter.com/neilhimself">Neil Gaiman</a></td>
</tr>
</tbody>
</table>
<p><span id="more-597"></span><br />
I can also tweak the code so that it just looks at the followers of just one person instead of all of the people I follow to get more targeted results.  For example,</p>
<p>Followers of <a href="http://twitter.com/jeresig">John Resig</a> (jQuery) might like:</p>
<blockquote><p><a href="http://twitter.com/meyerweb">Eric A. Meyer</a><br />
<a href="http://twitter.com/codinghorror">Jeff Atwood</a><br />
<a href="http://twitter.com/spolsky">Joel Spolsky</a><br />
<a href="http://twitter.com/mollydotcom">Molly E. Holzschlag</a><br />
<a href="http://twitter.com/elijahmanor">Elijah Manor</a><br />
<a href="http://twitter.com/rasmus">Rasmus Lerdorf</a><br />
<a href="http://twitter.com/jasonfried">Jason Fried</a><br />
<a href="http://twitter.com/wefollow">wefollow</a><br />
<a href="http://twitter.com/shanselman">Scott Hanselman</a><br />
<a href="http://twitter.com/timoreilly">Tim O&#8217;Reilly</a></p></blockquote>
<p>Followers of <a href="http://twitter.com/chrisblizzard">Chris Blizzard</a> (Mozilla) might like:</p>
<blockquote><p><a href="http://twitter.com/beltzner">Mike Beltzner</a><br />
<a href="http://twitter.com/shaver">Mike Shaver</a><br />
<a href="http://twitter.com/johnolilly">John Lilly</a><br />
<a href="http://twitter.com/MitchellBaker">MitchellBaker</a><br />
<a href="http://twitter.com/joedrew">Joe Drew</a><br />
<a href="http://twitter.com/mconnor">Mike Connor</a><br />
<a href="http://twitter.com/gen">Gen Kanai</a><br />
<a href="http://twitter.com/johnath">J Nightingale</a><br />
<a href="http://twitter.com/BarackObama">Barack Obama</a><br />
<a href="http://twitter.com/google">A Googler</a></p></blockquote>
<p>Etc&#8230;</p>
<p>Currently, my script takes about an hour to generate a list of suggestions based on a single person, but most of that time is just sleeping so that it doesn&#8217;t slam the Twitter API.  I really wish this was something that was built in to Twitter.  It wouldn&#8217;t need to list similar people for everyone, maybe just popular members.  It could then combine these similar people list based on who you&#8217;re following to give you a quick set of suggestions.</p>
<hr /><a name="f_597_1"></a>1 &#8211; I&#8217;m not planning on publishing this script.  It&#8217;s pretty basic and I think anyone that could get it working for them would have more fun writing their own version.  If for some reason, you really want a copy, let me know.</p>
<p><a name="f_597_2"></a>2 &#8211; The scoring doesn&#8217;t have to be linear (one follow = one vote).  I&#8217;m using something like <em>1 / number_of_follows</em> to as the value of the vote.  That way, people who distribute their attention by following a lot of others have less of a vote than people with a more limited list.  There&#8217;s still room for improvement here.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apejet.org/aaron/blog/2009/06/21/twitter-recommendation-engine/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tweet Tweet</title>
		<link>http://www.apejet.org/aaron/blog/2009/02/16/tweet-tweet/</link>
		<comments>http://www.apejet.org/aaron/blog/2009/02/16/tweet-tweet/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 21:59:42 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
				<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.apejet.org/aaron/blog/?p=591</guid>
		<description><![CDATA[I&#8217;m posting to twitter.com a lot more than I&#8217;m posting here, so I&#8217;ve created a sidebar to show my current tweet.  Check it out in the top right corner of this page.  Click the text to be taken to my twitter account.  If you&#8217;re interested in the code that generates the message, head on over [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m posting to <a href="http://twitter.com">twitter.com</a> a lot more than I&#8217;m posting here, so I&#8217;ve created a sidebar to show my current tweet.  Check it out in the top right corner of this page.  Click the text to be taken to my twitter account.  If you&#8217;re interested in the code that generates the message, head on over to my <a href="/aaron/code/twitter/">twitter code</a> page.</p>
<p>I also spent most of this moring upgrading my WordPress install.  (WordPress is the software that I use to run my blog.)  I doubt that this means that I&#8217;ll be posting a whole lot more, but you never know.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apejet.org/aaron/blog/2009/02/16/tweet-tweet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Benchmarking Firefox 3.1 Beta 1</title>
		<link>http://www.apejet.org/aaron/blog/2008/10/15/benchmarking-firefox-31-beta-1/</link>
		<comments>http://www.apejet.org/aaron/blog/2008/10/15/benchmarking-firefox-31-beta-1/#comments</comments>
		<pubDate>Wed, 15 Oct 2008 15:00:29 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
				<category><![CDATA[computers]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.apejet.org/aaron/blog/?p=590</guid>
		<description><![CDATA[Using the same benchmark that I used earlier this month, I decided to test out the new Firefox 3.1 Beta 1.  The beta includes a new &#8220;super-fast JavaScript engine&#8221; called TraceMonkey.  I ran my benchmark both with and without TraceMonkey enabled (javascript.options.jit.content=true) and here are my results.



Firefox 3.1b1 jit disabled (Mac)
1108


Firefox 3.1b1 jit enabled (Mac)
2158


Firefox [...]]]></description>
			<content:encoded><![CDATA[<p>Using the same benchmark that I used <a href="http://www.apejet.org/aaron/blog/2008/10/04/browser-benchmarking-using-go-game/">earlier this month</a>, I decided to test out the new <a href="http://blog.mozilla.com/blog/2008/10/14/firefox-31-beta-1-now-available-for-download/">Firefox 3.1 Beta 1</a>.  The beta includes a new &#8220;<a href="http://developer.mozilla.org/web-tech/2008/10/14/firefox-31-beta-1-an-overview-of-features-for-web-developers/">super-fast JavaScript engine</a>&#8221; called <a href="https://wiki.mozilla.org/JavaScript:TraceMonkey">TraceMonkey</a>.  I ran my benchmark both with and without TraceMonkey enabled (javascript.options.jit.content=true) and here are my results.</p>
<table border="1">
<tbody>
<tr style="background-color:#bfb">
<td>Firefox 3.1b1 jit disabled (Mac)</td>
<td>1108</td>
</tr>
<tr>
<td>Firefox 3.1b1 jit <strong>enabled</strong> (Mac)</td>
<td>2158</td>
</tr>
<tr style="background-color:#bfb">
<td>Firefox 3.1b1 jit disabled (Win)</td>
<td>642</td>
</tr>
<tr>
<td>Firefox 3.1b1 jit <strong>enabled</strong> (Win)</td>
<td>1444</td>
</tr>
</tbody>
</table>
<p>Once again, lower is better.  I don&#8217;t know why, but TraceMonkey is clearly slower here (about half speed!) making it one of the slowest browsers I&#8217;ve tested.  Maybe it&#8217;s something odd about my test setup.  The first two runs are on my Mac Mini running Mac OS X v10.5.5, 1.83 GHz Intel Core 2 Duo, 1 GB 667 MHz DDR2 SDRAM, and the last two are on my Windows Box running Windows Vista SP1 64bit, Intel Core2 Duo 3.0 GHz, 4GB RAM.</p>
<p>On the bright side, this beta is slightly faster than Firefox 3.0.3 when TraceMonkey is disabled.  Hopefully this test doesn&#8217;t indicate the results we&#8217;ll se in the final version of Firefox 3.1.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.apejet.org/aaron/blog/2008/10/15/benchmarking-firefox-31-beta-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
