<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>random($foo)</title>
    <link>http://randomfoo.net/</link>
    <description>Now with permalinks!</description>
    <language>en-us</language>
    <generator>Twine</generator>
    <image>
      <url>http://randomfoo.net/style/rf.gif</url>
      <title>random($foo)</title>
      <link>http://randomfoo.net/</link>
    </image>
    <geo:lat>37.74873</geo:lat><geo:long>-122.415457</geo:long><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/randomfoo" type="application/rss+xml" /><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site.</feedburner:browserFriendly><item><title>Keyboard Cleaner - plok [del.icio.us]</title><link>http://feeds.feedburner.com/~r/randomfoo/~3/289248411/48-Keyboard-Cleaner.html</link><category>application freeware keyboard maintenance osx software</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">lhl</dc:creator><pubDate>Tue, 13 May 2008 02:10:57 -0500</pubDate><guid isPermaLink="false">http://jan.prima.de/~jan/plok/archives/48-Keyboard-Cleaner.html</guid><description>&amp;quot;I created Keyboard Cleaner. It comes in handy when you want to clean your keyboard, but you are afraid you might trigger a command or change or delete some of your current work beyond repair and undo.&amp;quot;&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/289248411" height="1" width="1"/&gt;</description><taxo:topics xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
  <rdf:Bag xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:li resource="http://del.icio.us/tag/application" />
    <rdf:li resource="http://del.icio.us/tag/osx" />
    <rdf:li resource="http://del.icio.us/tag/freeware" />
    <rdf:li resource="http://del.icio.us/tag/keyboard" />
    <rdf:li resource="http://del.icio.us/tag/maintenance" />
    <rdf:li resource="http://del.icio.us/tag/software" />
  </rdf:Bag>
</taxo:topics><feedburner:origLink>http://jan.prima.de/~jan/plok/archives/48-Keyboard-Cleaner.html</feedburner:origLink></item><item><title>Sad Trombone [del.icio.us]</title><link>http://feeds.feedburner.com/~r/randomfoo/~3/289237874/</link><category>awesome, funny, sad single sound, trombone use,</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">lhl</dc:creator><pubDate>Tue, 13 May 2008 01:49:40 -0500</pubDate><guid isPermaLink="false">http://www.sadtrombone.com/</guid><description>best. website. ever.&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/289237874" height="1" width="1"/&gt;</description><taxo:topics xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
  <rdf:Bag xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:li resource="http://del.icio.us/tag/awesome%2C" />
    <rdf:li resource="http://del.icio.us/tag/single" />
    <rdf:li resource="http://del.icio.us/tag/use%2C" />
    <rdf:li resource="http://del.icio.us/tag/sound%2C" />
    <rdf:li resource="http://del.icio.us/tag/funny%2C" />
    <rdf:li resource="http://del.icio.us/tag/sad" />
    <rdf:li resource="http://del.icio.us/tag/trombone" />
  </rdf:Bag>
</taxo:topics><feedburner:origLink>http://www.sadtrombone.com/</feedburner:origLink></item><item><title>Khoi Vinh -- Talk to the Newsroom -- The New York Times -- Reader Questions and Answers - New York Times [del.icio.us]</title><link>http://feeds.feedburner.com/~r/randomfoo/~3/289237875/21askthetimes.html</link><category>design toread webdesign</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">lhl</dc:creator><pubDate>Tue, 13 May 2008 01:44:55 -0500</pubDate><guid isPermaLink="false">http://www.nytimes.com/2008/04/21/business/media/21askthetimes.html?_r=1&amp;pagewanted=2&amp;pagewanted=all&amp;oref=slogin</guid><description>&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/289237875" height="1" width="1"/&gt;</description><taxo:topics xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
  <rdf:Bag xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:li resource="http://del.icio.us/tag/toread" />
    <rdf:li resource="http://del.icio.us/tag/design" />
    <rdf:li resource="http://del.icio.us/tag/webdesign" />
  </rdf:Bag>
</taxo:topics><feedburner:origLink>http://www.nytimes.com/2008/04/21/business/media/21askthetimes.html?_r=1&amp;pagewanted=2&amp;pagewanted=all&amp;oref=slogin</feedburner:origLink></item><item><title>Where is the path (or street) - demo of OS OpenSpace API [del.icio.us]</title><link>http://feeds.feedburner.com/~r/randomfoo/~3/289166714/wheresthepath.htm</link><category>api geo maps uk</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">lhl</dc:creator><pubDate>Mon, 12 May 2008 23:10:24 -0500</pubDate><guid isPermaLink="false">http://wheresthepath.googlepages.com/wheresthepath.htm</guid><description>The Ordnance Survey (official British mapping people) have opened up a lot of good maps in the UK.  Here's a comparison of their maps vs GMaps.  Impressive especially as you zoom in&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/289166714" height="1" width="1"/&gt;</description><taxo:topics xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
  <rdf:Bag xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:li resource="http://del.icio.us/tag/uk" />
    <rdf:li resource="http://del.icio.us/tag/maps" />
    <rdf:li resource="http://del.icio.us/tag/geo" />
    <rdf:li resource="http://del.icio.us/tag/api" />
  </rdf:Bag>
</taxo:topics><feedburner:origLink>http://wheresthepath.googlepages.com/wheresthepath.htm</feedburner:origLink></item><item><title>Focation@Saigon [del.icio.us]</title><link>http://feeds.feedburner.com/~r/randomfoo/~3/289157521/</link><category>geo international maps web2.0</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">lhl</dc:creator><pubDate>Mon, 12 May 2008 23:03:34 -0500</pubDate><guid isPermaLink="false">http://www.focation.com/sg/</guid><description>User-contributed maps for Vietnam w/ some interesting features (heatmappy POI grouping for example, very, very liberal contribution model - cultural differences?) -- definitely lots of opportunities for mapping in Asia...&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/289157521" height="1" width="1"/&gt;</description><taxo:topics xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
  <rdf:Bag xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:li resource="http://del.icio.us/tag/maps" />
    <rdf:li resource="http://del.icio.us/tag/geo" />
    <rdf:li resource="http://del.icio.us/tag/international" />
    <rdf:li resource="http://del.icio.us/tag/web2.0" />
  </rdf:Bag>
</taxo:topics><feedburner:origLink>http://www.focation.com/sg/</feedburner:origLink></item><item><title>Concharto - Home [del.icio.us]</title><link>http://feeds.feedburner.com/~r/randomfoo/~3/289157522/home.htm</link><category>geo history maps temporal wiki</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">lhl</dc:creator><pubDate>Mon, 12 May 2008 22:58:21 -0500</pubDate><guid isPermaLink="false">http://www.concharto.com/home.htm</guid><description>a geowiki (w/ diffs!).  pretty nice.  &amp;quot;Concharto is an encyclopedic atlas of history and happenings that anyone can edit. It is a geographic wiki.&amp;quot;&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/289157522" height="1" width="1"/&gt;</description><taxo:topics xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
  <rdf:Bag xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:li resource="http://del.icio.us/tag/wiki" />
    <rdf:li resource="http://del.icio.us/tag/maps" />
    <rdf:li resource="http://del.icio.us/tag/history" />
    <rdf:li resource="http://del.icio.us/tag/temporal" />
    <rdf:li resource="http://del.icio.us/tag/geo" />
  </rdf:Bag>
</taxo:topics><feedburner:origLink>http://www.concharto.com/home.htm</feedburner:origLink></item><item><title>Remix - remix.nin.com [del.icio.us]</title><link>http://feeds.feedburner.com/~r/randomfoo/~3/288430071/</link><category>awesome collaboration community mashup mp3 music nin remix</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">lhl</dc:creator><pubDate>Sun, 11 May 2008 23:01:56 -0500</pubDate><guid isPermaLink="false">http://remix.nin.com/</guid><description>This and the new release of Slip (CC BY-NC-SA) in V0, FLAC, and 24/96 WAV (!) are ... well, awesome.&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/288430071" height="1" width="1"/&gt;</description><taxo:topics xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
  <rdf:Bag xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:li resource="http://del.icio.us/tag/nin" />
    <rdf:li resource="http://del.icio.us/tag/music" />
    <rdf:li resource="http://del.icio.us/tag/remix" />
    <rdf:li resource="http://del.icio.us/tag/mp3" />
    <rdf:li resource="http://del.icio.us/tag/mashup" />
    <rdf:li resource="http://del.icio.us/tag/collaboration" />
    <rdf:li resource="http://del.icio.us/tag/community" />
    <rdf:li resource="http://del.icio.us/tag/awesome" />
  </rdf:Bag>
</taxo:topics><feedburner:origLink>http://remix.nin.com/</feedburner:origLink></item><item>
      <title>Catching Up On Reading</title>
      <link>http://feeds.feedburner.com/~r/randomfoo/~3/287363116/4180</link>
      <description>&lt;p&gt;In between the projects and mini-projects, I've also begun to do some catching up on reading.  Carrying around a book everywhere and taking lots of public transportation has helped tremendously in that regard.  I started with Shirky's &lt;a href="http://www.herecomeseverybody.org/"&gt;Here Comes Everybody&lt;/a&gt; a few weeks ago, just finished Weinberger's &lt;a href="http://www.everythingismiscellaneous.com/"&gt;Everything Is Miscellaneous&lt;/a&gt; (that's been sitting around since his original book tour when he came to Yahoo!) and polished off Cory's new YA novel &lt;a href="http://craphound.com/littlebrother/"&gt;Little Brother&lt;/a&gt; in a single sitting (what's so compelling and chilling is the realization that we're about half-a-step away from a sort of grim-meathookiness.  It gave me more of an appreciation of the fiction coming out of the 80s).  And I'm now starting &lt;a href="http://www.alexwright.org/glut/"&gt;Glut&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;One thing that's interesting is that all these books have related/complementary media (podcasts, talks, etc.) attached to them (and all worth the time spent, I'd say, particularly &lt;a href="http://youtube.com/watch?v=72nfrhXroo8"&gt;Alex Wright's Web That Wasn't&lt;/a&gt; presentation).  Now, obviously anyone who's done much &lt;a href="http://en.wikipedia.org/wiki/Special:Randompage"&gt;spelunking on Wikipedia&lt;/a&gt; (lately, I've begun doing a bit of random clicking around on &lt;a href="http://slideshare.net/"&gt;Slideshare&lt;/a&gt; as well), or you know, random Internet browsing can tell you there's a lot of "stuff" out there.  However, I thought I'd share a list of some of the more useful/structured resources I've found (online video, lectures, etc):&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://www.youtube.com/user/googletechtalks"&gt;Google Tech Talks&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://www.ted.com/talks"&gt;TED Talks&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://www.longnow.org/projects/seminars/" rel="nofollow"&gt;Long Now Seminars&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://www.edge.org/"&gt;Edge&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://www.ocwconsortium.org/index.php?option=com_content&amp;task=view&amp;id=12&amp;Itemid=26"&gt;Open CourseWare&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://ocw.mit.edu/"&gt;MIT OCW&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://stanfordocw.org/"&gt;Stanford OCW&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://technetcast.ddj.com/"&gt;Dr. Dobb's TechNetCast&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://itc.conversationsnetwork.org/"&gt;IT Conversations&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://developer.yahoo.net/blogs/theater/"&gt;YDN Theater&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://www.apple.com/itunesu/"&gt;iTunesU&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This post sort of got kicked off while I was watching this very engaging recent talk (&lt;a href="http://interimlover.livejournal.com/531005.html"&gt;via&lt;/a&gt;) that I can't favorite because YouTube still has a 500-favorite limit (now below &lt;a href="http://randomfoo.net/blog/id/4137"&gt;0.6 favs/day&lt;/a&gt;):&lt;/p&gt;

&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/IK1nMQq67VI&amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/IK1nMQq67VI&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/287363116" height="1" width="1"/&gt;</description>
      <pubDate>Sat, 10 May 2008 00:12:45 -0700</pubDate>
      <guid isPermaLink="false">http://randomfoo.net/blog/id/4180</guid>
    <feedburner:origLink>http://randomfoo.net/blog/id/4180</feedburner:origLink></item>
    <item><title>prspammers wiki [del.icio.us]</title><link>http://feeds.feedburner.com/~r/randomfoo/~3/287251907/</link><category>collaboration pr spam wiki</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">lhl</dc:creator><pubDate>Fri, 09 May 2008 21:55:10 -0500</pubDate><guid isPermaLink="false">http://prspammers.pbwiki.com/</guid><description>Yay Gina! &amp;quot;In the spirit of sharing, here's a current list of PR companies who have sent me unsolicited (and almost always irrelevant) product pitches.  Please add your own.&amp;quot;&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/287251907" height="1" width="1"/&gt;</description><taxo:topics xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
  <rdf:Bag xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:li resource="http://del.icio.us/tag/spam" />
    <rdf:li resource="http://del.icio.us/tag/pr" />
    <rdf:li resource="http://del.icio.us/tag/wiki" />
    <rdf:li resource="http://del.icio.us/tag/collaboration" />
  </rdf:Bag>
</taxo:topics><feedburner:origLink>http://prspammers.pbwiki.com/</feedburner:origLink></item><item>
      <title>May 2008 Mix</title>
      <link>http://feeds.feedburner.com/~r/randomfoo/~3/286546292/4178</link>
      <description>&lt;p&gt;It's been a good couple months for music.  Sometimes mixes don't really have a name or a theme.  Here's some stuff I've been digging lately.  43 minutes.&lt;/p&gt;

&lt;p&gt;Oh yeah, trying &lt;a href="http://schillmania.com/"&gt;Schiller&lt;/a&gt;'s latest &lt;a href="http://www.schillmania.com/projects/soundmanager2/"&gt;SoundManager 2&lt;/a&gt; release (mostly based off of &lt;a href="http://www.schillmania.com/projects/soundmanager2/demo/play-mp3-links/"&gt;the inline player&lt;/a&gt;) and some &lt;a href="http://jabba.randomfoo.net/svn/showfile.svn?name=public&amp;revision=HEAD&amp;path=%2Fprojects%2Fcurrent%2Fwww%2Frandomfoo.net%2Fscripts%2Fpostamix%2Fpostamix.py"&gt;custom posting code&lt;/a&gt;. (&lt;a href="http://www.mixwit.com/"&gt;Mixwit&lt;/a&gt; doesn't seem to have an API?)&lt;/p&gt;

&lt;ul class="playlist"&gt;
&lt;li&gt;&lt;a href="http://randomfoo.net/junk/200805/mix/01%20-%20Martina%20Topley%20Bird%20-%20Phoenix.mp3"&gt;01&lt;/a&gt; - &lt;a href="http://www.last.fm/music/Martina+Topley+Bird"&gt;Martina Topley Bird&lt;/a&gt; - &lt;a href="http://www.last.fm/music/Martina+Topley+Bird/_/Phoenix"&gt;Phoenix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://randomfoo.net/junk/200805/mix/02%20-%20Zeigeist%20-%20Bunny.mp3"&gt;02&lt;/a&gt; - &lt;a href="http://www.last.fm/music/Zeigeist"&gt;Zeigeist&lt;/a&gt; - &lt;a href="http://www.last.fm/music/Zeigeist/_/Bunny"&gt;Bunny&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://randomfoo.net/junk/200805/mix/03%20-%20Santogold%20-%20You%27ll%20Find%20A%20Way%20%28Switch%20%26%20Sinden%20Remix%29.mp3"&gt;03&lt;/a&gt; - &lt;a href="http://www.last.fm/music/Santogold"&gt;Santogold&lt;/a&gt; - &lt;a href="http://www.last.fm/music/Santogold/_/You%2527ll%2BFind%2BA%2BWay%2B%2528Switch%2B%2526%2BSinden%2BRemix%2529"&gt;You'll Find A Way (Switch &amp; Sinden Remix)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://randomfoo.net/junk/200805/mix/04%20-%20Hadouken%21%20-%20Declaration%20Of%20War.mp3"&gt;04&lt;/a&gt; - &lt;a href="http://www.last.fm/music/Hadouken%21"&gt;Hadouken!&lt;/a&gt; - &lt;a href="http://www.last.fm/music/Hadouken%21/_/Declaration+Of+War"&gt;Declaration Of War&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://randomfoo.net/junk/200805/mix/05%20-%20Styrofoam%20-%20A%20Thousand%20Words.mp3"&gt;05&lt;/a&gt; - &lt;a href="http://www.last.fm/music/Styrofoam"&gt;Styrofoam&lt;/a&gt; - &lt;a href="http://www.last.fm/music/Styrofoam/_/A+Thousand+Words"&gt;A Thousand Words&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://randomfoo.net/junk/200805/mix/06%20-%20The%20Notwist%20-%20Gloomy%20Planets.mp3"&gt;06&lt;/a&gt; - &lt;a href="http://www.last.fm/music/The+Notwist"&gt;The Notwist&lt;/a&gt; - &lt;a href="http://www.last.fm/music/The+Notwist/_/Gloomy+Planets"&gt;Gloomy Planets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://randomfoo.net/junk/200805/mix/07%20-%20The%20Bird%20And%20The%20Bee%20-%20Birthday.mp3"&gt;07&lt;/a&gt; - &lt;a href="http://www.last.fm/music/The+Bird+And+The+Bee"&gt;The Bird And The Bee&lt;/a&gt; - &lt;a href="http://www.last.fm/music/The+Bird+And+The+Bee/_/Birthday"&gt;Birthday&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://randomfoo.net/junk/200805/mix/08%20-%20The%20Paper%20Cranes%20-%20100%20Years%20War.mp3"&gt;08&lt;/a&gt; - &lt;a href="http://www.last.fm/music/The+Paper+Cranes"&gt;The Paper Cranes&lt;/a&gt; - &lt;a href="http://www.last.fm/music/The+Paper+Cranes/_/100+Years+War"&gt;100 Years War&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://randomfoo.net/junk/200805/mix/09%20-%20Wolf%20Parade%20-%20The%20Grey%20Estates.mp3"&gt;09&lt;/a&gt; - &lt;a href="http://www.last.fm/music/Wolf+Parade"&gt;Wolf Parade&lt;/a&gt; - &lt;a href="http://www.last.fm/music/Wolf+Parade/_/The+Grey+Estates"&gt;The Grey Estates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://randomfoo.net/junk/200805/mix/10%20-%20Murder%20By%20Death%20-%20A%20Second%20Opinion.mp3"&gt;10&lt;/a&gt; - &lt;a href="http://www.last.fm/music/Murder+By+Death"&gt;Murder By Death&lt;/a&gt; - &lt;a href="http://www.last.fm/music/Murder+By+Death/_/A+Second+Opinion"&gt;A Second Opinion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://randomfoo.net/junk/200805/mix/11%20-%20Cloud%20Cult%20-%20Love%20You%20All.mp3"&gt;11&lt;/a&gt; - &lt;a href="http://www.last.fm/music/Cloud+Cult"&gt;Cloud Cult&lt;/a&gt; - &lt;a href="http://www.last.fm/music/Cloud+Cult/_/Love+You+All"&gt;Love You All&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://randomfoo.net/junk/200805/mix/12%20-%20Chris%20Walla%20-%20A%20Bird%20Is%20A%20Song.mp3"&gt;12&lt;/a&gt; - &lt;a href="http://www.last.fm/music/Chris+Walla"&gt;Chris Walla&lt;/a&gt; - &lt;a href="http://www.last.fm/music/Chris+Walla/_/A+Bird+Is+A+Song"&gt;A Bird Is A Song&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tech note: for those that are looking to use SoundManager, you might want to check out to see if you're build has the onpause handler.  If it doesn't you can add it to the SM the defaultOptions at the top and then call it in the pause() function around line 727 (just apply the onpause the same way the onstop above it is applied).&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/286546292" height="1" width="1"/&gt;</description>
      <pubDate>Thu, 08 May 2008 20:39:32 -0700</pubDate>
      <guid isPermaLink="false">http://randomfoo.net/blog/id/4178</guid>
    <feedburner:origLink>http://randomfoo.net/blog/id/4178</feedburner:origLink></item>
    <item><title>The Guardian wants you to play GTA IV. Destructoid offers reviews, previews, trailers, cheats, and more. [del.icio.us]</title><link>http://feeds.feedburner.com/~r/randomfoo/~3/286524274/the-guardian-wants-you-to-play-gta-iv-84623.phtml</link><category>gaming newmedia society</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">lhl</dc:creator><pubDate>Thu, 08 May 2008 21:57:52 -0500</pubDate><guid isPermaLink="false">http://www.destructoid.com/the-guardian-wants-you-to-play-gta-iv-84623.phtml</guid><description>The Guardian is a British newspaper which has now run its third pro-gaming piece of recent weeks.&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/286524274" height="1" width="1"/&gt;</description><taxo:topics xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
  <rdf:Bag xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:li resource="http://del.icio.us/tag/gaming" />
    <rdf:li resource="http://del.icio.us/tag/newmedia" />
    <rdf:li resource="http://del.icio.us/tag/society" />
  </rdf:Bag>
</taxo:topics><feedburner:origLink>http://www.destructoid.com/the-guardian-wants-you-to-play-gta-iv-84623.phtml</feedburner:origLink></item><item><title>A Universal Messaging Hub « The Abstract Truth [del.icio.us]</title><link>http://feeds.feedburner.com/~r/randomfoo/~3/286524275/</link><category>architecture brokering data decentralization saas twitter</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">lhl</dc:creator><pubDate>Thu, 08 May 2008 21:56:12 -0500</pubDate><guid isPermaLink="false">http://theabstracttruth.wordpress.com/2008/04/14/a-universal-messaging-hub/</guid><description>In conjunction with complex-event processing systems, message switching will have a revolutionary impact on the efficiency of distribution and delivery of real-time data around the web.&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/286524275" height="1" width="1"/&gt;</description><taxo:topics xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
  <rdf:Bag xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:li resource="http://del.icio.us/tag/architecture" />
    <rdf:li resource="http://del.icio.us/tag/saas" />
    <rdf:li resource="http://del.icio.us/tag/decentralization" />
    <rdf:li resource="http://del.icio.us/tag/brokering" />
    <rdf:li resource="http://del.icio.us/tag/twitter" />
    <rdf:li resource="http://del.icio.us/tag/data" />
  </rdf:Bag>
</taxo:topics><feedburner:origLink>http://theabstracttruth.wordpress.com/2008/04/14/a-universal-messaging-hub/</feedburner:origLink></item><item><title>one small voice » Microblogging Over XMPP [del.icio.us]</title><link>http://feeds.feedburner.com/~r/randomfoo/~3/286524276/</link><category>architecture decentralized jabber twitter xmpp</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">lhl</dc:creator><pubDate>Thu, 08 May 2008 21:54:28 -0500</pubDate><guid isPermaLink="false">http://stpeter.im/?p=2196</guid><description>There’s been plenty of talk recently about using XMPP to build a decentralized microblogging platform (think Twitter busted apart to run as a distributed network of microblogging providers). Indeed, as Bob Wyman points out, we have all the pieces&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/286524276" height="1" width="1"/&gt;</description><taxo:topics xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
  <rdf:Bag xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:li resource="http://del.icio.us/tag/twitter" />
    <rdf:li resource="http://del.icio.us/tag/xmpp" />
    <rdf:li resource="http://del.icio.us/tag/jabber" />
    <rdf:li resource="http://del.icio.us/tag/decentralized" />
    <rdf:li resource="http://del.icio.us/tag/architecture" />
  </rdf:Bag>
</taxo:topics><feedburner:origLink>http://stpeter.im/?p=2196</feedburner:origLink></item><item><title>XEP-0060: Publish-Subscribe [del.icio.us]</title><link>http://feeds.feedburner.com/~r/randomfoo/~3/286524277/xep-0060.html</link><category>pubsub reference twitter xmpp</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">lhl</dc:creator><pubDate>Thu, 08 May 2008 21:53:25 -0500</pubDate><guid isPermaLink="false">http://www.xmpp.org/extensions/xep-0060.html</guid><description>This specification defines an XMPP protocol extension for generic publish-subscribe functionality. The protocol enables XMPP entities to create nodes (topics) at a pubsub service and publish information at those nodes; an event notification (with or witho&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/286524277" height="1" width="1"/&gt;</description><taxo:topics xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
  <rdf:Bag xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:li resource="http://del.icio.us/tag/reference" />
    <rdf:li resource="http://del.icio.us/tag/pubsub" />
    <rdf:li resource="http://del.icio.us/tag/xmpp" />
    <rdf:li resource="http://del.icio.us/tag/twitter" />
  </rdf:Bag>
</taxo:topics><feedburner:origLink>http://www.xmpp.org/extensions/xep-0060.html</feedburner:origLink></item><item><title>Transporting Atom Notifications over the Extensible Messaging and Presence Protocol (XMPP) [del.icio.us]</title><link>http://feeds.feedburner.com/~r/randomfoo/~3/286524278/draft-saintandre-atompub-notify-06.html</link><category>atom twitter xmpp</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">lhl</dc:creator><pubDate>Thu, 08 May 2008 21:52:54 -0500</pubDate><guid isPermaLink="false">http://www.xmpp.org/internet-drafts/draft-saintandre-atompub-notify-06.html</guid><description>Transporting Atom Notifications over the Extensible Messaging and Presence Protocol (XMPP)&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/286524278" height="1" width="1"/&gt;</description><taxo:topics xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
  <rdf:Bag xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:li resource="http://del.icio.us/tag/xmpp" />
    <rdf:li resource="http://del.icio.us/tag/atom" />
    <rdf:li resource="http://del.icio.us/tag/twitter" />
  </rdf:Bag>
</taxo:topics><feedburner:origLink>http://www.xmpp.org/internet-drafts/draft-saintandre-atompub-notify-06.html</feedburner:origLink></item><item><title>Twitter Can Be Liberated - Here’s How [del.icio.us]</title><link>http://feeds.feedburner.com/~r/randomfoo/~3/286524279/</link><category>architecture decentralized distribution twitter xmpp</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">lhl</dc:creator><pubDate>Thu, 08 May 2008 21:52:13 -0500</pubDate><guid isPermaLink="false">http://www.techcrunch.com/2008/05/05/twitter-can-be-liberated-heres-how/</guid><description>decentralizing statuscasting...&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/286524279" height="1" width="1"/&gt;</description><taxo:topics xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
  <rdf:Bag xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:li resource="http://del.icio.us/tag/architecture" />
    <rdf:li resource="http://del.icio.us/tag/twitter" />
    <rdf:li resource="http://del.icio.us/tag/xmpp" />
    <rdf:li resource="http://del.icio.us/tag/distribution" />
    <rdf:li resource="http://del.icio.us/tag/decentralized" />
  </rdf:Bag>
</taxo:topics><feedburner:origLink>http://www.techcrunch.com/2008/05/05/twitter-can-be-liberated-heres-how/</feedburner:origLink></item><item><title>Consola - The Open Source Bluetooth Proximity Media Server [del.icio.us]</title><link>http://feeds.feedburner.com/~r/randomfoo/~3/286510795/</link><category>bluetooth mac mobile software</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">lhl</dc:creator><pubDate>Thu, 08 May 2008 21:11:40 -0500</pubDate><guid isPermaLink="false">http://www.consola.org/</guid><description>&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/286510795" height="1" width="1"/&gt;</description><taxo:topics xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
  <rdf:Bag xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:li resource="http://del.icio.us/tag/bluetooth" />
    <rdf:li resource="http://del.icio.us/tag/mac" />
    <rdf:li resource="http://del.icio.us/tag/software" />
    <rdf:li resource="http://del.icio.us/tag/mobile" />
  </rdf:Bag>
</taxo:topics><feedburner:origLink>http://www.consola.org/</feedburner:origLink></item><item><title>Jabberwocky [del.icio.us]</title><link>http://feeds.feedburner.com/~r/randomfoo/~3/286510796/info.htm</link><category>application bluetooth location mobile mososo presence socialsoftware technology</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">lhl</dc:creator><pubDate>Thu, 08 May 2008 21:11:03 -0500</pubDate><guid isPermaLink="false">http://www.urban-atmospheres.net/Jabberwocky/info.htm</guid><description>Jabberwocky is a freely available mobile phone application designed to promote urban community connections and a sense of familiarity, anxiety, and play in public urban places.&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/286510796" height="1" width="1"/&gt;</description><taxo:topics xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
  <rdf:Bag xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:li resource="http://del.icio.us/tag/application" />
    <rdf:li resource="http://del.icio.us/tag/bluetooth" />
    <rdf:li resource="http://del.icio.us/tag/presence" />
    <rdf:li resource="http://del.icio.us/tag/mobile" />
    <rdf:li resource="http://del.icio.us/tag/location" />
    <rdf:li resource="http://del.icio.us/tag/socialsoftware" />
    <rdf:li resource="http://del.icio.us/tag/mososo" />
    <rdf:li resource="http://del.icio.us/tag/technology" />
  </rdf:Bag>
</taxo:topics><feedburner:origLink>http://www.urban-atmospheres.net/Jabberwocky/info.htm</feedburner:origLink></item><item><title>Hackety Hack: the Coder's Starter Kit [del.icio.us]</title><link>http://feeds.feedburner.com/~r/randomfoo/~3/286510797/</link><category>awesome code coding education kids learning programming ruby</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">lhl</dc:creator><pubDate>Thu, 08 May 2008 21:10:18 -0500</pubDate><guid isPermaLink="false">http://hacketyhack.net/</guid><description>One of Hackety Hack's sincere pledges is to make the most common code very easy and short. Downloading an MP3 should be one line of code. A blog should be very few.&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/286510797" height="1" width="1"/&gt;</description><taxo:topics xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
  <rdf:Bag xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:li resource="http://del.icio.us/tag/awesome" />
    <rdf:li resource="http://del.icio.us/tag/coding" />
    <rdf:li resource="http://del.icio.us/tag/education" />
    <rdf:li resource="http://del.icio.us/tag/programming" />
    <rdf:li resource="http://del.icio.us/tag/kids" />
    <rdf:li resource="http://del.icio.us/tag/learning" />
    <rdf:li resource="http://del.icio.us/tag/code" />
    <rdf:li resource="http://del.icio.us/tag/ruby" />
  </rdf:Bag>
</taxo:topics><feedburner:origLink>http://hacketyhack.net/</feedburner:origLink></item><item><title>hackety org » The Tiny And Accomplished Lew [del.icio.us]</title><link>http://feeds.feedburner.com/~r/randomfoo/~3/286502495/theTinyAndAccomplishedLew.html</link><category>documentation lua tool visualization</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">lhl</dc:creator><pubDate>Thu, 08 May 2008 21:09:28 -0500</pubDate><guid isPermaLink="false">http://hackety.org/2008/03/04/theTinyAndAccomplishedLew.html</guid><description>LEW is an art tool which embeds the Lua language and it’s inspired by (you guessed it) NodeBox and Processing. And BASIC. The gallery is incredibly impressive. And equally impressive is the brevity and usefulness of its manual.&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/286502495" height="1" width="1"/&gt;</description><taxo:topics xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
  <rdf:Bag xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:li resource="http://del.icio.us/tag/lua" />
    <rdf:li resource="http://del.icio.us/tag/visualization" />
    <rdf:li resource="http://del.icio.us/tag/tool" />
    <rdf:li resource="http://del.icio.us/tag/documentation" />
  </rdf:Bag>
</taxo:topics><feedburner:origLink>http://hackety.org/2008/03/04/theTinyAndAccomplishedLew.html</feedburner:origLink></item><item><title>Publisher Tested the Waters Online, Then Dove In - New York Times [del.icio.us]</title><link>http://feeds.feedburner.com/~r/randomfoo/~3/286502498/05idg.html</link><category>business journalism newmedia strategy</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">lhl</dc:creator><pubDate>Thu, 08 May 2008 21:08:23 -0500</pubDate><guid isPermaLink="false">http://www.nytimes.com/2008/05/05/business/media/05idg.html?pagewanted=1&amp;_r=1&amp;partner=rssnyt&amp;emc=rss</guid><description>Today, I.D.G. says, the InfoWorld Web site is generating ad revenue of $1.6 million a month with operating profit margins of 37 percent. A year earlier, when it had both print and online versions, InfoWorld had a slight operating loss on monthly revenue o&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/286502498" height="1" width="1"/&gt;</description><taxo:topics xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
  <rdf:Bag xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:li resource="http://del.icio.us/tag/journalism" />
    <rdf:li resource="http://del.icio.us/tag/business" />
    <rdf:li resource="http://del.icio.us/tag/strategy" />
    <rdf:li resource="http://del.icio.us/tag/newmedia" />
  </rdf:Bag>
</taxo:topics><feedburner:origLink>http://www.nytimes.com/2008/05/05/business/media/05idg.html?pagewanted=1&amp;_r=1&amp;partner=rssnyt&amp;emc=rss</feedburner:origLink></item><item><title>Brightkite: A bright future for mobile social networking? [del.icio.us]</title><link>http://feeds.feedburner.com/~r/randomfoo/~3/286502499/8301-13577_3-9937898-36.html</link><category>brightkite geo location mobile social toread</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">lhl</dc:creator><pubDate>Thu, 08 May 2008 21:06:32 -0500</pubDate><guid isPermaLink="false">http://www.news.com/8301-13577_3-9937898-36.html</guid><description>(eh)&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/286502499" height="1" width="1"/&gt;</description><taxo:topics xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
  <rdf:Bag xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:li resource="http://del.icio.us/tag/mobile" />
    <rdf:li resource="http://del.icio.us/tag/social" />
    <rdf:li resource="http://del.icio.us/tag/brightkite" />
    <rdf:li resource="http://del.icio.us/tag/location" />
    <rdf:li resource="http://del.icio.us/tag/geo" />
    <rdf:li resource="http://del.icio.us/tag/toread" />
  </rdf:Bag>
</taxo:topics><feedburner:origLink>http://www.news.com/8301-13577_3-9937898-36.html</feedburner:origLink></item><item>
      <title>Adium Productivity Tip</title>
      <link>http://feeds.feedburner.com/~r/randomfoo/~3/284286381/4177</link>
      <description>&lt;p&gt;Recently, in my quest to minimize distractions, I've been going through and ...fixing things.  First was updating my procmail and &lt;a href="http://jabba.randomfoo.net/svn/repobrowser.svn?path=/projects/current/mail/crm114/&amp;revision=HEAD&amp;name=public"&gt;my spam filtering&lt;/a&gt; so that the only mail that ends up in my Inbox is real mail. (Inbox Zero for the past month!)  And here's what I did for Adium so I could leave IM on while I was working:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/lhl/2469592740/" title="Adium Productivity Tips by lhl, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2115/2469592740_7ba1ccecf2_o.jpg" alt="Adium Productivity Tips" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Turning off dock animations (no more bounces) and hiding Adium while in the background (no more window popping) were really huge.  I also have my dock hidden, which helps as well.  (The menu bar gives me enough cues so that I can see what's going on, but that isn't too bothersome while I'm trying to work.)&lt;/p&gt;

&lt;p&gt;And of course, I have my &lt;a href="http://randomfoo.net/blog/id/4129"&gt;work.py&lt;/a&gt; script, which lays out my Terminals appropriately.  At some point I might start scripting Space switching for that, but at least right now, this seems to be working out OK.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/284286381" height="1" width="1"/&gt;</description>
      <pubDate>Mon, 05 May 2008 17:29:11 -0700</pubDate>
      <guid isPermaLink="false">http://randomfoo.net/blog/id/4177</guid>
    <feedburner:origLink>http://randomfoo.net/blog/id/4177</feedburner:origLink></item>
    <item>
      <title>Flickr Favs: Thu May 01, 2008</title>
      <link>http://feeds.feedburner.com/~r/randomfoo/~3/281522971/4176</link>
      <description>&lt;div id="flickr_favorites"&gt;

&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/joefxd/2378409976/" title="ITS PEANUT BUTTER WASHINGTON! by Joe D!"&gt;&lt;img src="http://farm3.static.flickr.com/2402/2378409976_f4c3643ecd_s.jpg" width="75" height="75" alt="ITS PEANUT BUTTER WASHINGTON! by Joe D!" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/joefxd/2378411026/" title="Geordi LaForge Washington by Joe D!"&gt;&lt;img src="http://farm3.static.flickr.com/2086/2378411026_eaef709255_s.jpg" width="75" height="75" alt="Geordi LaForge Washington by Joe D!" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/joefxd/2377574547/" title="Green Lantern Lincoln by Joe D!"&gt;&lt;img src="http://farm4.static.flickr.com/3097/2377574547_2940eb27fa_s.jpg" width="75" height="75" alt="Green Lantern Lincoln by Joe D!" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/schill/2455108236/" title="How to keep stress levels lower at work by .schill"&gt;&lt;img src="http://farm4.static.flickr.com/3220/2455108236_603f0940d3_s.jpg" width="75" height="75" alt="How to keep stress levels lower at work by .schill" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/meandmybadself/2455250678/" title="beardington. by meandmybadself"&gt;&lt;img src="http://farm3.static.flickr.com/2239/2455250678_f5b52760ae_s.jpg" width="75" height="75" alt="beardington. by meandmybadself" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/joshu/2455328085/" title="GTA IV by joshua"&gt;&lt;img src="http://farm3.static.flickr.com/2411/2455328085_4d28825e25_s.jpg" width="75" height="75" alt="GTA IV by joshua" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/jcroft/2447736763/" title="Coley, sporting the awesome Flickr hoodie by Jeff Croft"&gt;&lt;img src="http://farm3.static.flickr.com/2315/2447736763_dfcf0fcde6_s.jpg" width="75" height="75" alt="Coley, sporting the awesome Flickr hoodie by Jeff Croft" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/paulhammond/2450131816/" title="Stewart and Neb by Paul Hammond"&gt;&lt;img src="http://farm4.static.flickr.com/3296/2450131816_7c9cf89159_s.jpg" width="75" height="75" alt="Stewart and Neb by Paul Hammond" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/waxpancake/2449275501/" title="My Least Favorite New YouTube Feature by waxpancake"&gt;&lt;img src="http://farm3.static.flickr.com/2220/2449275501_f0b835b1f6_s.jpg" width="75" height="75" alt="My Least Favorite New YouTube Feature by waxpancake" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/laughingsquid/2444022098/" title="Yaayy! Surprise Buttsechs! by Laughing Squid"&gt;&lt;img src="http://farm4.static.flickr.com/3154/2444022098_9e5afee71a_s.jpg" width="75" height="75" alt="Yaayy! Surprise Buttsechs! by Laughing Squid" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/laughingsquid/2440490775/" title="Tron Guy by Laughing Squid"&gt;&lt;img src="http://farm3.static.flickr.com/2161/2440490775_4498ab06a7_s.jpg" width="75" height="75" alt="Tron Guy by Laughing Squid" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/wilson/2269348421/" title="Dry bones by wilsonminer"&gt;&lt;img src="http://farm3.static.flickr.com/2027/2269348421_4279169f1f_s.jpg" width="75" height="75" alt="Dry bones by wilsonminer" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/orrin/124040546/" title="nominal comfort by Orrin"&gt;&lt;img src="http://farm1.static.flickr.com/56/124040546_fa0d90911e_s.jpg" width="75" height="75" alt="nominal comfort by Orrin" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/doctorboogie/408917683/" title="Sea Fort 23 by doctor.boogie"&gt;&lt;img src="http://farm1.static.flickr.com/151/408917683_33093b1f48_s.jpg" width="75" height="75" alt="Sea Fort 23 by doctor.boogie" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/brennanmoore/2446724196/" title="ROFLCon by â¡Brennan Moore"&gt;&lt;img src="http://farm3.static.flickr.com/2281/2446724196_16510d68c8_s.jpg" width="75" height="75" alt="ROFLCon by â¡Brennan Moore" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/ideaconstructor/2440981145/" title="tron guy and ICHC peeps by Kate Raynes-Goldie"&gt;&lt;img src="http://farm4.static.flickr.com/3170/2440981145_1bd9f8e842_s.jpg" width="75" height="75" alt="tron guy and ICHC peeps by Kate Raynes-Goldie" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s" id="stewart_swf2439373731_div"&gt;&lt;a href="http://flickr.com/photos/fraying/2439373731/" title="Grumpy Neighbor by fraying"&gt;&lt;img src="http://farm4.static.flickr.com/3281/2439373731_62a1646388_s.jpg" width="75" height="75" alt="Grumpy Neighbor by fraying" class="pc_img" /&gt;&lt;/a&gt;&lt;a href="http://flickr.com/photos/fraying/2439373731/" class="pc_link" id="stewart_swf2439373731_trigger_a"&gt;&lt;img src="http://l.yimg.com/www.flickr.com/images/video_play_icon_small.png.v1" width="11" height="11" alt="" class="trans_png" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/russelldavies/2079059180/" title="wave by russelldavies"&gt;&lt;img src="http://farm3.static.flickr.com/2387/2079059180_1387b322e5_s.jpg" width="75" height="75" alt="wave by russelldavies" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/onderyea/2441509127/" title="- by fun house rear view mirrors"&gt;&lt;img src="http://farm4.static.flickr.com/3167/2441509127_48db6d86b7_s.jpg" width="75" height="75" alt="- by fun house rear view mirrors" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/mezzoblue/2432055584/" title="FREE strips of paper by mezzoblue"&gt;&lt;img src="http://farm4.static.flickr.com/3218/2432055584_df81148601_s.jpg" width="75" height="75" alt="FREE strips of paper by mezzoblue" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/kathleenw/2431739594/" title="Olafur Eliasson by kathleenwatkins"&gt;&lt;img src="http://farm3.static.flickr.com/2076/2431739594_2487f96295_s.jpg" width="75" height="75" alt="Olafur Eliasson by kathleenwatkins" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/nickgray/2434200018/" title="Street Art in East Village, New York City by nickgraywfu"&gt;&lt;img src="http://farm3.static.flickr.com/2156/2434200018_2131dbc716_s.jpg" width="75" height="75" alt="Street Art in East Village, New York City by nickgraywfu" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/xmaryx/2370139860/" title="Diplo by mary survive"&gt;&lt;img src="http://farm3.static.flickr.com/2185/2370139860_82f0764e99_s.jpg" width="75" height="75" alt="Diplo by mary survive" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/kingpinphoto/2357735442/" title="Diplo by kingpinphoto"&gt;&lt;img src="http://farm3.static.flickr.com/2024/2357735442_e25c7ed181_s.jpg" width="75" height="75" alt="Diplo by kingpinphoto" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/natekoechley/2422877884/" title="Building Scalable Web Sites by Cal Henderson by natekoechley"&gt;&lt;img src="http://farm3.static.flickr.com/2203/2422877884_14db60dece_s.jpg" width="75" height="75" alt="Building Scalable Web Sites by Cal Henderson by natekoechley" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/gabiporter/2424542248/" title="DSC_0175 by ballulah"&gt;&lt;img src="http://farm4.static.flickr.com/3119/2424542248_c7c0d68a8f_s.jpg" width="75" height="75" alt="DSC_0175 by ballulah" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/gabiporter/2423736471/" title="DSC_0202 by ballulah"&gt;&lt;img src="http://farm3.static.flickr.com/2155/2423736471_f5cd8814d8_s.jpg" width="75" height="75" alt="DSC_0202 by ballulah" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/timo/2423198379/" title="16 April, 15.57 by Ti.mo"&gt;&lt;img src="http://farm4.static.flickr.com/3068/2423198379_7e47963d91_s.jpg" width="75" height="75" alt="16 April, 15.57 by Ti.mo" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/kellan/2422461496/" title="One Button Deploy by kellan"&gt;&lt;img src="http://farm4.static.flickr.com/3042/2422461496_ec6d912d00_s.jpg" width="75" height="75" alt="One Button Deploy by kellan" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s" id="stewart_swf2414689585_div"&gt;&lt;a href="http://flickr.com/photos/mroth/2414689585/" title="More donut QA testing by mroth"&gt;&lt;img src="http://farm3.static.flickr.com/2317/2414689585_2f8a3cd530_s.jpg" width="75" height="75" alt="More donut QA testing by mroth" class="pc_img" /&gt;&lt;/a&gt;&lt;a href="http://flickr.com/photos/mroth/2414689585/" class="pc_link" id="stewart_swf2414689585_trigger_a"&gt;&lt;img src="http://l.yimg.com/www.flickr.com/images/video_play_icon_small.png.v1" width="11" height="11" alt="" class="trans_png" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/dorkmaster/2416729456/" title="Optimus Mom by Mike Monteiro"&gt;&lt;img src="http://farm3.static.flickr.com/2371/2416729456_95d2d144be_s.jpg" width="75" height="75" alt="Optimus Mom by Mike Monteiro" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/straup/2420714708/" title="&amp;quot;Who doesn't deserve a doughnut?&amp;quot; by straup"&gt;&lt;img src="http://farm3.static.flickr.com/2317/2420714708_ef52a1b041_s.jpg" width="75" height="75" alt="&amp;quot;Who doesn't deserve a doughnut?&amp;quot; by straup" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/sugarlime/2420718174/" title="embarcado bart by sugarlime"&gt;&lt;img src="http://farm3.static.flickr.com/2392/2420718174_035084dac0_s.jpg" width="75" height="75" alt="embarcado bart by sugarlime" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/ross/2420419991/" title="Socialtext Dashboard with Gadgets by Ross Mayfield"&gt;&lt;img src="http://farm3.static.flickr.com/2349/2420419991_2e71ebcaa0_s.jpg" width="75" height="75" alt="Socialtext Dashboard with Gadgets by Ross Mayfield" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/halliew/2417260956/" title="Representing IA by halliew"&gt;&lt;img src="http://farm3.static.flickr.com/2302/2417260956_1fb3e64396_s.jpg" width="75" height="75" alt="Representing IA by halliew" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/sweetpeabicycles/699555842/" title="The Farmers Market by sweetpeabicycles"&gt;&lt;img src="http://farm2.static.flickr.com/1138/699555842_b37c3bc823_s.jpg" width="75" height="75" alt="The Farmers Market by sweetpeabicycles" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;div class="clearfix"&gt;&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/281522971" height="1" width="1"/&gt;</description>
      <pubDate>Thu, 01 May 2008 09:00:13 -0700</pubDate>
      <guid isPermaLink="false">http://randomfoo.net/blog/id/4176</guid>
    <feedburner:origLink>http://randomfoo.net/blog/id/4176</feedburner:origLink></item>
    <item>
      <title>Web 2.0 Expo Presentation Rundown</title>
      <link>http://feeds.feedburner.com/~r/randomfoo/~3/281163017/4175</link>
      <description>&lt;p&gt;There were actually a surprising amount (to me, at least - most of the people I talked to had low expectations) of very good presentations at &lt;a href="http://www.web2expo.com/"&gt;Web 2.0 Expo&lt;/a&gt; last week.  Most of them are now posted on either &lt;a href="http://www.slideshare.net/event/web-20-expo-san-francisco-08"&gt;SlideShare&lt;/a&gt; (&lt;a href="http://en.oreilly.com/webexsf2008/public/schedule/proceedings"&gt;more presentations here&lt;/a&gt;) or, for the keynotes, on &lt;a href="http://web2expo.blip.tv/"&gt;Blip.tv&lt;/a&gt;.  This is I think, a very exciting and positive development for industry conferences (which I think will only have net-positive effects on attendance; conference proceedings are de rigueur at academic conferences).  Here're the ones I thought were most interesting.&lt;/p&gt;

&lt;p&gt;Keynotes (overall, I liked the 10min What X Knows format that asks companies to boil down numbers and insights):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blip.tv/file/855937"&gt;Clay Shirky (NYU)&lt;/a&gt; - Hands down my favorite keynote of the conf&lt;/li&gt; 
&lt;li&gt;&lt;a href="http://blip.tv/file/854079"&gt;What Tellme Knows&lt;/a&gt; - loved these numbers&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blip.tv/file/854129"&gt;Tim O'Reilly&lt;/a&gt; - standard what Tim is interested in talk, but great if you haven't heard it&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blip.tv/file/854270"&gt;Max Levchin (Slide)&lt;/a&gt; - the affinity anecdote and the discussion of business goals talk is pretty good&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blip.tv/file/854141"&gt;What AIM Knows&lt;/a&gt; - the charts are nice as is the architecture slide&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blip.tv/file/856052"&gt;Marc Andreessen (Ning)&lt;/a&gt; - wide-ranging conversation that covers a number of historical and current topics&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blip.tv/file/855758"&gt;What Current TV Knows&lt;/a&gt; - people like watching themselves on TV! The first half is better than the 2nd.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blip.tv/file/858291"&gt;What Dash Knows&lt;/a&gt; - good to see driving collective intelligence actually working&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blip.tv/file/858319"&gt;What WP Knows&lt;/a&gt; - some good WP numbers&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blip.tv/file/858223"&gt;Jonathan Schwartz (Sun)&lt;/a&gt; - wide-ranging conversation on hardware/infrastructure&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blip.tv/file/856263"&gt;Scott Berkun on Innovation&lt;/a&gt; - if you haven't heard his spiel, there's a nugget or two in there&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blip.tv/file/858285"&gt;Fake Steve Jobs&lt;/a&gt; - overly long, but the core story, about 15min in is good&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blip.tv/file/856206"&gt;What MySpace Knows&lt;/a&gt; - only interesting part is about 50s to 2min to see the #s slides&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Lots of awesome sessions, the quality of the presentations (primarily in terms of prep/interestingness) was higher than usual:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/revdancatt/making-sense-of-the-world"&gt;A Flickr Approach to Making Sense of the World&lt;/a&gt; - my favorite session of the conference.  If you're doing "geo stuff," you owe it to yourself to take a look at this.  The &lt;a href="http://en.wikipedia.org/wiki/Data_clustering"&gt;divisive hierarchical agglomerative clustering&lt;/a&gt; bit is great (using &lt;a href="http://en.wikipedia.org/wiki/Z-order_(curve)"&gt;morton curves&lt;/a&gt; for better pathing, clever).  Now there's not a lot on reverse-geocoding, which I believe I am now doing unique and interesting work on -- once I prove it works, I'll have to publish/present about that. :)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/jallspaw/capacity-planning-for-web-operations-web20-expo-2008"&gt;Capacity Planning for Web Operations&lt;/a&gt; - sure you can't clone Allspaw, but reading &lt;a href="http://www.kitchensoap.com/"&gt;what he has to say&lt;/a&gt; is probably the next best thing.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/gavin/website-psychology/"&gt;Website Psychology&lt;/a&gt; - linking to an earlier version of Gavin's talk (with notes, yay) - he does a really great job mapping cognitive psychology concepts onto site usage and development.  Well worth reading and thinking about&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/xian/grasping-social-patterns/"&gt;Grasping Social Patterns&lt;/a&gt; - by far my favorite Ignite talk this year, all kinds of hooks for thinking about how far social apps and the "social graph" needs to go&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/denmark/web-20-making-email-a-useful-web-app"&gt;Making Email a Useful Web App&lt;/a&gt; - Bots are awesome and underrated.  I've been working a lot more w/ them recently and this was a good overview (would love an even more comprehensive history of cool bots...)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stevesouders.com/docs/web20expo-20080425.ppt"&gt;Even Faster Website&lt;/a&gt; (PPT) - Steve Souders (now at GOOG, doing the same sorta thing he was doing at YHOO) talks about the current stuff he's working on, which is optimizing JS (the logical progression).  Great new stuff, just as useful as &lt;a href="http://www.slideshare.net/stoyan/high-performance-web-pages-20-new-best-practices"&gt;the older stuff&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/rsarver/adding-where-to-mobile-and-web-applications"&gt;Adding "Where" to Mobile and Web Applications&lt;/a&gt; - a bit basic, but a good overview of how location stands today.  Come to Where 2.0 and Wherecamp to learn more...&lt;/li&gt;
&lt;li&gt;Polite, Pertinent, and... Pretty: Designing for the New-wave of Personal Informatics - slides not online. Boo-urns&lt;/li&gt;
&lt;li&gt;Casual Privacy - slides not online.  Boo-urns&lt;/li&gt;
&lt;li&gt;Next Generation Mobile UIs - slides not online.  Boo-urns&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Talks I didn't make but that have interesting decks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/kakul/tagging-web-2-expo-2008/"&gt;Tagging: Opportunities &amp; Challenges of Scale&lt;/a&gt; - Kakul gives an interesting overview of tags, growth patterns and future directions (super-interesting stuff) at Flickr.  Unfortunately, there was a conflict so I couldn't make it, but it looks pretty darn interesting; would be interesting for an open source library to support typing via machine tags, and clustering (I assume Flickr just k-means on photos w/ "tag")&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/adamhjk/why-startups-need-automated-infrastructures/"&gt;Why Startups Need Automated Infrastructures&lt;/a&gt; - this conflicted w/ Kellan's talk otherwise I woulda been there; building my own one of these right now...&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/dmc500hats/startup-metrics-101-367863"&gt;Startup Metrics 101: a Product &amp; Marketing Workshop&lt;/a&gt; - this densely-packed deck that is chock-full of info.  great overview from a business-metrics perspective&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/crucially/failure-happens/"&gt;Failure Happens&lt;/a&gt; - fun talk on what HA means lots of infrastructure details (colo to deploy stuff mostly)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/mulegirl/copy-as-interface"&gt;Copy as Interface&lt;/a&gt; - Erika Hall gives lots of specifics on writing gooder for the web&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/Thor/customer-service-is-the-new-marketing-web2expo"&gt;Customer Service Is The New Marketing&lt;/a&gt; - great slides and clear/focused message&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.oreilly.com/webexsf2008/public/schedule/proceedings"&gt;The Dark Side of Ajax&lt;/a&gt; - great overview/analysis of XSS/CSRF problems with AJAX and a looking at which JS frameworks are addressing issues&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.oreilly.com/webexsf2008/public/schedule/proceedings"&gt;Cross-Cultural User-Experience Design&lt;/a&gt; - great list of references, very interesting comparisons&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/daveman692/open-platforms-in-web-20"&gt;Open Platforms in Web 2.0&lt;/a&gt; - highlights the big story of 2008-2009: really being able to write your brilliant additional feature w/o having to rebuild everything; tying together services and the social context...&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/bdillard/do-try-this-at-home"&gt;Do Try This At Home&lt;/a&gt; - interesting FE hacking; looks like this would definitely benefit from audio/preso notes&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/planspark/announcing-project-z"&gt;Announcing Project Z&lt;/a&gt; - open dialogue and deliberation framework?  looks potentially interesting.  This was the type of thing I was very much into a few years ago.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/dappelquist/web2-expo-sf2008-appelquist"&gt;Mobile Ajax and the Future of the Web&lt;/a&gt; - actually has useful dev tips&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/trishaokubo/blogging-for-personal-branding/"&gt;Blogging for Personal Branding&lt;/a&gt; - interesting seeing insights from an actual pro-blogger (not like pro-bloggers I know, but the people actually writing about specific topics)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/al3x/designing-your-api"&gt;Designing Your API&lt;/a&gt; - a couple interesting tidbits from both sides.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://web2expo.blip.tv/#863106"&gt;Triggit&lt;/a&gt; - the most interesting LaunchPad demo&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/dion/web-20-expo-ria-offline-desktop"&gt;RIA Offline Desktop&lt;/a&gt; - decent overview of AIR and Gears&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/fling/mobile-20-design-and-develop-for-the-iphone-and-beyond-web-20-expo"&gt;Mobile 2.0: Design and Develop for the iPhone and Beyond&lt;/a&gt; - megalong overview on mobile web; this was a tutorial session, which I was sort of at, but mostly busy working through&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some stuff that sounded interesting but don't have slides online: include Marc Davis' Mobile talk, Opportunity Computing in the Cloud, Social Networks and Avatars (caught a few min of this, looks like they haven't done a lot of work on the numbers (even organizing across cohorts), but still would like to see the deck), Global Design Trends (there are slides, but only enough to wish you had a recording of the talk)&lt;/p&gt;


&lt;p&gt;Some bonus talks if you've made it through all those:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/avantgame/alternate-realities-jane-mcgonigal-keynote-sxsw-2008/"&gt;Alternate Realities&lt;/a&gt; - Jane McGonigal gave one of my favorite keynotes this year @ SXSW&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/guest7cd961/evaluating-visual-cues-for-window-switching-on-large-screens"&gt;Evaluating visual cues for window switching on large screens&lt;/a&gt; - a pure HCI talk on UIs once you have wraparaound screens (ie 3 widescreen LCDs).  pretty awesome.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.askbjoernhansen.com/2008/04/15/real_world_web_performance_scalability_slides.html"&gt;Real World Web: Performance &amp; Scalability, MySQL Edition&lt;/a&gt; - Ask gave a great talk at &lt;a href="http://en.oreilly.com/mysql2008/public/content/home"&gt;MySQL 2008&lt;/a&gt; - a little bit of everything in this :)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/coolstuff/collective-intelligence-indeterminacy-and-the-illusion-of-control/"&gt;Collective Intelligence Indeterminacy and the Illusion of Control&lt;/a&gt; - on "sociomimetic" technology, w/ a 3pt rubric for evaluation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Did I forget something (quite probable), miss one of your favs?  Post links in the comments.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/281163017" height="1" width="1"/&gt;</description>
      <pubDate>Wed, 30 Apr 2008 18:17:58 -0700</pubDate>
      <guid isPermaLink="false">http://randomfoo.net/blog/id/4175</guid>
    <feedburner:origLink>http://randomfoo.net/blog/id/4175</feedburner:origLink></item>
    <item>
      <title>Digging out Old Crap</title>
      <link>http://feeds.feedburner.com/~r/randomfoo/~3/280327599/4174</link>
      <description>&lt;p&gt;I was doing a search and came across some old notes/presentations that I wrote back in 2003 (references)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://ctin511.randomfoo.net/"&gt;CTIN 511: Social Software, Theory and Practice&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://ctin511.randomfoo.net/pres/"&gt;Social Software: Theory and Practice&lt;/a&gt; - A brief overview of "Social Software"&lt;/li&gt;
&lt;li&gt;&lt;a href="http://ctin511.randomfoo.net/final/"&gt;Next-Generation Distributed Social Software Networks: Designs and Applications&lt;/a&gt; - A presentation on designing (and reasoning behind) a distributed (decentralized) social network concentrating on infrastructure and development&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://ctcs505.randomfoo.net/"&gt;CTCS 505: New Media and the Consumption Cycle&lt;/a&gt;
&lt;blockquote&gt;The arrival of widespread digital and inter-networked media has dramatically reshaped the nature of spectatorship and cultural and media consumption, alternatively amplifying, accelerating, shifting, disrupting, and in some cases, inverting the consumption/production/distribution cycle. This cycle has become increasingly interlinked, and the distinction between these activities increasingly blurred.&lt;/blockquote&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Honestly, 5 years isn't a long time ago (time flies), but it's interesting to look back at my thinking at the time, and also to see where we are.  There are some things that have happened that I wasn't expecting, and some that I would have expected to have happened by now (honestly, I expected Digital ID consolidation by 2008, and that's not gonna happen anytime soon)... Good times.&lt;/p&gt;

&lt;p&gt;One thing led to the next, and soon I was looking through an old &lt;a href="http://interactive.usc.edu/members/leonard/archives/001136.html"&gt;Recommended Reading List&lt;/a&gt; I had started making.  That actually seems like a good idea, and I'll be &lt;a href="http://dekiwiki.randomfoo.net/Reference/Theory/Recommended_Reading_List"&gt;working on one&lt;/a&gt; as I have time (I'll post about it once I've hashed out the basics).&lt;/p&gt;

&lt;p&gt;Along the way of all this searching I found a dead link to an old UNIX tutorial I had written.  I have a tarball of it somewhere, but honestly, it was much easier to just &lt;a href="http://web.archive.org/web/*/http://www.usc.edu/~lhl/"&gt;grab it from the Wayback Machine&lt;/a&gt;.  So, here it is, for later reference: &lt;a href="http://randomfoo.net/tutorials/unix/"&gt;Stupid Unix Tricks&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It looks like it's aged pretty well (better than these old &lt;a href="http://randomfoo.net/tutorials/adventures/"&gt;webdev workshops&lt;/a&gt; I also taught), although it does remind me that I need to publish my latest bash setup sometime (and maybe start writing down the new things I pick up before I forget them).  The only big change (vs addition) is that when I'm not using cmd-line file transfers on OS X these days, I use &lt;a href="http://cyberduck.ch/"&gt;Cyberduck&lt;/a&gt; (an open source SFTP, FTP, WebDAV, S3 client).&lt;/p&gt;

&lt;p&gt;And lastly, where would a nostalgia post be without some old music?  I've recently finally started digging through old boxes and am encoding all the CDs I lay my hand on.  Here's a track, part of my "catching up on rock" period in the early 2000s:&lt;/p&gt;

&lt;ul class="music"&gt;
  &lt;li&gt;&lt;object type="application/x-shockwave-flash" data="/music/player.swf" width="290" height="24"&gt;&lt;param name="movie" value="/music/player.swf" /&gt;&lt;param name="FlashVars" value="bg=0xEFEFEF&amp;leftbg=0xA01616&amp;lefticon=0xFFDC6B&amp;rightbg=0x999999&amp;rightbghover=0x666666&amp;righticon=0xF2F2F2&amp;righticonhover=0xFFFFFF&amp;text=0xFE8200&amp;slider=0xFE8200&amp;track=0xFFFFFF&amp;border=0xFFFFFF&amp;loader=0x666666&amp;soundFile=http://randomfoo.net/junk/200804/Vitreous%20Humor%20%2D%20Sharin%27%20Stone%2Emp3" /&gt;&lt;param name="quality" value="high" /&gt;&lt;param name="menu" value="false" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;/object&gt;&lt;br /&gt;
&lt;a href="http://en.wikipedia.org/wiki/Vitreous_Humor_(band)"&gt;Vitreous Humor - Sharin' Stone&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/280327599" height="1" width="1"/&gt;</description>
      <pubDate>Tue, 29 Apr 2008 12:45:53 -0700</pubDate>
      <guid isPermaLink="false">http://randomfoo.net/blog/id/4174</guid>
    <feedburner:origLink>http://randomfoo.net/blog/id/4174</feedburner:origLink></item>
    <item>
      <title>Clay Shirky on Gin, Television, and Social Surplus</title>
      <link>http://feeds.feedburner.com/~r/randomfoo/~3/279217705/4173</link>
      <description>&lt;p&gt;Clay Shirky gave the best keynote talk that I caught at Web 2.0 Expo last week.  He's posted a transcript, entitled &lt;a href="http://www.herecomeseverybody.org/2008/04/looking-for-the-mouse.html"&gt;Gin, Television, and Social Surplus&lt;/a&gt; on his new book's site (also quite recommended; it makes it onto my "understand the internet" bookshelf).&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;So how big is that surplus? So if you take Wikipedia as a kind of unit, all of Wikipedia, the whole project--every page, every edit, every talk page, every line of code, in every language that Wikipedia exists in--that represents something like the cumulation of 100 million hours of human thought. I worked this out with Martin Wattenberg at IBM; it's a back-of-the-envelope calculation, but it's the right order of magnitude, about 100 million hours of thought.&lt;/p&gt;

&lt;p&gt;And television watching? Two hundred billion hours, in the U.S. alone, every year. Put another way, now that we have a unit, that's 2,000 Wikipedia projects a year spent watching television. Or put still another way, in the U.S., we spend 100 million hours every weekend, just watching the ads. This is a pretty big surplus. People asking, "Where do they find the time?" when they're looking at things like Wikipedia don't understand how tiny that entire project is, as a carve-out of this asset that's finally being dragged into what Tim calls an architecture of participation.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;If you didn't catch it, this is well worth reading.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/279217705" height="1" width="1"/&gt;</description>
      <pubDate>Mon, 28 Apr 2008 00:11:58 -0700</pubDate>
      <guid isPermaLink="false">http://randomfoo.net/blog/id/4173</guid>
    <feedburner:origLink>http://randomfoo.net/blog/id/4173</feedburner:origLink></item>
    <item>
      <title>Donations Done!</title>
      <link>http://feeds.feedburner.com/~r/randomfoo/~3/278643214/4172</link>
      <description>&lt;p&gt;&lt;img src="http://my.barackobama.com/page/outreach/graphic/main/lhl" align="left" hspace="10" /&gt;

After Super Tuesday, I &lt;a href="http://randomfoo.net/blog/id/4146"&gt;started a little fundraising campaign&lt;/a&gt; where I promised to match contributions dollar for dollar up to $4K (since $2K was about what I had left on my campaign contribution limit).  I'm happy to announce that the donations passed the goal tonight (15m after a &lt;a href="http://twitter.com/lhl/statuses/797861257"&gt;last call tweet&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;The final stats: $2070 donated by 19 people (all friends or friends of friends; an average of $109).  With $2070.19 matched by me.&lt;/p&gt;

&lt;p&gt;Hooray!  Gobama!&lt;/p&gt;
&lt;br clear="all" /&gt;

&lt;p&gt;Also, since it's hilarious (although actually, &lt;a href="http://cbs3.com/topstories/Obama.Barack.Primary.2.646801.html"&gt;Obama won Delaware&lt;/a&gt; as well):&lt;/p&gt;

&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/uBGyuYKlxIg&amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/uBGyuYKlxIg&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/278643214" height="1" width="1"/&gt;</description>
      <pubDate>Sat, 26 Apr 2008 22:43:33 -0700</pubDate>
      <guid isPermaLink="false">http://randomfoo.net/blog/id/4172</guid>
    <feedburner:origLink>http://randomfoo.net/blog/id/4172</feedburner:origLink></item>
    <item>
      <title>Internet Asshattery, Armchair Scaling Experts Edition</title>
      <link>http://feeds.feedburner.com/~r/randomfoo/~3/277648210/4171</link>
      <description>&lt;p&gt;I know it's never good to pay attention to the nattering classes, but there was a &lt;a href="http://www.techcrunch.com/2008/04/23/amateur-hour-over-at-twitter/"&gt;pretty high profile fusillade&lt;/a&gt; that Mike Arrington launched on &lt;a href="http://romeda.org/blog/"&gt;Blaine Cook&lt;/a&gt; which seemed to bring out the arm-chair experts in full force &lt;a href="http://www.techcrunch.com/2008/04/23/amateur-hour-over-at-twitter/#comments"&gt;in the comments&lt;/a&gt;.  Now, while I think that Arrington's post is way out of line (I'll explain that in a bit), I'm almost not as bothered by it (as long as &lt;b&gt;he's&lt;/b&gt; not to bothered for being &lt;a href="http://ismikearringtonadick.com/"&gt;called out on it&lt;/a&gt;)...  What really bugs me is the number of clueless "developers" throwing in their two cents.  That includes Arrington's two Rails developers with "finger on the pulse of the rails community" (&lt;a href="http://www.zedshaw.com/rants/rails_is_a_ghetto.html"&gt;ha!&lt;/a&gt;).  My discontent was further exacerbated by this (unrelated) &lt;a href="http://www.regdeveloper.co.uk/2008/04/25/rdbms_simpledb_replacement/"&gt;completely clueless piece on The Register&lt;/a&gt;. Is this the best that tech journalism has to offer?&lt;/p&gt;

&lt;p&gt;First, a disclaimer: I don't know Blaine very well, and I don't have any privileged info on Twitter or Obvious Corp.&lt;/p&gt;

&lt;p&gt;There's no question that Twitter has and continues to suffer from capacity, load, and other stability issues, and pointing that out is fair game, however pointing at &lt;a href="http://www.slideshare.net/Blaine/scaling-twitter/"&gt;Blaine's scaling talk&lt;/a&gt; as a personal dig is a disservice to the everyone, especially since:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The advice in the slides are generally good (and the "It's Easy" is obviously snark - just look at the failcat in the next slide; it'd be easy to confirm that by asking anyone who was in the talk (like me or several hundred other people) instead of projecting prideful boasting to justify his attack -- I'll avoid ascribing motivations to why Arrington chose to do this).&lt;/li&gt;
&lt;li&gt;More crucially, the slides themselves point to the issues that a proper tech journalist would be able to spot and follow up on to try to find out what was really going on (assuming he cared about that).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For example, 600 QPS on 8 machines is pretty decent - but this raises the question of utilization and capacity planning.  You can see from the 1x1 MySQL structure and the note on DRb that there were many single points of failure - again, this raises questions of BCP and redundancy.  With the constant bumping of limits, you could guess that they were running really hot (and from a single data center, even after the move (probably w/o backup routers, etc.)) -- all these issues are as much (if not moreso, since these are technical no-brainers) business/financial decisions than architectural/technological ones.&lt;/p&gt;

&lt;p&gt;Now, I don't know what happened between ops, management, and engineering, but guess what?  Arrington doesn't either, and he never bothered to follow up and kicks Blaine in the head instead, even when such clues obviously raise significant doubts about whether it's appropriate.  I agree with Arrington's point about accountability, which is why I say now that Arrington wasn't posting journalistically (the minimal followup with someone w/ half a clue would have pointed out exactly what I did), and Blaine deserves an apology.  If you're gonna shit on someone and start pointing fingers, you better have the goods to back it up.  Whiny, uninformed personal attacks belong on Arrington's Live Journal or (wait for it...)  Twitter stream.&lt;/p&gt;

&lt;p&gt;Now, onto the retarded comments from wanna be developers.  Well first, of the entire thread, I only saw &lt;a href="http://www.techcrunch.com/2008/04/23/amateur-hour-over-at-twitter/#comment-2218420"&gt;one half-decent attempt&lt;/a&gt; at a technical critique, and even that falls down when you look at it.  I don't want to belabor the point, but the poster, Jordan, actually raises technical points worth addressing (and refuting):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;On indexing: while it's true you don't want to index willy-nilly and it's incomplete to say "index everything", if your ORM isn't automatically indexing frequently used keys, you can be sure as heck that you'll want to make a point of indexing them, especially if you're doing joins.  Yeah, you don't index what you don't need, but even if you have frequent writes, you need to eat it if you're ever going to ever query. Because people suffer from lack of indexes, unless you're not adding an index and examining, you're not gonna have a problem "over indexing."  I don't know the exact fan-out/pub-sub architecture, but you can be sure you'll be doing a lot more reads even if you cache the hell out of it.  If you're thrashing, you're looking at having mis-configured index caches more than anything else.&lt;/li&gt;
&lt;li&gt;DRb: This is a case where it looks like he just misread.  It's easy if you don't have the context of the talk.  DRb was good enough... until it wasn't - which is why &lt;a href="http://rubyforge.org/projects/starling/"&gt;Starling&lt;/a&gt; was written to replace it.  Now, we still don't know if it's a single point of failure, but it obviates that whole rant (as to why DRb was chosen in the first place, more on that later)&lt;/li&gt;
&lt;li&gt;Caching: again, the same thing with indexes.  Of course over-caching is bad, but that's never going to be your problem because you start with no caching, and you add caching until you start losing performance.  Also, the "no substitute for fixing the underlying problem" is naive - most of the time, your problems are that there's no need to do complex queries or processing since the data doesn't change and should be cached. durrf.&lt;/li&gt;
&lt;li&gt;Profiling: ok, this I'd sorta agree with.  Mentioning ruby-prof would probably be good, but honestly, 90%+ of optimizations can be done on simple timers, explains, and logs alone. (And also, performance tuning doesn't have all that much to do with scaling anyway.)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;As to the rest of the wannabees, it really is true that if you haven't done it, that is: been intimately involved growing a social web app from prototype to Internet-scale on a UNIX stack, then you really don't know shit.  (I know more than my fair share of people that have, and I didn't see any of them posting armchair bs on the comments).  I'm not trying to say this just to be dismissive, but only to say, you really really, don't understand the technical challenges involved.  Generating target sets on social objects is extremely expensive and ill-suited to traditional 4NF data models in RDBMSs.  So is social activity fan-out and any number of activities core to Twitter's message routing/storage and to social web apps in general.  These are not traditional problems and standard, HA solutions just aren't available.&lt;/p&gt;  

&lt;p&gt;Even &lt;b&gt;if&lt;/b&gt; you're architecturally sound, you're dealing with development with extremely tight timelines/pressures, so you have to make decisions to pick things that will work but will probably need to eventually be replaced (e.g. DRb for Twitter) -- usually you won't know when and what component will be the limiting factor since you don't know what the uses cases will be to begin with.  Development from prototype on is a series of compromises against the limited resources of man-hours and equipment.  In a perfect world, you'd have perfect capacity planning and infinite resources, but if you've ever experienced real-world hockey-stick growth on a startup shoestring, you know that's not the case.  If you have, you understand that scaling is the brick that hits you when you've gone far beyond your capacity limits and when your machines hit double or triple digit loads.  Architecture doesn't help you one bit there.&lt;/p&gt;

&lt;p&gt;And the people that have experienced this and lived to tell the tale also know that it's impossible to critique the technical/operational aspects made w/o seeing and understanding the QPS targets, load graphs, profiling data/sar info and all manner of other architectural/technical data and details (that none of us are privy to) before commenting with any sort of authority.&lt;/p&gt;

&lt;p&gt;Anyway, if you were given the choice of working with/hiring someone like Blaine who has had the firsthand full life-cycle scaling experience and any random developer (and definitely anyone from the TechCrunch comments), I think it's fairly obvious what the right decision would be.  I guess I'll leave it at that.&lt;/p&gt;

&lt;p&gt;This leads to Part Deux of my rant... this lead-paint baby of an article entitled &lt;a href="http://www.regdeveloper.co.uk/2008/04/25/rdbms_simpledb_replacement/"&gt;Backlash starts against 'sexy' databases&lt;/a&gt; which has the following quote, I shit you not:&lt;/p&gt;

&lt;blockquote&gt;"The bottom line is don't tell me RDMBS [sic] can't scale if you can't write a decent query or design a normalized database schema."&lt;/blockquote&gt;

&lt;p&gt;This is by one &lt;a href="http://codeeleven.blogspot.com/2008/04/why-relational-databases-end-up-being.html#links"&gt;John Holland&lt;/a&gt;.  Now, no doubt the WordPress code can be pretty shitty (although sometimes there are good reasons for the multiple queries to support various hooks/plugins), but you will &lt;b&gt;never&lt;/b&gt; hit the type of performance problems in a WP (non-mu) installation that have people looking for MySQL alternatives because WP just doesn't have the types of queries that destroy RDBMs.&lt;/p&gt;
&lt;p&gt;I can understand that it's not the article author's (&lt;a href="http://search.regdeveloper.co.uk/?author=Phil%20Manchester"&gt;Phil Manchester&lt;/a&gt;) fault for conflating the "cons" with arguments that WP is badly coded with the "pros" (correct!) that you can't write the kinds of queries you need for social apps because if he's like the reporters I know, he probably doesn't actually understand it at all and is doing his beat writeup, but dammit, can't the author get some decent frickin' technical advisors to explain this if he's doing tech journalism?  The entire article is based on characterizing a misinformed blog post as a "brewing controversy."&lt;/p&gt;
&lt;p&gt;I mean, I don't want to be more mean than I have to about this, but John Holland just has no idea what he's talking about.  He picks up on &lt;a href="http://www.codinghorror.com/blog/archives/001105.html"&gt;Atwood&lt;/a&gt;'s post on WP inefficiency, and then uses that to (completely incorrectly, and not without a tinge of reverse elitism) generalize on why the "cool kids" are hyping non-relational data stores.  He goes on to boldly state "Relational databases are not the bottleneck" due to his complete lack of understanding of the actual problem set (hint: I don't know anyone who's suggesting WP should be switched off MySQL).  This then leads to a horribly ignorant article being published by a writer who is in the best case, lazy and doesn't understand what he's reporting (just show two equal sides and do a writeup) or in the worse case is simply looking for a manufactured conflict that only will serve to stir controversy and confuse the non-savvy reader.&lt;/p&gt;


&lt;p&gt;(The reasons for alternative data-stores actually exist in a couple axes - one is for more development flexibility or the ability to change functionality w/o expensive downtime (schemaless), one is for issues of scale and availability (distributed), and then a whole bunch for supporting social queries that just are horribly suited to RDMSs (multi-attribute, inverse index, mq/pubsub, etc.).  Many of the alternatives are a combinations of various axes.)&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/277648210" height="1" width="1"/&gt;</description>
      <pubDate>Fri, 25 Apr 2008 07:00:00 -0700</pubDate>
      <guid isPermaLink="false">http://randomfoo.net/blog/id/4171</guid>
    <feedburner:origLink>http://randomfoo.net/blog/id/4171</feedburner:origLink></item>
    <item>
      <title>A Free Lunch: Just Do The Numbers</title>
      <link>http://feeds.feedburner.com/~r/randomfoo/~3/277368380/4170</link>
      <description>&lt;p&gt;Yesterday &lt;a href="http://getluky.net/2008/04/23/spending-dinner-at-work/"&gt;Gordon commented&lt;/a&gt; on &lt;a href="http://www.alleyinsider.com/2008/4/googles_ginormous_food_budget_7530_per_googler"&gt;Silicon Alley Insider's back of the envelope calculations for Google's food costs&lt;/a&gt;.  IMO they're not doing the right numbers.  I spent a fair amount of time fighting (somewhat unsuccessfully) this sort of retarded thinking, so here's a copy of the back of the napkin numbers that &lt;em&gt;I&lt;/em&gt; just did.  Here's a copy of what I posted on Gordon's site:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;I think they're not doing the right numbers.  GOOG headcount is at 18,000.  If half the workforce ends up working for an extra 1 hr/day (it's probably closer to 2) b/c of breakfast and dinner, and assuming that an FTE hour is worth $50 to Google (probably low since the fully loaded cost for the avg knowledge work is probably about $100/hr, and the Goog's profit margin is &gt;25% and that's including all operating costs), that means:&lt;/p&gt;

&lt;pre&gt;9,000 employees * 251 days * 1 hour * $50 = $113M&lt;/pre&gt;

&lt;p&gt;If it does cost $75M (again, we'll use the worst case number, even if it's more likely 70% of that), we're talking about a 50% return on investment.  Since we're using worst case numbers, the direct returns are probably much higher.&lt;/p&gt;

&lt;p&gt;And that's before calculating *any* second order benefits like: better retention, increased loyalty/productivity, increased morale/quality of life, increased reputation/easier hiring and recruiting - and of course free write ups.  By almost every set of these important (but harder to quantify) metrics, they is a non-trivial qualitative improvement.  Even if it were a complete wash, any knowledge company that could&lt;sup&gt;*&lt;/sup&gt; would be (and are IMO) stupid for not following suit.  Any proper calculation would properly include/calculate offsets for these externalities (certainly recruiting/retention cost projections would be easy to model).&lt;/p&gt;

&lt;p&gt;Finally, speaking from personal experience, I doubt SAI realizes how disruptive and hard it is to replace (recruit/hire/train/etc) high performing engineers (especially w/ the huge ramp up w/ the custom systems and processes at a cutting edge tech firm)?  Does anyone realize how non-linearly time scales and what it means in terms of development productivity (talking to lots of people, and certainly for myself, I find it takes me a couple hours for me to ramp up into a flow state, after which I get more productive (until a certain point - but again, depending on blood sugar)).  Anyway, I'll stop railing against stupidity.  I'm sure Google has run the numbers themselves.  They do love doing that, so I hear.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Based on my napkin calculations, and the failure of other organizations to grasp the work environment tactics that Google employs, my conclusion is that everyone (employees, the corporation, and the shareholders) at Google are very much enjoying a "free lunch."&lt;/p&gt;

&lt;p&gt;&lt;small&gt;(* Where "could" means a company that could successfully profit from the additional man-hours and the reduced turnover costs.  While the former may be a smaller slice, I would suspect that once you add retention, almost every company would be over the line.)&lt;/small&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/277368380" height="1" width="1"/&gt;</description>
      <pubDate>Thu, 24 Apr 2008 20:57:58 -0700</pubDate>
      <guid isPermaLink="false">http://randomfoo.net/blog/id/4170</guid>
    <feedburner:origLink>http://randomfoo.net/blog/id/4170</feedburner:origLink></item>
    <item>
      <title>April 2008 Mix (The Way I Rock)</title>
      <link>http://feeds.feedburner.com/~r/randomfoo/~3/276812865/4169</link>
      <description>&lt;p&gt;The other day, &lt;a href="http://www.paulhammond.org/"&gt;ph&lt;/a&gt; wanted to some new music suggestions.  When I asked him to name some bands that he liked, he named &lt;a href="http://en.wikipedia.org/wiki/ABBA"&gt;ABBA&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Michael_Jackson"&gt;Michael Jackson&lt;/a&gt;.  Now, while this seems suspiciously like the response of someone who doesn't need any new music, I decided to interpret it as a "call for help."  It's time for a new mix anyway, so what the heck...  Here's a quick try at putting together a mix of (mostly) not-too big artists/songs together.  It's poppier and more major key than my regular mixes. :)&lt;/p&gt;

&lt;div style="width: 430px; height: 350px; text-align:center;"&gt;&lt;embed width="426" height="327" type="application/x-shockwave-flash" name="mixwit_mixtape_bcd8d067c18433f8243efad1fa8f4268" src="http://www.mixwit.com/flash/widgets/shell.swf" quality="high" wmode="transparent" flashvars="env=embed&amp;widget=bcd8d067c18433f8243efad1fa8f4268&amp;playlist=15a30dc13cbe145fafcea021a03d586d&amp;vuid=embed" align="middle"&gt;&lt;/embed&gt;&lt;div style="text-align: center; margin: auto;"&gt;&lt;a href="http://www.mixwit.com/create?refer=embed"&gt;&lt;img src="http://mixwit.s3.amazonaws.com/public/resources/img/embed/make-a-mixtape.gif" border="0" style="border:0px;"&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;img style="visibility:hidden;width:0px;height:0px;" border=0 width=0 height=0 src="http://counters.gigya.com/wildfire/CIMP/Jmx*PTEyMDkwMzIyMDI1NzAmcHQ9MTIwOTAzMjIwNTc*MyZwPTE4NDMzMSZkPSZuPQ==.jpg" /&gt;&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/276812865" height="1" width="1"/&gt;</description>
      <pubDate>Thu, 24 Apr 2008 03:30:28 -0700</pubDate>
      <guid isPermaLink="false">http://randomfoo.net/blog/id/4169</guid>
    <feedburner:origLink>http://randomfoo.net/blog/id/4169</feedburner:origLink></item>
    <item>
      <title>Sorting Lists of Lists in Python</title>
      <link>http://feeds.feedburner.com/~r/randomfoo/~3/274197450/4168</link>
      <description>&lt;p&gt;No language is perfect, and Python is no exception.  In Python 2.4, for example, sorting a list of lists sorted by a value in the nested list (more common than you'd think), requires a  bit of work and a library:&lt;/p&gt;

&lt;pre&gt;import operator
max = sorted(list_of_lists, reverse=True, key=operator.itemgetter(1))[0]&lt;/pre&gt;

&lt;p&gt;Python 2.5 makes things easier:&lt;/p&gt;

&lt;pre&gt;max = max(list_of_lists, key=lambda x: x[1])&lt;/pre&gt;

&lt;p&gt;The official Python Wiki has a nice &lt;a href="http://wiki.python.org/moin/HowTo/Sorting"&gt;HOWTO on Sorting in Python&lt;/a&gt; (also a much less comprehensive one on &lt;a href="http://wiki.python.org/moin/SortingListsOfDictionaries"&gt;sorting dictionaries&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;(note: OS X Leopard comes w/ Python 2.5 while, Debian Etch remains on 2.4 by default)&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/274197450" height="1" width="1"/&gt;</description>
      <pubDate>Sun, 20 Apr 2008 11:22:25 -0700</pubDate>
      <guid isPermaLink="false">http://randomfoo.net/blog/id/4168</guid>
    <feedburner:origLink>http://randomfoo.net/blog/id/4168</feedburner:origLink></item>
    <item>
      <title>Some Cygwin Setup Tips </title>
      <link>http://feeds.feedburner.com/~r/randomfoo/~3/273746705/4167</link>
      <description>&lt;p&gt;I don't touch Windows much anymore (games and demos in Boot Camp, and &lt;a href="http://www.exactaudiocopy.de/"&gt;EAC&lt;/a&gt; and a few other programs in VMWare), but when I'm in there, cmd.exe serves as a constant reminder that I'd rather be elsewhere (&lt;a href="http://sourceforge.net/projects/console/"&gt;Console&lt;/a&gt; is an open source attempt to improve the default console).  The obvious solution is to bring your UNIX tools with you, which is where &lt;a href="http://www.cygwin.com/"&gt;Cygwin&lt;/a&gt; comes in.  Here are some setup notes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I make a setup folder in C:cygwinsetup, otherwise it just dumps the it's packages in a folder where you're running the setup.exe from&lt;/li&gt;
&lt;li&gt;Some "essentials" that don't get installed by default: Devel/subversion, Net/openssh, Net/rsync, Shells/rxvt&lt;/li&gt;
&lt;li&gt;The last one is important because by default, the default blue is too dark (of course).  Here's directions on &lt;a href="http://www.soe.ucsc.edu/~you/notes/cygwin-install.html#mozTocId333576"&gt;setting up a proper rxvt .bat file&lt;/a&gt;, and then the relevant lines you want in your .Xdefaults:
&lt;pre&gt;rxvt*color4: SteelBlue1
rxvt*color12: SteelBlue1&lt;/pre&gt;
These change the dark blue and blue defaults respectively (I also like RoyalBlue -- here's a &lt;a href="http://mkaz.com/ref/xterm_colors.html"&gt;list of XTerm colors&lt;/a&gt;; you can also enter hex colors directly if you'd like)  Also, for a &lt;a href="http://cygwin.com/ml/cygwin/2001-06/msg00901.html"&gt;good list of what color0-color15 are&lt;/a&gt;.  (aside: this is the correct answer to &lt;a href="http://ask.metafilter.com/22545/Adjusting-text-colors-in-cygwin"&gt;an unanswered Ask Metafilter question&lt;/a&gt; from a few years back, but I guess there's no way to comment on old closed questions)&lt;/li&gt;
&lt;li&gt;The other big thing is &lt;a href="http://www.cygwin.com/cygwin-ug-net/using-filemodes.html"&gt;file permissions&lt;/a&gt;, which I've only run into when rsyncing (I use -avP as my default copy mode).  I haven't done anything with that except for making aliases that chmod 755 and 644 before I need to make copies.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Also, while Fusion has it's own fast launch (cmd-L), if you're in Boot Camp, I recommend &lt;a href="http://www.launchy.net/"&gt;Launchy&lt;/a&gt;, which helps a bit w/ the Quicksilver withdrawals.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/273746705" height="1" width="1"/&gt;</description>
      <pubDate>Sat, 19 Apr 2008 14:55:25 -0700</pubDate>
      <guid isPermaLink="false">http://randomfoo.net/blog/id/4167</guid>
    <feedburner:origLink>http://randomfoo.net/blog/id/4167</feedburner:origLink></item>
    <item>
      <title>Flickr Favs: Sun Apr 13, 2008</title>
      <link>http://feeds.feedburner.com/~r/randomfoo/~3/269498357/4166</link>
      <description>&lt;div id="flickr_favorites"&gt;

&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/natzke/2334571699/" title="Landscape by natzke"&gt;&lt;img src="http://farm4.static.flickr.com/3200/2334571699_87566831d5_s.jpg" width="75" height="75" alt="Landscape by natzke" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/stevezaslavsky/97825882/" title="Sunburst Palms by Solsonic"&gt;&lt;img src="http://farm1.static.flickr.com/29/97825882_d5f7fbe1a8_s.jpg" width="75" height="75" alt="Sunburst Palms by Solsonic" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/jzawodn/2405528921/" title="The New YDN Design by jzawodn"&gt;&lt;img src="http://farm3.static.flickr.com/2266/2405528921_f5bd98e564_s.jpg" width="75" height="75" alt="The New YDN Design by jzawodn" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/sm/2405574101/" title="grid by SilentObserver"&gt;&lt;img src="http://farm3.static.flickr.com/2120/2405574101_654e910ac5_s.jpg" width="75" height="75" alt="grid by SilentObserver" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s" id="stewart_swf2401676521_div"&gt;&lt;a href="http://flickr.com/photos/dorkmaster/2401676521/" title="Multiple Screams by Mike Monteiro"&gt;&lt;img src="http://farm3.static.flickr.com/2223/2401676521_6df3f0499d_s.jpg" width="75" height="75" alt="Multiple Screams by Mike Monteiro" class="pc_img" /&gt;&lt;/a&gt;&lt;a href="http://flickr.com/photos/dorkmaster/2401676521/" class="pc_link" id="stewart_swf2401676521_trigger_a"&gt;&lt;img src="http://l.yimg.com/www.flickr.com/images/video_play_icon_small.png.v1" width="11" height="11" alt="" class="trans_png" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/mr_carl/2342860408/" title="thumbody by Eric Carl"&gt;&lt;img src="http://farm4.static.flickr.com/3171/2342860408_bcac7cc6cd_s.jpg" width="75" height="75" alt="thumbody by Eric Carl" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s" id="stewart_swf2403448877_div"&gt;&lt;a href="http://flickr.com/photos/natzke/2403448877/" title="28 - Ghosts III, NIN by natzke"&gt;&lt;img src="http://farm4.static.flickr.com/3054/2403448877_89817774d8_s.jpg" width="75" height="75" alt="28 - Ghosts III, NIN by natzke" class="pc_img" /&gt;&lt;/a&gt;&lt;a href="http://flickr.com/photos/natzke/2403448877/" class="pc_link" id="stewart_swf2403448877_trigger_a"&gt;&lt;img src="http://l.yimg.com/www.flickr.com/images/video_play_icon_small.png.v1" width="11" height="11" alt="" class="trans_png" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/dayan/2403431649/" title="FIGHT THE REAL ENEMY by dayan"&gt;&lt;img src="http://farm4.static.flickr.com/3216/2403431649_972a3afaf5_s.jpg" width="75" height="75" alt="FIGHT THE REAL ENEMY by dayan" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s" id="stewart_swf2398789831_div"&gt;&lt;a href="http://flickr.com/photos/mroth/2398789831/" title="mrothfacescan strikes yet again by mroth"&gt;&lt;img src="http://farm4.static.flickr.com/3281/2398789831_2e99ffac66_s.jpg" width="75" height="75" alt="mrothfacescan strikes yet again by mroth" class="pc_img" /&gt;&lt;/a&gt;&lt;a href="http://flickr.com/photos/mroth/2398789831/" class="pc_link" id="stewart_swf2398789831_trigger_a"&gt;&lt;img src="http://l.yimg.com/www.flickr.com/images/video_play_icon_small.png.v1" width="11" height="11" alt="" class="trans_png" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/judemat/464425144/" title="Mutton by judemat"&gt;&lt;img src="http://farm1.static.flickr.com/218/464425144_d1973894f5_s.jpg" width="75" height="75" alt="Mutton by judemat" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/laloyd/465236900/" title="IMG_7881.JPG by mebooyou"&gt;&lt;img src="http://farm1.static.flickr.com/217/465236900_f743bdb216_s.jpg" width="75" height="75" alt="IMG_7881.JPG by mebooyou" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s" id="stewart_swf2402566566_div"&gt;&lt;a href="http://flickr.com/photos/striatic/2402566566/" title="for all eternity. by striatic"&gt;&lt;img src="http://farm4.static.flickr.com/3216/2402566566_ece941055d_s.jpg" width="75" height="75" alt="for all eternity. by striatic" class="pc_img" /&gt;&lt;/a&gt;&lt;a href="http://flickr.com/photos/striatic/2402566566/" class="pc_link" id="stewart_swf2402566566_trigger_a"&gt;&lt;img src="http://l.yimg.com/www.flickr.com/images/video_play_icon_small.png.v1" width="11" height="11" alt="" class="trans_png" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/admurder/2391170988/" title="superformula6 by A*A*R*O*N"&gt;&lt;img src="http://farm3.static.flickr.com/2230/2391170988_df613ea4a2_s.jpg" width="75" height="75" alt="superformula6 by A*A*R*O*N" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/admurder/2404945022/" title="hrmph by A*A*R*O*N"&gt;&lt;img src="http://farm4.static.flickr.com/3002/2404945022_ba63a534f6_s.jpg" width="75" height="75" alt="hrmph by A*A*R*O*N" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/milsom/2396742489/" title="Day 98: Project 365 by ikes"&gt;&lt;img src="http://farm4.static.flickr.com/3241/2396742489_7147f11f37_s.jpg" width="75" height="75" alt="Day 98: Project 365 by ikes" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/automatt/119040637/" title="There are no mini disasters by Automatt"&gt;&lt;img src="http://farm1.static.flickr.com/44/119040637_1ee568c5dc_s.jpg" width="75" height="75" alt="There are no mini disasters by Automatt" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s" id="stewart_swf2402825285_div"&gt;&lt;a href="http://flickr.com/photos/ebb/2402825285/" title="Pacific by genmon"&gt;&lt;img src="http://farm3.static.flickr.com/2333/2402825285_5032c5d0b7_s.jpg" width="75" height="75" alt="Pacific by genmon" class="pc_img" /&gt;&lt;/a&gt;&lt;a href="http://flickr.com/photos/ebb/2402825285/" class="pc_link" id="stewart_swf2402825285_trigger_a"&gt;&lt;img src="http://l.yimg.com/www.flickr.com/images/video_play_icon_small.png.v1" width="11" height="11" alt="" class="trans_png" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/dunstan/2404034492/" title="If we're going to be accused of being evil by Dunstan Orchard"&gt;&lt;img src="http://farm4.static.flickr.com/3163/2404034492_3030349c08_s.jpg" width="75" height="75" alt="If we're going to be accused of being evil by Dunstan Orchard" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s" id="stewart_swf2404080160_div"&gt;&lt;a href="http://flickr.com/photos/heather/2404080160/" title="Scream Real Loud!!! by heather"&gt;&lt;img src="http://farm4.static.flickr.com/3215/2404080160_db5597d77a_s.jpg" width="75" height="75" alt="Scream Real Loud!!! by heather" class="pc_img" /&gt;&lt;/a&gt;&lt;a href="http://flickr.com/photos/heather/2404080160/" class="pc_link" id="stewart_swf2404080160_trigger_a"&gt;&lt;img src="http://l.yimg.com/www.flickr.com/images/video_play_icon_small.png.v1" width="11" height="11" alt="" class="trans_png" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s" id="stewart_swf2400082412_div"&gt;&lt;a href="http://flickr.com/photos/jackomo/2400082412/" title="Ralph Lauren Time Lapse by jakilevy"&gt;&lt;img src="http://farm3.static.flickr.com/2370/2400082412_37e5d0df50_s.jpg" width="75" height="75" alt="Ralph Lauren Time Lapse by jakilevy" class="pc_img" /&gt;&lt;/a&gt;&lt;a href="http://flickr.com/photos/jackomo/2400082412/" class="pc_link" id="stewart_swf2400082412_trigger_a"&gt;&lt;img src="http://l.yimg.com/www.flickr.com/images/video_play_icon_small.png.v1" width="11" height="11" alt="" class="trans_png" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s" id="stewart_swf2401624433_div"&gt;&lt;a href="http://flickr.com/photos/ruzek/2401624433/" title="Atlantic Motion by pxlpusher"&gt;&lt;img src="http://farm4.static.flickr.com/3292/2401624433_b7cea6f761_s.jpg" width="75" height="75" alt="Atlantic Motion by pxlpusher" class="pc_img" /&gt;&lt;/a&gt;&lt;a href="http://flickr.com/photos/ruzek/2401624433/" class="pc_link" id="stewart_swf2401624433_trigger_a"&gt;&lt;img src="http://l.yimg.com/www.flickr.com/images/video_play_icon_small.png.v1" width="11" height="11" alt="" class="trans_png" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s" id="stewart_swf2399854318_div"&gt;&lt;a href="http://flickr.com/photos/allspaw/2399854318/" title="Joe McMonkeyPants by jspaw"&gt;&lt;img src="http://farm3.static.flickr.com/2211/2399854318_b685325c63_s.jpg" width="75" height="75" alt="Joe McMonkeyPants by jspaw" class="pc_img" /&gt;&lt;/a&gt;&lt;a href="http://flickr.com/photos/allspaw/2399854318/" class="pc_link" id="stewart_swf2399854318_trigger_a"&gt;&lt;img src="http://l.yimg.com/www.flickr.com/images/video_play_icon_small.png.v1" width="11" height="11" alt="" class="trans_png" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/dorkmaster/2401700341/" title=" by Mike Monteiro"&gt;&lt;img src="http://farm4.static.flickr.com/3068/2401700341_533c7ef32e_s.jpg" width="75" height="75" alt=" by Mike Monteiro" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/pmorgan/32606683/" title="Shanghai Skyscape by pmorgan"&gt;&lt;img src="http://farm1.static.flickr.com/23/32606683_0397dd5850_s.jpg" width="75" height="75" alt="Shanghai Skyscape by pmorgan" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s" id="stewart_swf2399985219_div"&gt;&lt;a href="http://flickr.com/photos/pinobarile/2399985219/" title="Milano mobility concept by pinobarile"&gt;&lt;img src="http://farm3.static.flickr.com/2112/2399985219_4df40b283c_s.jpg" width="75" height="75" alt="Milano mobility concept by pinobarile" class="pc_img" /&gt;&lt;/a&gt;&lt;a href="http://flickr.com/photos/pinobarile/2399985219/" class="pc_link" id="stewart_swf2399985219_trigger_a"&gt;&lt;img src="http://l.yimg.com/www.flickr.com/images/video_play_icon_small.png.v1" width="11" height="11" alt="" class="trans_png" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s" id="stewart_swf2401352584_div"&gt;&lt;a href="http://flickr.com/photos/corneliuscrab/2401352584/" title="moonrise by cornelius crab is ruining Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3067/2401352584_a33b1cc50e_s.jpg" width="75" height="75" alt="moonrise by cornelius crab is ruining Flickr" class="pc_img" /&gt;&lt;/a&gt;&lt;a href="http://flickr.com/photos/corneliuscrab/2401352584/" class="pc_link" id="stewart_swf2401352584_trigger_a"&gt;&lt;img src="http://l.yimg.com/www.flickr.com/images/video_play_icon_small.png.v1" width="11" height="11" alt="" class="trans_png" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s" id="stewart_swf2399984985_div"&gt;&lt;a href="http://flickr.com/photos/sqbbe/2399984985/" title="HDR Time Lapse by sqbbe"&gt;&lt;img src="http://farm3.static.flickr.com/2022/2399984985_13f3d958d6_s.jpg" width="75" height="75" alt="HDR Time Lapse by sqbbe" class="pc_img" /&gt;&lt;/a&gt;&lt;a href="http://flickr.com/photos/sqbbe/2399984985/" class="pc_link" id="stewart_swf2399984985_trigger_a"&gt;&lt;img src="http://l.yimg.com/www.flickr.com/images/video_play_icon_small.png.v1" width="11" height="11" alt="" class="trans_png" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s" id="stewart_swf2400358812_div"&gt;&lt;a href="http://flickr.com/photos/lodrorigdzin/2400358812/" title="binnenrotte by lodrorigdzin"&gt;&lt;img src="http://farm3.static.flickr.com/2219/2400358812_8eed19b5c5_s.jpg" width="75" height="75" alt="binnenrotte by lodrorigdzin" class="pc_img" /&gt;&lt;/a&gt;&lt;a href="http://flickr.com/photos/lodrorigdzin/2400358812/" class="pc_link" id="stewart_swf2400358812_trigger_a"&gt;&lt;img src="http://l.yimg.com/www.flickr.com/images/video_play_icon_small.png.v1" width="11" height="11" alt="" class="trans_png" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s" id="stewart_swf2398525947_div"&gt;&lt;a href="http://flickr.com/photos/dunstan/2398525947/" title="Beach close-ups (cc) by Dunstan Orchard"&gt;&lt;img src="http://farm3.static.flickr.com/2334/2398525947_ecbcf5be96_s.jpg" width="75" height="75" alt="Beach close-ups (cc) by Dunstan Orchard" class="pc_img" /&gt;&lt;/a&gt;&lt;a href="http://flickr.com/photos/dunstan/2398525947/" class="pc_link" id="stewart_swf2398525947_trigger_a"&gt;&lt;img src="http://l.yimg.com/www.flickr.com/images/video_play_icon_small.png.v1" width="11" height="11" alt="" class="trans_png" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s" id="stewart_swf2401334868_div"&gt;&lt;a href="http://flickr.com/photos/wvs/2401334868/" title="Parking Timelapse by wvs"&gt;&lt;img src="http://farm4.static.flickr.com/3184/2401334868_3aeb655780_s.jpg" width="75" height="75" alt="Parking Timelapse by wvs" class="pc_img" /&gt;&lt;/a&gt;&lt;a href="http://flickr.com/photos/wvs/2401334868/" class="pc_link" id="stewart_swf2401334868_trigger_a"&gt;&lt;img src="http://l.yimg.com/www.flickr.com/images/video_play_icon_small.png.v1" width="11" height="11" alt="" class="trans_png" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s" id="stewart_swf2350669090_div"&gt;&lt;a href="http://flickr.com/photos/norby/2350669090/" title="The YipYips @ Flickr333 by Norby"&gt;&lt;img src="http://farm2.static.flickr.com/1182/2350669090_790336f781_s.jpg" width="75" height="75" alt="The YipYips @ Flickr333 by Norby" class="pc_img" /&gt;&lt;/a&gt;&lt;a href="http://flickr.com/photos/norby/2350669090/" class="pc_link" id="stewart_swf2350669090_trigger_a"&gt;&lt;img src="http://l.yimg.com/www.flickr.com/images/video_play_icon_small.png.v1" width="11" height="11" alt="" class="trans_png" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s" id="stewart_swf2401958684_div"&gt;&lt;a href="http://flickr.com/photos/laughingsquid/2401958684/" title="That's a lot of cops by Laughing Squid"&gt;&lt;img src="http://farm3.static.flickr.com/2385/2401958684_e22a0568f7_s.jpg" width="75" height="75" alt="That's a lot of cops by Laughing Squid" class="pc_img" /&gt;&lt;/a&gt;&lt;a href="http://flickr.com/photos/laughingsquid/2401958684/" class="pc_link" id="stewart_swf2401958684_trigger_a"&gt;&lt;img src="http://l.yimg.com/www.flickr.com/images/video_play_icon_small.png.v1" width="11" height="11" alt="" class="trans_png" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s" id="stewart_swf2401829850_div"&gt;&lt;a href="http://flickr.com/photos/hjem/2401829850/" title="protest by Hjem"&gt;&lt;img src="http://farm4.static.flickr.com/3282/2401829850_8dea016ecd_s.jpg" width="75" height="75" alt="protest by Hjem" class="pc_img" /&gt;&lt;/a&gt;&lt;a href="http://flickr.com/photos/hjem/2401829850/" class="pc_link" id="stewart_swf2401829850_trigger_a"&gt;&lt;img src="http://l.yimg.com/www.flickr.com/images/video_play_icon_small.png.v1" width="11" height="11" alt="" class="trans_png" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s" id="stewart_swf2401143541_div"&gt;&lt;a href="http://flickr.com/photos/avatara/2401143541/" title="Jerry and David - Faceball face off! by Avatara"&gt;&lt;img src="http://farm3.static.flickr.com/2319/2401143541_9436dc96f2_s.jpg" width="75" height="75" alt="Jerry and David - Faceball face off! by Avatara" class="pc_img" /&gt;&lt;/a&gt;&lt;a href="http://flickr.com/photos/avatara/2401143541/" class="pc_link" id="stewart_swf2401143541_trigger_a"&gt;&lt;img src="http://l.yimg.com/www.flickr.com/images/video_play_icon_small.png.v1" width="11" height="11" alt="" class="trans_png" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/mcphotoworks/2247206194/" title="Bouncy Friends With You by Brian McCarty"&gt;&lt;img src="http://farm3.static.flickr.com/2117/2247206194_984e369a96_s.jpg" width="75" height="75" alt="Bouncy Friends With You by Brian McCarty" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s" id="stewart_swf2400248460_div"&gt;&lt;a href="http://flickr.com/photos/thincvox/2400248460/" title="Going through security at the airport by thincvox"&gt;&lt;img src="http://farm3.static.flickr.com/2060/2400248460_f8df6dcc71_s.jpg" width="75" height="75" alt="Going through security at the airport by thincvox" class="pc_img" /&gt;&lt;/a&gt;&lt;a href="http://flickr.com/photos/thincvox/2400248460/" class="pc_link" id="stewart_swf2400248460_trigger_a"&gt;&lt;img src="http://l.yimg.com/www.flickr.com/images/video_play_icon_small.png.v1" width="11" height="11" alt="" class="trans_png" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;div class="clearfix"&gt;&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/269498357" height="1" width="1"/&gt;</description>
      <pubDate>Sun, 13 Apr 2008 09:00:02 -0700</pubDate>
      <guid isPermaLink="false">http://randomfoo.net/blog/id/4166</guid>
    <feedburner:origLink>http://randomfoo.net/blog/id/4166</feedburner:origLink></item>
    <item>
      <title>Getting Started w/ Python</title>
      <link>http://feeds.feedburner.com/~r/randomfoo/~3/266136809/4165</link>
      <description>&lt;p&gt;As you might have heard, &lt;a href="http://code.google.com/appengine/"&gt;Google AppEngine&lt;/a&gt; launched tonight, with &lt;a href="http://python.org/"&gt;Python&lt;/a&gt; as its initial (and only) programming language to interface with its services.  I started switching over to Python (from Perl) a few years ago for general processing and daemon tasks (mostly for its sweet RPC bindings and its comprehensive, if still somewhat convoluted Unicode handling).  Over time, as the libraries matured, I started moving more and more over - some things were long overdue, like a &lt;a href="http://cpan.org/"&gt;CPAN&lt;/a&gt; equivalent (&lt;a href="http://pypi.python.org/pypi"&gt;pypi&lt;/a&gt; and &lt;a href="http://peak.telecommunity.com/DevCenter/EasyInstall"&gt;EasyInstall&lt;/a&gt; have finally stepped up to the plate), but in some areas, like with cross-platform GUI toolkits, things like py2app/pyexe, or with libraries like &lt;a href="http://twistedmatrix.com/trac/"&gt;Twisted&lt;/a&gt;, and &lt;a href="http://www.scipy.org/"&gt;SciPy&lt;/a&gt;, and &lt;a href="http://www.crummy.com/software/BeautifulSoup/"&gt;Beautiful Soup&lt;/a&gt;, Python has long since blown past the competition.&lt;/p&gt;

&lt;p&gt;Earlier this year, as I was wrapping up at Yahoo!, I knew I wanted a clean start, and after reviewing what was out there decided on switching to Python as my primary language and making a go of writing my new web apps in &lt;a href="http://www.djangoproject.com/"&gt;Django&lt;/a&gt; (deployment, performance, and decoupling being among the primary factors; less wankery in the development community was also a big part of it).  I've been somewhat sidetracked by a slew of other projects, but so far it's been a good experience (and I hope to have some stuff to publish soon).&lt;/p&gt;

&lt;p&gt;Anyway, all this is a very, very, long setup for a list of resources that may help those who are looking to get started working w/ Python.  I'm still not as proficient as I'd like, so here are the references that I typically reach for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://pleac.sourceforge.net/pleac_python/"&gt;PLEAC Python&lt;/a&gt; - &lt;a href="http://pleac.sourceforge.net/"&gt;PLEAC&lt;/a&gt; (Programming Language Examples Alike Cookbook) is a project that aims to port the &lt;a href="http://www.oreilly.com/catalog/cookbook"&gt;Perl Cookbook&lt;/a&gt; to other languages.  The Python port has been at 85% for years, but is invaluable when looking at basic constructs.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://effbot.org/librarybook/"&gt;(the eff-bot guide to) The Standard Python Library&lt;/a&gt; - although a bit out of date and not comprehensive, it offers short and useful examples for most of the modules in Python.  This is great because often times the &lt;a href="http://docs.python.org/lib/lib.html"&gt;official library docs&lt;/a&gt; while technically complete are also at times completely opaque.  If I were to give any advice to people writing API docs, it would be to 1) have some simple real-world usage examples and to 2) allow user annotations (&lt;a href="http://www.php.net/manual/en/"&gt;PHP&lt;/a&gt; was (and remains!) way ahead of the curve on this one.  It's amazing how primitive the core language/library docs are.)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://diveintopython.org/toc/"&gt;Dive Into Python&lt;/a&gt; - I waffle back and forth on how much I like Mark Pilgrim's book - it's oftentimes just short of useful and not organized so well (I'm still looking for a good language reference), but it also has really useful tidbits, like when I forget how to &lt;a href="http://diveintopython.org/getting_to_know_python/everything_is_an_object.html#d0e4550"&gt;append the system import path&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://pbe.lightbird.net/"&gt;Python-by-example&lt;/a&gt; - this is a new one, and I haven't used it much (inline-search would do wonders for this) but I wholly approve of the intent: "This guide aims to show examples of use of all Python Library Reference functions, methods and classes."&lt;/li&gt;
&lt;li&gt;Otherwise, I've found that doing a web search almost always turns up something on ASPN or on a mailing list somewhere.&lt;/li&gt;
&lt;li&gt;Lastly, there are some interactive shells that are useful, specifically &lt;a href="http://ipython.scipy.org/moin/"&gt;IPython&lt;/a&gt;.  &lt;a href="http://fishsoup.net/software/reinteract/"&gt;Reinteract&lt;/a&gt; is less of a tool that I use everyday and more of something that's damn cool.  The same w/ &lt;a href="http://nodebox.net/"&gt;Nodebox&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Of course, one of the biggest benefits of Python is how readable the source code is - it's definitely a big help for seeing how things works.  Have any of your own favorite Python resources?  Please post 'em up on the comments.&lt;/p&gt;

&lt;p&gt;Getting up to speed on Django probably deserves its own post...&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/266136809" height="1" width="1"/&gt;</description>
      <pubDate>Mon, 07 Apr 2008 23:03:19 -0700</pubDate>
      <guid isPermaLink="false">http://randomfoo.net/blog/id/4165</guid>
    <feedburner:origLink>http://randomfoo.net/blog/id/4165</feedburner:origLink></item>
    <item>
      <title>R.E.M.</title>
      <link>http://feeds.feedburner.com/~r/randomfoo/~3/265532607/4164</link>
      <description>&lt;p&gt;I've never been a huge &lt;a href="http://www.remhq.com/"&gt;R.E.M.&lt;/a&gt; fan, most probably because I was introduced to them by their &lt;a href="http://en.wikipedia.org/wiki/Out_of_Time_(album)"&gt;Out of Time&lt;/a&gt; radio hits (&lt;a href="http://www.youtube.com/watch?v=M7vs21ZKrKM"&gt;Losing My Religion&lt;/a&gt; and &lt;a href="http://www.youtube.com/watch?v=YbGSDkvh8B0"&gt;Shiny Happy People&lt;/a&gt; still annoy the shit out of me) -- I remember listening to their followup albums Automatic for the People and Monster, and then losing interest.  I didn't have anything against them, and over the years they've popped up on my radar from time to time (more for their videos than their songs -- &lt;a href="http://www.youtube.com/watch?v=91euxMQ0Zyg"&gt;Everybody Hurts&lt;/a&gt; still holds up as an amazing work, and more recently, the Hammer &amp; Tongs directed &lt;a href="http://www.youtube.com/watch?v=CEhT2QlRBMo"&gt;Imitation of Life&lt;/a&gt; was also quite good), but they they've just never resonated with me all that much.&lt;/p&gt; 

&lt;p&gt;That being said, after reading &lt;a href="http://bigpicture.typepad.com/comments/2008/04/friday-night-ja.html"&gt;an interesting discussion&lt;/a&gt; on early R.E.M., I chased down their pre-90s work and will have to spend a day sometime giving it a listen.  Also, their new album (Accelerate) isn't bad (&lt;a href="http://www.youtube.com/watch?v=_We6ubpUHZs"&gt;single&lt;/a&gt;).  I've only given it one spin so far, although I've been deluged w/ new stuff lately and I guess in a different headspace at the moment (new things on rotation: Styrofoam, Cut Copy, M83).&lt;/p&gt;

&lt;p&gt;Here's a passage from &lt;a href="http://www.last.fm/user/rockrobster23/journal/2008/01/30/635002/"&gt;a last.fm journal&lt;/a&gt; linked from the discussion:&lt;/p&gt;

&lt;blockquote&gt;Much like a hat I used to own, R.E.M. was perfect because it fit perfectly into the space where nothing used to be. They drew on the energy of punk without its harshness and nihilism, replacing growling distortion with chiming Byrds guitars and hoarse, angry shouts with pretty harmonies, and filtered out the cornpone from country/roots, leaving only its forthright beauty, in a way that made perfect and astonishing sense to white Southern kids of a certain age, to whom real country was a cliche beloved by redneck uncles and to whom real punk, however satisfying its aggressive pleasures, was music about New York, and London, and Southern California, exotic places that bore scant resemblance to the tree-lined streets of our hometowns. R.E.M.âs sound validated a kind of modern-South lifestyle that we were already living, and made it seem both mythic and earnestly real. You couldnât buy drugs that did that. Not consistently, anyway.&lt;/blockquote&gt;&lt;img src="http://feeds.feedburner.com/~r/randomfoo/~4/265532607" height="1" width="1"/&gt;</description>
      <pubDate>Mon, 07 Apr 2008 00:56:59 -0700</pubDate>
      <guid isPermaLink="false">http://randomfoo.net/blog/id/4164</guid>
    <feedburner:origLink>http://randomfoo.net/blog/id/4164</feedburner:origLink></item>
    <item>
      <title>Flickr Favs: Sun Apr 06, 2008</title>
      <link>http://feeds.feedburner.com/~r/randomfoo/~3/265129674/4163</link>
      <description>&lt;div id="flickr_favorites"&gt;

&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/halfasecond/2389996973/" title=" by half a second"&gt;&lt;img src="http://farm4.static.flickr.com/3179/2389996973_d06dcdd6d6_s.jpg" width="75" height="75" alt=" by half a second" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/swifty/2390369846/" title="WHEEEEEEEE by stephen swift"&gt;&lt;img src="http://farm3.static.flickr.com/2046/2390369846_b9ddfab198_s.jpg" width="75" height="75" alt="WHEEEEEEEE by stephen swift" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/aagctt/2380189528/" title="Trampled by AAGCTT"&gt;&lt;img src="http://farm3.static.flickr.com/2147/2380189528_0c31b92f41_s.jpg" width="75" height="75" alt="Trampled by AAGCTT" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/basajauntxo/323273572/" title="Barcelona - Fuentes de Montjuic / Fountains of Montjuic by basajauntxo"&gt;&lt;img src="http://farm1.static.flickr.com/144/323273572_6c06446115_s.jpg" width="75" height="75" alt="Barcelona - Fuentes de Montjuic / Fountains of Montjuic by basajauntxo" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/meg/2360383585/" title="Camera haul by Meg Pickard"&gt;&lt;img src="http://farm3.static.flickr.com/2018/2360383585_c3bba8622d_s.jpg" width="75" height="75" alt="Camera haul by Meg Pickard" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/flamelilyfox/2385364612/" title="and later it rained  by Flamelilyfox"&gt;&lt;img src="http://farm3.static.flickr.com/2339/2385364612_8a4b285b10_s.jpg" width="75" height="75" alt="and later it rained  by Flamelilyfox" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/straup/2380695585/" title="Untitled Caveat #1207092776 by straup"&gt;&lt;img src="http://farm3.static.flickr.com/2120/2380695585_b1aa576af8_s.jpg" width="75" height="75" alt="Untitled Caveat #1207092776 by straup" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/taragl/107036825/" title="Eric's Crash Screen by taragl"&gt;&lt;img src="http://farm1.static.flickr.com/47/107036825_d152010ca0_s.jpg" width="75" height="75" alt="Eric's Crash Screen by taragl" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/telstar/255906680/" title="Atop the South Tower by Telstar Logistics"&gt;&lt;img src="http://farm1.static.flickr.com/112/255906680_63ecf97354_s.jpg" width="75" height="75" alt="Atop the South Tower by Telstar Logistics" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/briansolis/2321580573/" title="Line for the 16bit party @SXSW by b_d_solis"&gt;&lt;img src="http://farm4.static.flickr.com/3104/2321580573_276507f646_s.jpg" width="75" height="75" alt="Line for the 16bit party @SXSW by b_d_solis" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/getluky/2386011746/" title="Heart attack @ The Waffle by getluky"&gt;&lt;img src="http://farm4.static.flickr.com/3026/2386011746_47283ce5d9_s.jpg" width="75" height="75" alt="Heart attack @ The Waffle by getluky" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/hustlerofculture/2329030465/" title="SXSW - EMV Salt Lick Dinner by hustler of culture"&gt;&lt;img src="http://farm3.static.flickr.com/2210/2329030465_202fdf7543_s.jpg" width="75" height="75" alt="SXSW - EMV Salt Lick Dinner by hustler of culture" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/dorkmaster/2385394015/" title="New Series: Billboard-worthy twitters by Mike Monteiro"&gt;&lt;img src="http://farm4.static.flickr.com/3010/2385394015_2e95e3d15c_s.jpg" width="75" height="75" alt="New Series: Billboard-worthy twitters by Mike Monteiro" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/flattop341/260207117/" title="Yella Mella Macra by flattop341"&gt;&lt;img src="http://farm1.static.flickr.com/118/260207117_c1f4d23c61_s.jpg" width="75" height="75" alt="Yella Mella Macra by flattop341" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/41671154@N00/2247502196/" title="I wanna go back to my apartment and watch 'Kung Fu'. Do you ever watch 'Kung Fu'? by Blu Sun *Carrie*"&gt;&lt;img src="http://farm3.static.flickr.com/2376/2247502196_2d583481d9_s.jpg" width="75" height="75" alt="I wanna go back to my apartment and watch 'Kung Fu'. Do you ever watch 'Kung Fu'? by Blu Sun *Carrie*" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/indiekid/2382258631/" title="IMG_0135 by indiekid"&gt;&lt;img src="http://farm4.static.flickr.com/3239/2382258631_d197b1a1d1_s.jpg" width="75" height="75" alt="IMG_0135 by indiekid" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/sepultura/2282088722/" title="Do NOT Turn Jesus On. by sepultura"&gt;&lt;img src="http://farm3.static.flickr.com/2004/2282088722_c9c949e0b5_s.jpg" width="75" height="75" alt="Do NOT Turn Jesus On. by sepultura" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/jamison/2380745340/" title="Balloons by Jamison"&gt;&lt;img src="http://farm3.static.flickr.com/2003/2380745340_eda6ccc783_s.jpg" width="75" height="75" alt="Balloons by Jamison" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/boogeyman13/2379398710/" title="Zombie Colonel America by Boogeyman13"&gt;&lt;img src="http://farm3.static.flickr.com/2042/2379398710_b835a2ce3d_s.jpg" width="75" height="75" alt="Zombie Colonel America by Boogeyman13" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/pixel/2382248176/" title="I won! by sarah.c"&gt;&lt;img src="http://farm4.static.flickr.com/3246/2382248176_e6104afa39_s.jpg" width="75" height="75" alt="I won! by sarah.c" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/amiev/60392432/" title="Baptist Hospital Implosion - Memphis, TN by amiev"&gt;&lt;img src="http://farm1.static.flickr.com/27/60392432_d558f9b8a8_s.jpg" width="75" height="75" alt="Baptist Hospital Implosion - Memphis, TN by amiev" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/revdancatt/2381121954/" title="GNE paper resource tree by Rev Dan Catt"&gt;&lt;img src="http://farm4.static.flickr.com/3287/2381121954_7e553d2a45_s.jpg" width="75" height="75" alt="GNE paper resource tree by Rev Dan Catt" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/taragl/107036824/" title="GNE Map by taragl"&gt;&lt;img src="http://farm1.static.flickr.com/19/107036824_4d5eba9049_s.jpg" width="75" height="75" alt="GNE Map by taragl" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/dpstyles/2380347044/" title="awesome!  (ps:  found on fffffound) by dpstyles"&gt;&lt;img src="http://farm4.static.flickr.com/3163/2380347044_9cdf2a6afc_s.jpg" width="75" height="75" alt="awesome!  (ps:  found on fffffound) by dpstyles" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/jerakeen/2380032000/" title="badgorama by jerakeen"&gt;&lt;img src="http://farm3.static.flickr.com/2112/2380032000_04b3caf028_s.jpg" width="75" height="75" alt="badgorama by jerakeen" class="pc_img" /&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span class="photo_container pc_s"&gt;&lt;a href="http://flickr.com/photos/diegosierralta/2368607930/" title="osvaldo - seminario de retratos Frangieh by Diego Sierralta"&gt;&lt;img src="http://farm3.static.flickr.com/2354/2368607930_b515c456d2_s.jpg" width="75" height="75" alt="osvaldo - seminario de retratos Fr