<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
 
 <title>collapsing geography</title>
 
 <link href="http://cory.github.com/" />
 <updated>2009-06-30T08:57:23-07:00</updated>
 <id>http://cory.github.com/</id>
 <author>
   <name>Cory Ondrejka</name>
   <email>cory dot ondrejka at gmail dot com</email>
 </author>

 
 <link rel="self" href="http://feeds.feedburner.com/github/fgmV" type="application/atom+xml" /><entry>
   <title>speaking in metaplace today, 2pm PDT</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/57KcPN4qgs8/metaplace-talk-and-embedding.html" />
   <updated>2009-06-30T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/06/30/metaplace-talk-and-embedding</id>
   <content type="html">&lt;a href="http://www.raphkoster.com/"&gt;Raph Koster&lt;/a&gt; and I will be having a chat, moderated by my former Linden coworker Robin Harper, today in &lt;a href="http://metaplace.com/"&gt;Metaplace&lt;/a&gt;.  We just crossed paths at &lt;a href="http://www.nyls.edu/events/state_of_play/home"&gt;State of Play&lt;/a&gt; in &lt;span class="caps"&gt;NYC&lt;/span&gt; and we&amp;#8217;re looking forward to chatting about the present and future of virtual worlds and the web.  In related, and cool news, Metaplace just announced that their Flash client can be embedded, so you can join the discussion this afternoon through the client below.
&lt;iframe width="640" height="540" src="https://beta.metaplace.com/remote/embedsimple/thestage" style="border: 0; margin: 0; padding: 0; overflow: hidden;" frameborder="0" scrolling="no" scrollbar="no"&gt;&lt;/iframe&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/57KcPN4qgs8" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/06/30/metaplace-talk-and-embedding.html</feedburner:origLink></entry>
 
 <entry>
   <title>hodgman at correspondent's dinner</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/yUr054rMG2g/hodgman-ftw.html" />
   <updated>2009-06-21T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/06/21/hodgman-ftw</id>
   <content type="html">Sorry to be away for so long.  Work and life have both been rather busy of late.  For your patience, you are rewarded with John Hodgman at the Correspondent&amp;#8217;s dinner:
&lt;object width="600" height="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/yW7OPByRGDY&amp;#38;hl=en&amp;#38;fs=1&amp;#38;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/yW7OPByRGDY&amp;#38;hl=en&amp;#38;fs=1&amp;#38;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="600" height="480"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/yUr054rMG2g" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/06/21/hodgman-ftw.html</feedburner:origLink></entry>
 
 <entry>
   <title>the world of the future</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/t3IuZF0BDD8/world-of-future.html" />
   <updated>2009-05-31T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/05/31/world-of-future</id>
   <content type="html">I know, I need to do a &lt;a href="http://google.com/wave"&gt;Google Wave&lt;/a&gt; post, but for now, enjoy the World of the Future!
&lt;object width="600" height="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/GJjUVIIYptE&amp;#38;hl=en&amp;#38;fs=1&amp;#38;color1=0x3a3a3a&amp;#38;color2=0x999999"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/GJjUVIIYptE&amp;#38;hl=en&amp;#38;fs=1&amp;#38;color1=0x3a3a3a&amp;#38;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="600" height="480"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/t3IuZF0BDD8" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/05/31/world-of-future.html</feedburner:origLink></entry>
 
 <entry>
   <title>texas messing with itself, may go blind</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/5pZ2F6aC-Bk/messing-with-texas.html" />
   <updated>2009-05-22T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/05/22/messing-with-texas</id>
   <content type="html">Well, blind to science at least.
Texas&amp;#8217; senate is currently blocking &lt;a href="http://en.wikipedia.org/wiki/Don_McLeroy"&gt;Don McLeroy&lt;/a&gt; &lt;del&gt;- endorsed by governor &lt;a href="http://en.wikipedia.org/wiki/Rick_Perry"&gt;Rick Perry&lt;/a&gt; -&lt;/del&gt; from resuming his role as the Texas State Board of Education Chairman.  Why, you ask?
&lt;object width="500" height="400"&gt;&lt;param name="movie" value="http://www.youtube.com/v/7FID0E5T3I8&amp;#38;color1=0xb1b1b1&amp;#38;color2=0xcfcfcf&amp;#38;feature=player_embedded&amp;#38;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/7FID0E5T3I8&amp;#38;color1=0xb1b1b1&amp;#38;color2=0xcfcfcf&amp;#38;feature=player_embedded&amp;#38;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="500" height="400"&gt;&lt;/embed&gt;&lt;/object&gt;
Really, Texas, you want someone running your board of education who wants to teach what is so clearly wrong?  Of course, maybe he&amp;#8217;s just afraid of getting &lt;a href="http://ncseweb.org/news/2009/05/verdict-against-critic-creationism-004771"&gt;sued&lt;/a&gt;.
The United States really needs another &lt;a href="http://www.news.harvard.edu/gazette/2007/10.11/07-sputnik.html"&gt;sputnik&lt;/a&gt;.&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/5pZ2F6aC-Bk" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/05/22/messing-with-texas.html</feedburner:origLink></entry>
 
 <entry>
   <title>photos to maps</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/Mq-pOPXGe_o/c3-maps.html" />
   <updated>2009-05-21T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/05/21/c3-maps</id>
   <content type="html">&lt;a href="http://www.microsoft.com/virtualearth/"&gt;Microsoft&amp;#8217;s Visual Earth&lt;/a&gt; has been doing this for a while, but these new movies from &lt;a href="http://www.c3technologies.com/en_image_tech.php"&gt;C3&lt;/a&gt; are quite pretty.  Definite style points for all the matrix-camera action, too.  Very impressive for a straight imagery-to-model conversion.  What would be really cool would be to see their engine running in &lt;a href="http://unity3d.com/"&gt;Unity3D&lt;/a&gt; or another web platform.
&lt;object width="500" height="400"&gt;&lt;param name="movie" value="http://www.youtube.com/v/RqtlGNtc58g&amp;#38;color1=0xb1b1b1&amp;#38;color2=0xcfcfcf&amp;#38;feature=player_embedded&amp;#38;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/RqtlGNtc58g&amp;#38;color1=0xb1b1b1&amp;#38;color2=0xcfcfcf&amp;#38;feature=player_embedded&amp;#38;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="500" height="400"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/Mq-pOPXGe_o" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/05/21/c3-maps.html</feedburner:origLink></entry>
 
 <entry>
   <title>rubyflashbake automatic web-aware git and github checkins</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/ppXZT8nVFuU/rubyflashbake.html" />
   <updated>2009-05-20T00:00:00-07:00</updated>
   <id>http://cory.github.com/code/2009/05/20/rubyflashbake</id>
   <content type="html">&lt;h2&gt;A Ruby project inspired by Thomas Gideon&amp;#8217;s python &lt;a href="http://wiki.github.com/commandline/flashbake"&gt;Flashbake&lt;/a&gt; project&lt;/h2&gt;


	&lt;h3&gt;What is rubyflashbake?&lt;/h3&gt;


	&lt;p&gt;Automatically checks in files from watched directories to git and github with time, location, weather, and recent twitter comments in the commit comments.&lt;/p&gt;


	&lt;h3&gt;&amp;#8220;But, why?&amp;#8221; you ask&lt;/h3&gt;


	&lt;p&gt;I thought that Flashbake was a very cool project, but since I spend time in the Ruby world &amp;#8211; and do more blogging than writing &amp;#8211; converting it to Ruby seemed like a fun weekend project. Plus, I wanted to experiment with monitoring directories, building an app that works well with small Ruby plugins, do some web scraping, automate git, and building a gem.&lt;/p&gt;


	&lt;p&gt;As always, it&amp;#8217;s all about writing snippets of fun code.  This gave me an excuse to look at&lt;/p&gt;


	&lt;h3&gt;Use&lt;/h3&gt;


	&lt;p&gt;You can find the project on &lt;a href="http://github.com/cory/rubyflashbake/tree/master"&gt;Github&lt;/a&gt;.  It is also packaged as a Ruby Gem, so you can download and install it by:&lt;/p&gt;


	&lt;p&gt;&lt;strong style="border:1px dotted gray;"&gt;sudo gem install cory-rubyflashbake -s http://gems.github.com/&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Run &lt;strong style="border:1px dotted gray;"&gt;rubyflashbake&amp;#8212;example&lt;/strong&gt; in the directory you want to watch to dump the configuration file.  Fill in as needed and then launch &lt;strong style="border:1px dotted gray;"&gt;rubyflashbake&lt;/strong&gt; and enjoy automatic git and github commits with lots of fun location and web aware commit comments.  Bask in joy.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/ppXZT8nVFuU" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/code/2009/05/20/rubyflashbake.html</feedburner:origLink></entry>
 
 <entry>
   <title>annoying github, git, jeweler, ruby gem "bug"</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/KYUuIMji84U/jewelery-fubar.html" />
   <updated>2009-05-19T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/05/19/jewelery-fubar</id>
   <content type="html">&lt;p&gt;Trust me, this is too geeky for words, but while mucking around with a small ruby test project ran into a bug that consumed most of the flight back from London and a late night debug session last night.  Google didn&amp;#8217;t find the answer, so posting here in case someone else runs into it.
Let us imagine you are:
- Building an app that automatically checks directories into &lt;a href="http://git-scm.com/"&gt;git&lt;/a&gt;.  For me, this is &lt;a href="http://github.com/cory/rubyflashbake/tree/master"&gt;rubyflashbake&lt;/a&gt;.
- Testing this app using &lt;a href="http://www.zenspider.com/ZSS/Products/ZenTest/"&gt;autotest&lt;/a&gt; and &lt;a href="http://rspec.info/"&gt;rspec&lt;/a&gt;.
- During testing, you are creating and destroying git repositories, adding files, etc.
- You decide to jump on Github&amp;#8217;s Ruby &lt;a href="http://gems.github.com/"&gt;gem&lt;/a&gt; hosting.
- In order to play nice to Github&amp;#8217;s gem generation, you follow their recommendations and grab the &lt;a href="http://github.com/technicalpickles/jeweler/tree/master"&gt;jeweler&lt;/a&gt; gem and add it as a rake task.
- Decide to check for test coverage with rcov, so you create a rake specs task&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Hilarity&lt;/strong&gt; will ensue. Not only will a ton of your tests fail, your main git repository will have a ton of staged files and act as if you just triggered a ton of git commands from your project root, even though all your tests take place off in a test directory.  Unfortunately, all attempts to reproduce the behavior from the command line fail.  Autotest still works fine, too. Hmmm.
Lots of code cleanup later I had the &amp;#8220;Eureka!&amp;#8221; moment and thought &amp;#8220;I wonder what the environment looks like within autotest versus rake?&amp;#8221; 
(puts &lt;span class="caps"&gt;ENV&lt;/span&gt;.to_hash.to_s is your friend!)
Lo and behold, three environment variables were set by rake &lt;del&gt;- &lt;span class="caps"&gt;GIT&lt;/span&gt;_DIR, &lt;span class="caps"&gt;GIT&lt;/span&gt;_WORK_TREE and &lt;span class="caps"&gt;GIT&lt;/span&gt;_INDEX_FILE -&lt;/del&gt; and these three variable will override git command line settings.  Turns out, jeweler, in an attempt to be helpful, sets these environment variables up for you, hence the difference between rake and autotest.&lt;/p&gt;


	&lt;p&gt;This was easy to fix in an rspec before clause:
  &lt;span class="caps"&gt;ENV&lt;/span&gt;[&amp;#8220;GIT_DIR&amp;#8221;] = nil
  &lt;span class="caps"&gt;ENV&lt;/span&gt;[&amp;#8220;GIT_WORK_TREE&amp;#8221;] = nil
  &lt;span class="caps"&gt;ENV&lt;/span&gt;[&amp;#8220;GIT_INDEX_FILE&amp;#8221;] = nil
So, strange mystery solved and a bit of knowledge gained.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/KYUuIMji84U" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/05/19/jewelery-fubar.html</feedburner:origLink></entry>
 
 <entry>
   <title>it's important to reboot the jokes, too</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/kUFU-DFXlVc/trek-humor.html" />
   <updated>2009-05-11T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/05/11/trek-humor</id>
   <content type="html">&lt;object id="flashObj" width="486" height="412" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,47,0"&gt;&lt;param name="movie" value="http://c.brightcove.com/services/viewer/federated_f9/6555681001?isVid=1&amp;#38;publisherID=769341148" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;param name="flashVars" value="videoId=22699435001&amp;#38;playerID=6555681001&amp;#38;domain=embed&amp;#38;" /&gt;&lt;param name="base" value="http://admin.brightcove.com" /&gt;&lt;param name="seamlesstabbing" value="false" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="swLiveConnect" value="true" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;embed src="http://c.brightcove.com/services/viewer/federated_f9/6555681001?isVid=1&amp;#38;publisherID=769341148" bgcolor="#FFFFFF" flashVars="videoId=22699435001&amp;#38;playerID=6555681001&amp;#38;domain=embed&amp;#38;" base="http://admin.brightcove.com" name="flashObj" width="486" height="412" seamlesstabbing="false" type="application/x-shockwave-flash" allowFullScreen="true" swLiveConnect="true" allowScriptAccess="always" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/kUFU-DFXlVc" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/05/11/trek-humor.html</feedburner:origLink></entry>
 
 <entry>
   <title>why jim is in the dictionary under "awesome"</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/xpxu5sYEVnk/jim-as-conductor.html" />
   <updated>2009-05-11T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/05/11/jim-as-conductor</id>
   <content type="html">&lt;embed src="http://blip.tv/play/AYGAx2aB6RA" type="application/x-shockwave-flash" width="580" height="460" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;

	&lt;p&gt;&lt;a href="http://jimpurbrick.com/"&gt;Jim Purbrick&lt;/a&gt; conducting the London Geek iPhone OScestra at &lt;a href="http://openhacklondon.pbworks.com/"&gt;Open Hack London&lt;/a&gt;.  Very cool and terrifying at the same time.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/xpxu5sYEVnk" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/05/11/jim-as-conductor.html</feedburner:origLink></entry>
 
 <entry>
   <title>thinking about insurgencies</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/QGKnEiyub_g/two-takes-on-insurgents.html" />
   <updated>2009-05-04T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/05/04/two-takes-on-insurgents</id>
   <content type="html">&lt;p&gt;Just finished reading Reza Aslan&amp;#8217;s new book, &lt;a href="http://www.amazon.com/gp/product/1400066727?ie=UTF8&amp;#38;tag=collapsinggeo-20&amp;#38;linkCode=as2&amp;#38;camp=1789&amp;#38;creative=9325&amp;#38;creativeASIN=1400066727"&gt;How to Win a Cosmic War&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=collapsinggeo-20&amp;#38;l=as2&amp;#38;o=1&amp;#38;a=1400066727" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;"/&gt; on &lt;a href="http://www.amazon.com/gp/product/B00154JDAI?ie=UTF8&amp;#38;tag=collapsinggeo-20&amp;#38;linkCode=as2&amp;#38;camp=1789&amp;#38;creative=9325&amp;#38;creativeASIN=B00154JDAI"&gt;Kindle&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=collapsinggeo-20&amp;#38;l=as2&amp;#38;o=1&amp;#38;a=B00154JDAI" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;"/&gt;.  Read it.  It will almost certainly piss you off, but read it anyway.  Kudos to Reza for slaying many sacred cows along the way to providing a remarkably insightful look at jihadism and extremism.
It was especially interesting to read it just before plowing through Malcolm Gladwell&amp;#8217;s story on the New Yorker, &lt;a href="http://www.newyorker.com/reporting/2009/05/11/090511fa_fact_gladwell?printable=true"&gt;How David Beats Goliath&lt;/a&gt;,  It focuses on the often-ignored lesson of history that when Davids compete with Goliaths, David had better not play by Goliath&amp;#8217;s rules.  He has his usual mix of engaging examples &lt;del&gt;- ranging from girl&amp;#8217;s basketball in California to Laurence of Arabia -&lt;/del&gt; but the key concepts are probably familiar to anyone who reads my blog: innovation comes from collisions between formerly disjoint knowledge and when the rules change existing advantages can go out the window.
What was new to me was Gladwell&amp;#8217;s examination of how hard it is to stick to insurgent behavior.  Given almost any combination of outside pressure, easier paths, or changed opportunities, the vast majority will return &amp;#8220;normal&amp;#8221; behavior.  Full-court presses trump skill in basketball, but don&amp;#8217;t feel normal, so even very smart coaches don&amp;#8217;t run them.  It&amp;#8217;s like research from several years ago that &lt;a href="http://sports.espn.go.com/espnmag/story?section=magazine&amp;#38;id=3641375"&gt;football teams should go for it on 4th down far more often then normal&lt;/a&gt;, which is almost universally ignored despite demonstrations that it &lt;a href="http://highschool.rivals.com/content.asp?CID=892888"&gt;works&lt;/a&gt;!
Which brings us back to Reza&amp;#8217;s book.  Conventional thinking on fighting extremism is to use military might despite many historical examples of what happens when extremists are actually brought into the democratic process.  But deciding to allow former terrorists to attempt to govern is hard.  Focusing on economic challenges is hard.  Recognizing that the world isn&amp;#8217;t simple black and white is hard.  These are all outside our normal worldview, so it&amp;#8217;s easier to go back to &amp;#8220;normal&amp;#8221; methods.
Even when they don&amp;#8217;t work.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/QGKnEiyub_g" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/05/04/two-takes-on-insurgents.html</feedburner:origLink></entry>
 
 <entry>
   <title>how cool would this be on the iphone or as a game?</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/DJhKWQ8AzQ8/amazing-map.html" />
   <updated>2009-05-01T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/05/01/amazing-map</id>
   <content type="html">&lt;p&gt;Jack Schulze has created a sweet method of looking at a city: &lt;img src="http://kottkegae.appspot.com/images/uptown.jpg" alt="" /&gt;
He explains what he did on his &lt;a href="http://schulzeandwebb.com/hat/"&gt;blog&lt;/a&gt;, but what jumps out at me is a) what a beautiful approach this would be for pedestrian navigation on portable devices and b) a core display mechanic for dozens of different games.
For navigation, the approach smoothly blends between a first person view in the near field (which is useful for aligning the map to what you actually are seeing) and a useful 3rd person, god&amp;#8217;s eye view for seeing the big picture/setting context in the distance.  Especially when thinking about applications where situational awareness is important, this could open up whole new lines of research on UX.  Imagine this running on iPhone, with a smooth animation between current positions and where you tap in the distance.  The change in view point again helps you, since in the near field you&amp;#8217;re tapping &amp;#8220;forward&amp;#8221;, so your taps are on buildings, potentially to see nearby points of interest.  In the far field, you&amp;#8217;re tapping &amp;#8220;down&amp;#8221;, so taps naturally map to addresses. 
As for games, how cool would it be to play an &lt;span class="caps"&gt;RTS&lt;/span&gt; or &lt;span class="caps"&gt;FPS&lt;/span&gt; on that map?
Very inspiring work!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/DJhKWQ8AzQ8" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/05/01/amazing-map.html</feedburner:origLink></entry>
 
 <entry>
   <title>brain simulations</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/Sslz4yurAXg/yay-brains.html" />
   <updated>2009-04-24T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/04/24/yay-brains</id>
   <content type="html">&lt;p&gt;Cool story on the &lt;a href="http://news.bbc.co.uk/1/hi/sci/tech/8012496.stm"&gt;&lt;span class="caps"&gt;BBC&lt;/span&gt;&lt;/a&gt; about the &lt;a href="http://bluebrain.epfl.ch/page18699.html's"&gt;Blue Brain Project&lt;/a&gt; recent success in simulating &lt;a href="http://en.wikipedia.org/wiki/Neocortical_column"&gt;neocortical columns&lt;/a&gt;.  This 6-layered, 2mm x 0.5mm column of neurons is the basic building block of the neocortex.
&lt;img src="http://static.guim.co.uk/sys-images/Technology/Pix/pictures/2007/12/19/bluebrain.article.jpg" alt="" /&gt;
These columns, and the complex wiring between them, is what makes us &lt;strong&gt;us&lt;/strong&gt;, so accurately simulating one column is the first step in simulating all of them.  Humans only have about 2 million neocortical columns, so even though it took a supercomputer to simulate one of them today, getting 2 million times the processing capability isn&amp;#8217;t that far away, especially given the relatively modest bandwidth requirements between columns.  With the time horizon for enough computing horsepower to simulate the entire brain only 10-15 years away and a theoretical blueprint for design and simulation well underway, synthetic brains may finally achieve what we&amp;#8217;ve been promised since the 1960&amp;#8217;s.&lt;/p&gt;


	&lt;p&gt;The focus on neocortical columns was made famous in geek communities by Jeff Hawkins&amp;#8217; book, &lt;a href="http://www.amazon.com/gp/product/0805078533?ie=UTF8&amp;#38;tag=collapsinggeo-20&amp;#38;linkCode=as2&amp;#38;camp=1789&amp;#38;creative=9325&amp;#38;creativeASIN=0805078533"&gt;On Intelligence&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=collapsinggeo-20&amp;#38;l=as2&amp;#38;o=1&amp;#38;a=0805078533" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;"/&gt;.  Philip was very excited by the book in 2004 and it made the Linden rounds in 2004.  Soon after, Jeff announced &lt;a href="http://www.numenta.com/"&gt;Numenta&lt;/a&gt;, a company focused on developing the book&amp;#8217;s ideas.  At the time, I would have bet that by 2009, a group of us would have moved on to the brain project.  After all, building &lt;a href="http://en.wikipedia.org/wiki/Skynet_(fictional"&gt;Skynet&lt;/a&gt;) always felt like an appropriate follow on to Second Life.&lt;/p&gt;


	&lt;p&gt;The exciting/terrifying part, of course, is that much like Juan Enriquez&amp;#8217;s arguments about homo evolutis, reaching a barely functional brain is likely to be vastly more difficult than taking that brain to levels that far exceed human norms.&lt;/p&gt;


&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/JNcLKbJs3xk&amp;#38;color1=0xb1b1b1&amp;#38;color2=0xcfcfcf&amp;#38;hl=en&amp;#38;feature=player_embedded&amp;#38;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/JNcLKbJs3xk&amp;#38;color1=0xb1b1b1&amp;#38;color2=0xcfcfcf&amp;#38;hl=en&amp;#38;feature=player_embedded&amp;#38;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/Sslz4yurAXg" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/04/24/yay-brains.html</feedburner:origLink></entry>
 
 <entry>
   <title>reza on daily show</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/_loxZtg3p_I/reza-on-daily-show.html" />
   <updated>2009-04-22T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/04/22/reza-on-daily-show</id>
   <content type="html">My friend Reza Aslan was on the Daily Show last night promoting his new book, &lt;a href="http://www.amazon.com/gp/product/1400066727?ie=UTF8&amp;#38;tag=collapsinggeo-20&amp;#38;linkCode=as2&amp;#38;camp=1789&amp;#38;creative=9325&amp;#38;creativeASIN=1400066727"&gt;How to Win a Cosmic War&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=collapsinggeo-20&amp;#38;l=as2&amp;#38;o=1&amp;#38;a=1400066727" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;"/&gt;.  I&amp;#8217;ve already downloaded it to &lt;a href="http://www.amazon.com/gp/product/B00154JDAI?ie=UTF8&amp;#38;tag=collapsinggeo-20&amp;#38;linkCode=as2&amp;#38;camp=1789&amp;#38;creative=9325&amp;#38;creativeASIN=B00154JDAI"&gt;Kindle&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=collapsinggeo-20&amp;#38;l=as2&amp;#38;o=1&amp;#38;a=B00154JDAI" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;"/&gt; and am looking forward to reading it.
&lt;table style='font:11px arial; color:#333; background-color:#f5f5f5' cellpadding='0' cellspacing='0' width='360' height='353'&gt;&lt;tbody&gt;&lt;tr style='background-color:#e5e5e5' valign='middle'&gt;&lt;td style='padding:2px 1px 0px 5px;'&gt;&lt;a target='_blank' style='color:#333; text-decoration:none; font-weight:bold;' href='http://www.thedailyshow.com/'&gt;The Daily Show With Jon Stewart&lt;/a&gt;&lt;/td&gt;&lt;td style='padding:2px 5px 0px 5px; text-align:right; font-weight:bold;'&gt;M &amp;#8211; Th 11p / 10c&lt;/td&gt;&lt;/tr&gt;&lt;tr style='height:14px;' valign='middle'&gt;&lt;td style='padding:2px 1px 0px 5px;' colspan='2'&gt;&lt;a target='_blank' style='color:#333; text-decoration:none; font-weight:bold;' href='http://www.thedailyshow.com/video/index.jhtml?videoId=224289&amp;#38;title=reza-aslan'&gt;Reza Aslan&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style='height:14px; background-color:#353535' valign='middle'&gt;&lt;td colspan='2' style='padding:2px 5px 0px 5px; width:360px; overflow:hidden; text-align:right'&gt;&lt;a target='_blank' style='color:#96deff; text-decoration:none; font-weight:bold;' href='http://www.thedailyshow.com/'&gt;thedailyshow.com&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr valign='middle'&gt;&lt;td style='padding:0px;' colspan='2'&gt;&lt;embed style='display:block' src='http://media.mtvnservices.com/mgid:cms:item:comedycentral.com:224289' width='360' height='301' type='application/x-shockwave-flash' wmode='window' allowFullscreen='true' flashvars='autoPlay=false' allowscriptaccess='always' allownetworking='all' bgcolor='#000000'&gt;&lt;/embed&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style='height:18px;' valign='middle'&gt;&lt;td style='padding:0px;' colspan='2'&gt;&lt;table style='margin:0px; text-align:center' cellpadding='0' cellspacing='0' width='100%' height='100%'&gt;&lt;tr valign='middle'&gt;&lt;td style='padding:3px; width:33%;'&gt;&lt;a target='_blank' style='font:10px arial; color:#333; text-decoration:none;' href='http://www.thedailyshow.com/full-episodes/index.jhtml'&gt;Daily Show&lt;br/&gt; Full Episodes&lt;/a&gt;&lt;/td&gt;&lt;td style='padding:3px; width:33%;'&gt;&lt;a target='_blank' style='font:10px arial; color:#333; text-decoration:none;' href='http://www.thedailyshow.com/tagSearchResults.jhtml?term=Clusterf%23%40k+to+the+Poor+House'&gt;Economic Crisis&lt;/a&gt;&lt;/td&gt;&lt;td style='padding:3px; width:33%;'&gt;&lt;a target='_blank' style='font:10px arial; color:#333; text-decoration:none;' href='http://www.indecisionforever.com'&gt;Political Humor&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/_loxZtg3p_I" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/04/22/reza-on-daily-show.html</feedburner:origLink></entry>
 
 <entry>
   <title>google's move into 3d on web</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/25CcNSLmVbk/3d-on-web.html" />
   <updated>2009-04-21T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/04/21/3d-on-web</id>
   <content type="html">&lt;p&gt;About a year ago, I wrote about betting on the web, surfing the wake of the whole world trying to make the web work better.  Since then, much has happened around graphics on the web.  The &lt;a href="http://www.benjoffe.com/code/demos/canvascape/"&gt;canvas tag&lt;/a&gt; has taken off, great game engines like &lt;a href="http://unity3d.com/"&gt;Unity&lt;/a&gt; are emerging, and &lt;a href="http://www.khronos.org/news/press/releases/khronos-launches-initiative-for-free-standard-for-accelerated-3d-on-web/"&gt;OpenGL&lt;/a&gt; has turned its attention to the web.  Now, Google throws its hat in the ring with &lt;a href="http://code.google.com/apis/o3d/"&gt;o3d&lt;/a&gt;.  Very cool stuff when you think about how this will blend with Google&amp;#8217;s &lt;a href="http://sketchup.google.com/3dwarehouse/"&gt;3d warehouse&lt;/a&gt; and &lt;a href="http://sketchup.google.com/"&gt;sketchup&lt;/a&gt;.  A much more interesting starting place for online collaboration than Lively.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/25CcNSLmVbk" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/04/21/3d-on-web.html</feedburner:origLink></entry>
 
 <entry>
   <title>the ultimate obscurity is not security story</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/KbLKvCbPO-c/security-obscurity.html" />
   <updated>2009-04-21T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/04/21/security-obscurity</id>
   <content type="html">&lt;p&gt;Cool story on &lt;a href="http://www.wired.com/print/politics/security/news/2009/04/fleetcom"&gt;Wired&lt;/a&gt; about Brazilian hijacking of US military communication satellites.  Apparently, $500 gets you the kit and the knowledge to bounce off the &lt;span class="caps"&gt;FLTSATCOM&lt;/span&gt; transponders, which happily repeat any signal that hits their uplink antenna in the 292- to 317-MHz range.  Think about this discussion: &amp;#8220;Do we need to have a security protocol for these birds?&amp;#8221; &amp;#8220;Nah, who&amp;#8217;s going to figure out where the satellite is, what frequency to hit it with, and then cobble the equipment together?&amp;#8221;  Oops!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/KbLKvCbPO-c" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/04/21/security-obscurity.html</feedburner:origLink></entry>
 
 <entry>
   <title>xkcd makes me happy to be a geek</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/kYN-Uin3Jls/xkcd-sheep.html" />
   <updated>2009-04-20T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/04/20/xkcd-sheep</id>
   <content type="html">&lt;p&gt;Geek humor at it&amp;#8217;s very best. &lt;img src="http://imgs.xkcd.com/comics/cant_sleep.png" width="585" height="192" border="0"&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/kYN-Uin3Jls" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/04/20/xkcd-sheep.html</feedburner:origLink></entry>
 
 <entry>
   <title>more kindle tech books</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/TiehiupAsc0/pragmatic.html" />
   <updated>2009-04-20T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/04/20/pragmatic</id>
   <content type="html">&lt;p&gt;I wrote a few days ago about &lt;a href="./blog/2009/04/18/oreilly-kindle-support.html"&gt;O&amp;#8217;Reilly&lt;/a&gt; bringing a bunch of their tech books to kindle.  Just noticed that &lt;a href="http://www.pragprog.com/"&gt;The Pragmatic Programmers&lt;/a&gt; now support the mobi format, too.  Thanks, PragProg!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/TiehiupAsc0" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/04/20/pragmatic.html</feedburner:origLink></entry>
 
 <entry>
   <title>an xkcd book!</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/pD200CK9iA8/an-xkcd-book.html" />
   <updated>2009-04-20T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/04/20/an-xkcd-book</id>
   <content type="html">&lt;p&gt;Ok, sorry for two &lt;a href="http://xkcd.com"&gt;xkcd&lt;/a&gt; posts in a row, but just saw this &lt;a href="http://www.nytimes.com/2009/04/20/business/media/20link.html"&gt;story&lt;/a&gt;. Randall Munroe, the creator of xkcd, is releasing a physical book with 200-ish cartoons in it.  Very cool, as well as an excellent discussion of how digital artifacts can effectively transition into the physical. However, how come 10,000 copies at $19? This is an artifact for us, the fans of xkcd.  Where is the leather bound, vellum coffee table edition for $200?  Want!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/pD200CK9iA8" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/04/20/an-xkcd-book.html</feedburner:origLink></entry>
 
 <entry>
   <title>thanks o'reilly!</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/zMc04EqNFo0/oreilly-kindle-support.html" />
   <updated>2009-04-18T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/04/18/oreilly-kindle-support</id>
   <content type="html">&lt;p&gt;Today &lt;a href="http://toc.oreilly.com/2009/04/over-160-oreilly-books-now-in-kindle-store-without-drm-more-on-the-way.html"&gt;O&amp;#8217;Reilly&lt;/a&gt; announced that over 160 books were coming to &lt;a href="http://www.amazon.com/gp/product/B00154JDAI?ie=UTF8&amp;#38;tag=collapsinggeo-20&amp;#38;linkCode=as2&amp;#38;camp=1789&amp;#38;creative=9325&amp;#38;creativeASIN=B00154JDAI"&gt;Kindle&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=collapsinggeo-20&amp;#38;l=as2&amp;#38;o=1&amp;#38;a=B00154JDAI" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;"/&gt;.  I&amp;#8217;ve been using Amazon&amp;#8217;s &lt;span class="caps"&gt;PDF&lt;/span&gt; conversion service but programming books often ended up mangled, so this is good news as the O&amp;#8217;Reilly blog posts mentions improved table rendering.  A quick glance seems to support this.  Hopefully we&amp;#8217;ll see many more technical books converted in the coming months.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/zMc04EqNFo0" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/04/18/oreilly-kindle-support.html</feedburner:origLink></entry>
 
 <entry>
   <title>holy crap awesome</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/dkJ07eGUwT0/holy-crap-awesome.html" />
   <updated>2009-04-17T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/04/17/holy-crap-awesome</id>
   <content type="html">&lt;p&gt;I know, you&amp;#8217;re sick of &lt;a href="http://github.com"&gt;GitHub love&lt;/a&gt;, especially if you aren&amp;#8217;t a programmer, product manager, or developer of one stripe or another, but I really think these guys are on the right track.  They have opened up their &lt;a href="http://develop.github.com/"&gt;developer site&lt;/a&gt; and have all the pieces to make just about any project tool you can imagine.  Thanks, guys!  Wonder if they&amp;#8217;ll figure out some profit sharing, bounty, or referral program to encourage you to make tools that generate paying GitHub accounts?&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/dkJ07eGUwT0" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/04/17/holy-crap-awesome.html</feedburner:origLink></entry>
 
 <entry>
   <title>national geographic infinite photograph</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/1YVWnE9rUs0/infinite-photograph.html" />
   <updated>2009-04-16T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/04/16/infinite-photograph</id>
   <content type="html">&lt;p&gt;The National Geographic website has a very cool &lt;a href="http://www.thegreenguide.com/infinite-photograph"&gt;infinite photograph&lt;/a&gt; on it.  It doesn&amp;#8217;t seem to have enough photos (there are a lot of duplicates making up specific colors/intensities) but it is a neat effect.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/1YVWnE9rUs0" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/04/16/infinite-photograph.html</feedburner:origLink></entry>
 
 <entry>
   <title>github picks up issues</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/KyvP5J8SlvI/github-issues.html" />
   <updated>2009-04-16T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/04/16/github-issues</id>
   <content type="html">&lt;p&gt;GitHub continues its push to become a complete hub for development by adding quick-and-easy &lt;a href="http://github.com/blog/411-github-issue-tracker"&gt;issue tracking&lt;/a&gt; to projects.  For example, when &lt;a href="http://disqus.com/people/b12630fb3016e3b3e6b769fe730d21ed/"&gt;Heather&lt;/a&gt; next has a complaint about the color scheme, she could open an &lt;a href="http://github.com/cory/cory.github.com/issues"&gt;issue on it&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;How long before GitHub takes a few pages from the &lt;a href="http://www.innocentive.com/"&gt;Innocentive&lt;/a&gt; playbook?  They could easily add challenges and rewards via PayPal (or &lt;a href="http://cory.github.com/blog/2009/04/08/1132.html"&gt;TipJoy&lt;/a&gt;), simple project management, more collaboration tools, etc.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/KyvP5J8SlvI" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/04/16/github-issues.html</feedburner:origLink></entry>
 
 <entry>
   <title>second life growing again</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/vG-RAg5hb4s/1240.html" />
   <updated>2009-04-15T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/04/15/1240</id>
   <content type="html">&lt;p&gt;James Au &lt;a href="http://nwn.blogs.com/nwn/2009/04/new-world-newsfeed.html"&gt;posts&lt;/a&gt; about his own &lt;a href="http://gigaom.com/2009/04/15/exclusive-internal-second-life-data-shows-returning-growth"&gt;GigaOm story&lt;/a&gt; showing that &lt;a href="http://secondlife.com"&gt;Second Life&lt;/a&gt; is returning to significant monthly growth.  &lt;img src="http://gigaom.files.wordpress.com/2009/04/monthly-repeat-logins-all-time.png?w=575&amp;#38;h=310" style="background-color:black;border:5px solid black;" alt="" /&gt; Congrats, Linden!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/vG-RAg5hb4s" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/04/15/1240.html</feedburner:origLink></entry>
 
 <entry>
   <title>hosting this blog on github</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/iRpKQUPsC3s/1752.html" />
   <updated>2009-04-10T00:00:00-07:00</updated>
   <id>http://cory.github.com/code/2009/04/10/1752</id>
   <content type="html">&lt;p&gt;This blog has the text, markup, and css hosted on &lt;a href="http://github.com"&gt;GitHub&lt;/a&gt;, a most excellent service that provides storage of &lt;a href="http://en.wikipedia.org/wiki/Git_(software"&gt;git&lt;/a&gt;) repositories. Git is normally used for revision control of software code, but it is also possible to use it for storing text or other data. This blog uses &lt;a href="http://github.com/blog/272-github-pages"&gt;GitHub pages&lt;/a&gt; to automatically convert the &lt;a href="http://github.com/cory/cory.github.com"&gt;repository&lt;/a&gt; into the &lt;a href="http://cory.github.com"&gt;blog&lt;/a&gt;. I am also using the open source project &lt;a href="http://github.com/mojombo/jekyll/tree/master"&gt;Jekyll&lt;/a&gt; and to test changes to style, layout, and to preview new posts.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/iRpKQUPsC3s" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/code/2009/04/10/1752.html</feedburner:origLink></entry>
 
 <entry>
   <title>balsamiq mockup xml to html conversion routines</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/dQXfosshPeY/1813.html" />
   <updated>2009-04-10T00:00:00-07:00</updated>
   <id>http://cory.github.com/code/2009/04/10/1813</id>
   <content type="html">&lt;p&gt;I needed something fun to do as a general learning project while learning the programming language Ruby, behavior driven development, and the testing tools rspec and autotest.  I wrote about the early exploration &lt;a href="http://cory.github.com/writing/2009/01/12/changing-views.html"&gt;here&lt;/a&gt;.  I decided to play with converting from &lt;a href="http://www.balsamiq.com/products/mockups"&gt;Balsamiq Mockups&lt;/a&gt; to &lt;span class="caps"&gt;HTML&lt;/span&gt; because Balsamiq is very cool, it provided a relatively complicated text case, and I can imagine some cases where being able to go straight to &lt;span class="caps"&gt;HTML&lt;/span&gt; would make Mockups even more useful.  Full description, instructions for use, and code on &lt;a href="http://github.com/cory/mockup/"&gt;GitHub&lt;/a&gt;. This is unlikely to be worked on again, but was fun to write.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/dQXfosshPeY" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/code/2009/04/10/1813.html</feedburner:origLink></entry>
 
 <entry>
   <title>why lowered barriers to participation are so cool</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/iV7iR47fLIU/0842.html" />
   <updated>2009-04-10T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/04/10/0842</id>
   <content type="html">&lt;p&gt;Seen the leak about the &lt;a href="http://www.crunchgear.com/2009/04/09/crunchtablet-hits-the-net-a-little-early/"&gt;crunchpad&lt;/a&gt;?  For those who haven&amp;#8217;t been following this, Michael Arrington of Techcrunch fame &lt;a href="http://www.techcrunch.com/2008/07/21/we-want-a-dead-simple-web-tablet-help-us-build-it/"&gt;posted&lt;/a&gt; about a tech idea.  He wanted help to build a small, light, touchscreen pad for browsing the web.  6 months later, they had a &lt;a href="http://www.techcrunch.com/2009/01/19/techcrunch-tablet-update-prototype-b/"&gt;prototype&lt;/a&gt;.  Yesterday, what looks like a final prototype &lt;a href="http://www.crunchgear.com/2009/04/09/crunchtablet-hits-the-net-a-little-early/"&gt;leaked&lt;/a&gt;.  It&amp;#8217;s cute and I can imagine &lt;strong&gt;many&lt;/strong&gt; tech geeks wanting one.  Sure, Michael has some unique advantages here, but this is hardware engineering done almost as quickly as a software project.  Yes, that sound you hear is the world changing, again.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/iV7iR47fLIU" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/04/10/0842.html</feedburner:origLink></entry>
 
 <entry>
   <title>tipping, aka the love machine, hits the big time</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/wYWDgO2szGA/1132.html" />
   <updated>2009-04-08T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/04/08/1132</id>
   <content type="html">&lt;p&gt;One of the ideas at &lt;a href="http://secondlife.com"&gt;Linden Lab&lt;/a&gt; that I am most fond of was tipping, which Philip renamed to &amp;#8220;The Love Machine.&amp;#8221;  The idea was that as people become busy, it becomes easier to forget to thank coworkers for going a bit out of their way to help you.  Finding a crucial bug, crunching some extra numbers, helping you figure out the right person to take a question to,  All no problem with a bit of help, but serious suck if not. My idea was to create a positive-sum, transparent game, where anyone could give a coworker a tip and bit of text as thanks.  This way, when someone helped you, you could say &amp;#8220;thank you&amp;#8221; publicly and give them a tiny amount of money.  I expected this to have a few benefits.&lt;/p&gt;


	&lt;p&gt;First, people like being thanked, especially publicly.  Second, by giving a bit of money with tips, the thanks felt real.  Third, the overall network was interesting to study.  Who got the most tips, what subnetworks evolved, who wasn&amp;#8217;t every getting any tips, who tried to game the system were all possible questions.  Ultimately, because of the transparency, nobody was dumb enough to try and game it and the a lot of the data was interesting, at least early on.  The system, like so much of Linden Lab, ran into organizational scale issues, but the basic idea ended up being very cool.&lt;/p&gt;


	&lt;p&gt;So, I am completely jazzed to see &lt;a href="http://tipjoy.com/twitterapps/"&gt;TipJoy&lt;/a&gt; take the idea to the big time, by combining TipJoy&amp;#8217;s easy micro-payment system with Twitter and PayPal.  This is seriously awesome.  Obviously, it is zero-sum rather than positive-sum (although you could use it just like the Linden Love Machine if you had a central funder) but it is incredibly low friction and flexible.  I expect we&amp;#8217;ll see some very cool ideas layered on top of this!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/wYWDgO2szGA" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/04/08/1132.html</feedburner:origLink></entry>
 
 <entry>
   <title>lots of laughing during user testing</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/Ugd7KCGCzj8/1951.html" />
   <updated>2009-04-08T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/04/08/1951</id>
   <content type="html">&lt;p&gt;Major changes coming to the blog styling.  Just got a rather extensive critique, so when I get some free time I will work on version two.  Thanks for the patience (or for reading via &lt;a href="http://feeds2.feedburner.com/github/fgmV"&gt;Feedburner&lt;/a&gt; link).&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/Ugd7KCGCzj8" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/04/08/1951.html</feedburner:origLink></entry>
 
 <entry>
   <title>making podcast music show up in iPod shuffle play</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/-g-YqxXBIYQ/1427.html" />
   <updated>2009-04-05T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/04/05/1427</id>
   <content type="html">&lt;p&gt;The is a ton of online discussion of what to do in iTunes if you get a lot of music in podcasts.  iTunes tries to be helpful and by default doesn&amp;#8217;t include podcasts in shuffle mode.  More confusing the Google searchers, older versions of iTunes treated podcasts differently than other music, so there are hints on line ranging from &amp;#8220;remove the &lt;span class="caps"&gt;ID3&lt;/span&gt; tags&amp;#8221; to &amp;#8220;reencode as &lt;span class="caps"&gt;AAC&lt;/span&gt;.&amp;#8221;  You don&amp;#8217;t need to do any of these things.&lt;/p&gt;


Instead, it&amp;#8217;s very simple:
	&lt;ul&gt;
	&lt;li&gt;Move the podcast songs into playlists you like&lt;/li&gt;
		&lt;li&gt;Right-click (or control click) on the song to bring up the context menu, choose &amp;#8220;Get Info&amp;#8221; &lt;/li&gt;
		&lt;li&gt;Select the &amp;#8220;Options&amp;#8221; tab and uncheck the &amp;#8220;Skip when shuffling&amp;#8221; checkbox&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Re-sync your iPhone and you&amp;#8217;re done.  Your entire playlist will show up in shuffle! If you have lots of Podcast music, you can multiselect them and bring up &amp;#8220;Get Info&amp;#8221; on all the songs at once.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/-g-YqxXBIYQ" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/04/05/1427.html</feedburner:origLink></entry>
 
 <entry>
   <title>google not interested in this blog</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/a0wuO44uBQ0/1523.html" />
   <updated>2009-04-04T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/04/04/1523</id>
   <content type="html">&lt;p&gt;Probably not at all surprising, but my old &lt;a href="http://ondrejka.blogspot.com"&gt;blogger blog&lt;/a&gt; is indexed many dozens of pages higher than this page.  Obviously, that blog has a year of posts, links, and connections, but I wonder how much bias is inherent to being on blogger.  If you were linking to the old blog, please link to this one.&lt;/p&gt;


	&lt;p&gt;As a side note, I&amp;#8217;m getting &lt;a href="http://github.com/mojombo/jekyll/tree/master"&gt;Jekyll&lt;/a&gt; to do excerpts by adding an excerpt variable to the liquid header.  Seems like it might be possible to do this with by indexing through the content and looking for whitespace to break on, but just copying the first paragraph was easier.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/a0wuO44uBQ0" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/04/04/1523.html</feedburner:origLink></entry>
 
 <entry>
   <title>why learning projects are fun</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/M_ZKq-khoCA/0850.html" />
   <updated>2009-04-02T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/04/02/0850</id>
   <content type="html">&lt;p&gt;Dropped Peldi of &lt;a href="http://www.balsamiq.com"&gt;Mockups&lt;/a&gt; fame a note letting him know about my quick-and-dirty &lt;a href="http://cory.github.com/code.html"&gt;Mockups-to-HTML&lt;/a&gt; Ruby learning project.  He&amp;#8217;s &lt;a href="http://www.getsatisfaction.com/balsamiq/topics/bmml_html_css_ruby_converter"&gt;pointing his community&lt;/a&gt; at it!&lt;/p&gt;


	&lt;p&gt;I hope that someone finds it useful.  I&amp;#8217;m unlikely to revisit the code any time soon, but even if it only serves as inspiration for a more useful project in the future, it has served it&amp;#8217;s purpose.&lt;/p&gt;


	&lt;p&gt;Plus it was fun to write.&lt;/p&gt;


	&lt;p&gt;Even better, Peldi just documented his &lt;a href="http://www.balsamiq.com/products/mockups/help/bmml"&gt;&lt;span class="caps"&gt;BMML&lt;/span&gt; spec&lt;/a&gt; which I had just picked through by hand, so I bet more interesting projects will be on the way soon!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/M_ZKq-khoCA" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/04/02/0850.html</feedburner:origLink></entry>
 
 <entry>
   <title>blog revamp</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/Qy4BKcVPhMo/2100.html" />
   <updated>2009-04-01T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/04/01/2100</id>
   <content type="html">&lt;p&gt;Based on suggestions, added excerpts and tightened the site up a fair amount.  Adding in excerpts required editing existing posts, so this may blitz existing comments, which is a bummer.  However, this is what testing is all about.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/Qy4BKcVPhMo" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/04/01/2100.html</feedburner:origLink></entry>
 
 <entry>
   <title>collaborative creation</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/1fpEyTWXsMY/1831.html" />
   <updated>2009-03-31T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/03/31/1831</id>
   <content type="html">&lt;p&gt;One of the aspects of &lt;a href="http://secondlife.com"&gt;Second Life&lt;/a&gt; development that made it so amazing was collaborative creation, the joy of being able to work with people around the world, in real time.  From the very beginning, we made sure that as much of your activity as possible was reflected into the world.  It has amazed me that nobody has picked up on this.&lt;/p&gt;


	&lt;p&gt;Apparently that has now changed.&lt;/p&gt;


	&lt;p&gt;The &lt;a href="http://www.heroengine.com/world.asp"&gt;Hero Engine&lt;/a&gt;, which powers the new Star Wars &lt;span class="caps"&gt;MMO&lt;/span&gt;, is built around real-time collaboration inside the engine.  &lt;a href="http://www.massively.com/2009/03/31/gdc09-how-heroengine-revolutionizes-mmorpg-game-design/"&gt;Massively&lt;/a&gt; has a nice write-up of why this is so cool. &lt;a href="http://www.play.net/corporate/"&gt;Simutronics&lt;/a&gt; has been working on this engine for a while, so congratulations on getting it to the point of being production ready!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/1fpEyTWXsMY" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/03/31/1831.html</feedburner:origLink></entry>
 
 <entry>
   <title>the world needs more jane mcgonigals</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/cB1A1Eva9P8/1221.html" />
   <updated>2009-03-31T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/03/31/1221</id>
   <content type="html">&lt;object id="ep_player" name="ep_player" height="360" width="640" data="http://cdn.episodic.com/player/EpisodicPlayer.swf?config=http%3A%2F%2Fcdn.episodic.com%2Fshows%2F53%2Fli1e71eqi3h5%2F2%2Fconfig.xml" type="application/x-shockwave-flash"&gt;&lt;param name="movie" value="http://cdn.episodic.com/player/EpisodicPlayer.swf?config=http%3A%2F%2Fcdn.episodic.com%2Fshows%2F53%2Fli1e71eqi3h5%2F2%2Fconfig.xml"/&gt;&lt;param name="AllowScriptAccess" value="always"/&gt;&lt;param name="allowfullscreen" value="true"/&gt;&lt;embed src="http://cdn.episodic.com/player/EpisodicPlayer.swf?config=http%3A%2F%2Fcdn.episodic.com%2Fshows%2F53%2Fli1e71eqi3h5%2F2%2Fconfig.xml" type="application/x-shockwave-flash" allowfullscreen="true" AllowScriptAccess="always" width="640" height="360" id="ep_player" name="ep_player"/&gt;&lt;/object&gt;

	&lt;p&gt;I&amp;#8217;ve been lucky enough to know Jane for a few years now and she never ceases to amaze.  Few people bring a broader mix of knowledge and experiences to fun, engagement, and play.  She has a special genius for remixing ideas in ways that make you first go &amp;#8220;huh&amp;#8221; and then smack yourself in the head and go &amp;#8220;duh!&amp;#8221;  Thanks for making us all a little smarter, Jane!&lt;/p&gt;


	&lt;p&gt;Great interview on &lt;a href="http://www.youtube.com/boingboingvideo"&gt;Boing Boing Video&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/cB1A1Eva9P8" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/03/31/1221.html</feedburner:origLink></entry>
 
 <entry>
   <title>engine yard is back, tweaking contrast</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/U82rp6v54Fg/1945.html" />
   <updated>2009-03-30T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/03/30/1945</id>
   <content type="html">&lt;p&gt;Looks like &lt;a href="http://engineyard.wordpress.com/"&gt;Engine Yard&amp;#8217;s&lt;/a&gt; problems are fixed, so &lt;a href="http://github.com"&gt;Github&lt;/a&gt; is back up.  Rough day for them and definitely brings back memories of rough days on &lt;a href="http://secondlife.com"&gt;Second Life&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;In other news, tweaked the contrast a bit.  Programmers seem to broadly split into &lt;span style="border:1px gray solid; color:white; background-color:blue;"&gt;light text on dark background&lt;/span&gt; and &lt;span style="border:1px gray solid; color:black; background-color:white;"&gt;dark text on light background&lt;/span&gt; camps &lt;del&gt;- ok, we also split on emacs versus vi, command line versus ide, and perl verus python -&lt;/del&gt; and I have always preferred &lt;span style="border:1px gray solid; color:white; background-color:blue;"&gt;light on dark&lt;/span&gt;.&lt;/p&gt;


	&lt;p&gt;Combine that with the &lt;a href="http://www.amazon.com/gp/product/B001GCTT80?ie=UTF8&amp;#38;tag=collapsinggeo-20&amp;#38;linkCode=as2&amp;#38;camp=1789&amp;#38;creative=9325&amp;#38;creativeASIN=B001GCTT80"&gt;&lt;span class="caps"&gt;MBA&lt;/span&gt;&amp;#8217;s&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=collapsinggeo-20&amp;#38;l=as2&amp;#38;o=1&amp;#38;a=B001GCTT80" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;"/&gt; amazing screen, and I didn&amp;#8217;t realize how hard the site was to read.&lt;/p&gt;


	&lt;p&gt;Let me know in the comments whether this is better.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/U82rp6v54Fg" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/03/30/1945.html</feedburner:origLink></entry>
 
 <entry>
   <title>a whole new blog</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/AtDpaSXZi1c/0900.html" />
   <updated>2009-03-29T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/03/29/0900</id>
   <content type="html">&lt;h1&gt;took you long enough&lt;/h1&gt;


	&lt;p&gt;Yes, it has taken forever, but I&amp;#8217;m finally ready to move over to Jekyll full time.  Will turn Feedburner on, move &lt;span class="caps"&gt;DNS&lt;/span&gt; over today, and put up a goodbye post on Blogger.  I&amp;#8217;ve pulled my &lt;a href="./speaking"&gt;talks&lt;/a&gt; and &lt;a href="./writing"&gt;presentations&lt;/a&gt; into more web-friendly formats, found videos of talks where they exist, and had fun moving docs to &lt;a href="http://www.scribd.com/people/view/7541203-cory-ondrejka"&gt;Scribd&lt;/a&gt;.&lt;/p&gt;


	&lt;h1&gt;really, why the delay?&lt;/h1&gt;


	&lt;p&gt;I mucked around with Wordpress and other blogging options but didn&amp;#8217;t find anything that really grabbed.  Self-hosting seemed like too much work.  Moreover, static sites + lots of javascript fits into my ideas of The Right Way&amp;#8482; to use the web, so being able to use &lt;a href="http://github.com"&gt;Github&lt;/a&gt;, &lt;a href="http://disqus.com"&gt;Disqus&lt;/a&gt;, Scribd, &lt;i&gt;et al&lt;/i&gt; made sense to me.&lt;/p&gt;


	&lt;p&gt;Plus, it was a chance to learn more &lt;span class="caps"&gt;HTML&lt;/span&gt; and textile.&lt;/p&gt;


	&lt;p&gt;Overall, Jekyll seems to mostly work.  The &lt;a href="http://en.wikipedia.org/wiki/Latent_semantic_analysis"&gt;&lt;span class="caps"&gt;LSI&lt;/span&gt;&lt;/a&gt; approach to &amp;#8220;similar posts&amp;#8221; doesn&amp;#8217;t seem to work at all.  May try turning it back on once I have more stuff written.  As a templating system, Liquid is quirky and makes we long for just using Ruby a la Rails, but it has been good enough so far, although I&amp;#8217;m not happy with the options for categories and tags yet.&lt;/p&gt;


	&lt;p&gt;I may just be using it incorrectly.&lt;/p&gt;


	&lt;h1&gt;is this blog going to stick?&lt;/h1&gt;


	&lt;p&gt;I don&amp;#8217;t know.  There are small elements that are annoying, because I don&amp;#8217;t have my work flow down.  I think I want to write something akin to Cory&amp;#8217;s &lt;a href="http://wiki.github.com/commandline/flashbake"&gt;Flashbake&lt;/a&gt; more targeted to blogging.  Probably already written somewhere on Github, but small, fun side projects are one of lures of Ruby.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/AtDpaSXZi1c" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/03/29/0900.html</feedburner:origLink></entry>
 
 <entry>
   <title>rock and roll jihad</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/XEB3t6hFnZU/1400.html" />
   <updated>2009-03-29T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/03/29/1400</id>
   <content type="html">&lt;p&gt;My friend &lt;a href="http://en.wikipedia.org/wiki/Salman_Ahmad"&gt;Salman Ahmad&lt;/a&gt; just wrote to let me know that his memoir, &lt;a href="http://www.amazon.com/gp/product/1416597670?ie=UTF8&amp;#38;tag=collapsinggeo-20&amp;#38;linkCode=as2&amp;#38;camp=1789&amp;#38;creative=9325&amp;#38;creativeASIN=1416597670"&gt;Rock &amp;#38; Roll Jihad&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=collapsinggeo-20&amp;#38;l=as2&amp;#38;o=1&amp;#38;a=1416597670" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;"/&gt;, is now available for pre-order from Amazon.  I&amp;#8217;ve been fortunate to read the first few chapters and look forward to reading the full version.  I&amp;#8217;ve known Sal for a few years now and never fail to be amazed by the challenges he faced &lt;del&gt;- and continues to face -&lt;/del&gt; as a rock star in Pakistan and South Asia.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/XEB3t6hFnZU" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/03/29/1400.html</feedburner:origLink></entry>
 
 <entry>
   <title>posts out of order</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/lilR2EdsRuI/1405.html" />
   <updated>2009-03-29T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/03/29/1405</id>
   <content type="html">&lt;p&gt;Looks like running Jekyll locally generates different results than when Github runs it after a push.  My local site shows these posts in the correct order.  A mystery!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/lilR2EdsRuI" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/03/29/1405.html</feedburner:origLink></entry>
 
 <entry>
   <title>disqus for comments</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/me2vmwKM24w/disqus-for-comments.html" />
   <updated>2009-03-22T00:00:00-07:00</updated>
   <id>http://cory.github.com/blog/2009/03/22/disqus-for-comments</id>
   <content type="html">&lt;p&gt;Along with a lot of the other geeks moving over to &lt;a href="http://github.com/mojombo/jekyll/tree/master"&gt;jekyll&lt;/a&gt;, it makes sense to try &lt;a href="http://disqus.com/"&gt;disqus&lt;/a&gt; for comments.  Disqus lets you login with &lt;a href="http://developers.facebook.com/connect.php"&gt;Facebook Connect&lt;/a&gt; so you can either sign up via Disquq or use your Facebook login.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/me2vmwKM24w" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/03/22/disqus-for-comments.html</feedburner:origLink></entry>
 
 <entry>
   <title>foreclosure math</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/Y-g7lLQhfMc/foreclosure-math.html" />
   <updated>2009-03-08T00:00:00-08:00</updated>
   <id>http://cory.github.com/writing/2009/03/08/foreclosure-math</id>
   <content type="html">&lt;p&gt;Via Google, estimates on total number of US homes current foreclosed or being foreclosed vary between 1M and 2M.Let us assume an upper bound of 2M homes. Median US home prices are freefall, currently around $175,000, down from a peak of over $300,000 in 2006. Of course, in foreclosed areas like Cleveland, the real value is basically $0. So, let&amp;#8217;s try to determine the sum total of wealth lost by these &amp;#8220;toxic assets&amp;#8221;, assuming 50% of foreclosed home are worth effectively $0 and half are worth the current median.&lt;/p&gt;


	&lt;p&gt;(1M homes) x ($300,000 lost) + (1M homes) x ($300,000 &amp;#8211; $175,000 lost) = $425 billion&lt;/p&gt;


	&lt;p&gt;So, $425 billion to keep 2 million families in their homes, make it easier for those families to hold on to jobs and to keep working, to prop up the all the credit default swaps, etc, that are collapsing because these mortgages aren&amp;#8217;t being repaid, and to ensure that banks don&amp;#8217;t collapse due to unpaid loans. Why are we pouring the money into the banks directly rather than protecting tax payers? Oh, because doing this would reward a bunch of predatory lenders? First, which is more important: keeping people in homes as we enter a second great depression or punish those who took advantage of lax regulations to cause it? Second, and more importantly, the act of repaying these loans would enable a process of identifying the top 20% of most egregious loans, allowing those who broke the law to be prosecuted.&lt;/p&gt;


	&lt;p&gt;OK, I&amp;#8217;m not an expert, but given the astronomical sums we&amp;#8217;re talking about, keeping a sizable percentage of the workforce in homes plus propping up the umpteen trillions of dollars leveraged against those mortgages, $425 billion is starting to look pretty reasonable.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/Y-g7lLQhfMc" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/writing/2009/03/08/foreclosure-math.html</feedburner:origLink></entry>
 
 <entry>
   <title>formatting and such</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/P1zibxluObI/formatting-and-such.html" />
   <updated>2009-01-29T00:00:00-08:00</updated>
   <id>http://cory.github.com/blog/2009/01/29/formatting-and-such</id>
   <content type="html">&lt;p&gt;Starting from scratch on design, as opposed to a &lt;a href="http://ondrejka.blogspot.com"&gt;Blogger&lt;/a&gt; template, feels very different.  Trying to do a little bit at a time and see where it leads.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/P1zibxluObI" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/01/29/formatting-and-such.html</feedburner:origLink></entry>
 
 <entry>
   <title>moving blog to github</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/za9AMfoPP-Y/moving-blog-to-github.html" />
   <updated>2009-01-27T00:00:00-08:00</updated>
   <id>http://cory.github.com/blog/2009/01/27/moving-blog-to-github</id>
   <content type="html">&lt;p&gt;After a little over a year on &lt;a href="http://ondrejka.blogspot.com"&gt;Blogger&lt;/a&gt;, the incredible quantity of &lt;a href="http://ondrejka.blogspot.com/2009/01/may-be-time-to-say-bye-to-blogger.html"&gt;comment spam&lt;/a&gt; has exceeded my threshold of annoyance.  So, it is with a mixture of trepidation and excitement that I decided to start playing around with hosting on &lt;a href="http://github.com"&gt;GitHub&lt;/a&gt; and &lt;a href="http://github.com/mojombo/jekyll/tree/master"&gt;Jekyll&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Expect many changes as I master &lt;a href="http://www.liquidmarkup.org/"&gt;Liquid&lt;/a&gt; and &lt;a href="http://hobix.com/textile/"&gt;Textile&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/za9AMfoPP-Y" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/blog/2009/01/27/moving-blog-to-github.html</feedburner:origLink></entry>
 
 <entry>
   <title>changing views</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/lXBtlnSE-U4/changing-views.html" />
   <updated>2009-01-12T00:00:00-08:00</updated>
   <id>http://cory.github.com/writing/2009/01/12/changing-views</id>
   <content type="html">&lt;p&gt;At Linden Lab, we took a brief look at Ruby in 2006.  Some Rails code had snuck into deployment and as we were digging into refactoring back end communications, Ruby and Rails came up as an option.  At the time, I remember thinking that Ruby had a comfortable syntax and was as easy as Perl for whipping out quick-and-dirty tasks.  Early performance testing was not encouraging and that first production piece of Rails code had issues, however, so Ruby and Rails got lumped together in the collective Linden hive mind as Bad Technology&amp;#8482;.&lt;/p&gt;


	&lt;p&gt;Thus, when Peter decided we were going to build on Ruby and Rails, it gave me pause.  Of course, since Peter was going to run engineering, it was his call. Plus, &lt;a href="http://www.oogalabs.com/"&gt;James Currier and his team at Ooga Labs&lt;/a&gt; were happy building on it.&lt;/p&gt;


	&lt;p&gt;So, Ruby it was.&lt;/p&gt;


	&lt;p&gt;The last six months at &lt;span class="caps"&gt;EMI&lt;/span&gt; have been a blur of learning the music business, adapting to working within a large company, and building a technology team.  In making initial hires, I realized that my lack of Ruby expertise was hurting my ability to interview candidates.  I had been through the &lt;a href="http://www.pragprog.com/titles/ruby/programming-ruby"&gt;pickaxe book&lt;/a&gt;, and various bits of data analysis code had moved from Perl to Ruby, but I hadn&amp;#8217;t built anything of substance.  So, over the holidays I took on a chunkier side project.  Details to come in a later post, but in building it a bunch of useful Ruby lessons emerged.&lt;/p&gt;


	&lt;p&gt;First, if you know other programming languages and want to bump your brain into Ruby context, read &lt;a href="http://www.amazon.com/gp/product/0321490452?ie=UTF8&amp;#38;tag=collapsinggeo-20&amp;#38;linkCode=as2&amp;#38;camp=1789&amp;#38;creative=9325&amp;#38;creativeASIN=0321490452"&gt;Design Patterns in Ruby&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=collapsinggeo-20&amp;#38;l=as2&amp;#38;o=1&amp;#38;a=0321490452" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;"/&gt;.  Best Ruby book I&amp;#8217;ve yet read and its intro to Ruby chapter is a superb intro to the language.&lt;/p&gt;


	&lt;p&gt;Second, embrace &lt;a href="http://en.wikipedia.org/wiki/Behavior_Driven_Development"&gt;behavior driven development&lt;/a&gt;, &lt;a href="http://rspec.info/"&gt;rspec&lt;/a&gt;, and &lt;a href="http://github.com/spicycode/rcov/tree/master"&gt;rcov&lt;/a&gt;.  &lt;span class="caps"&gt;BDD&lt;/span&gt; takes things a step up from unit testing.  If you&amp;#8217;re an old time C coder, you probably are used to whipping your design out in broad comments and then coding the elements in.  &lt;span class="caps"&gt;BDD&lt;/span&gt; changes this from writing comments to writing user stories and then your unit tests as you go.  Hard to describe how addictive this style of coding is until you&amp;#8217;ve done it, but it explains the evangelical nature of its adopters because it&amp;#8217;s &lt;span style="font-weight:bold;"&gt;fun&lt;/span&gt;!  At a mental impasse?  Write a few more stories.  Haven&amp;#8217;t had your first cup of coffee yet?  Sketch in the class structure to pass early tests and add a few more stories.  A few minutes before the end of the day?  Bump your code coverage to 100% on a file that currently is at 70%.  Note that none of this applies universally to Ruby, nor did Ruby invent any of this.  What Ruby does give you is a fairly easy to install and use framework of tools.&lt;/p&gt;


	&lt;p&gt;Third, if you&amp;#8217;re on a Mac, use &lt;a href="http://growl.info/"&gt;Growl&lt;/a&gt; and &lt;a href="http://www.zenspider.com/ZSS/Products/ZenTest/"&gt;ZenTest&lt;/a&gt; and then &lt;a href="http://unixmonkey.net/?p=15"&gt;configure reporting&lt;/a&gt;.  What this does is to automatically rerun your tests every time you change a file and then report the results via growl.  You can even have the&lt;a href="http://szeryf.wordpress.com/2007/07/30/way-beyond-cool-autotest-growl-doomguy/"&gt; Doom marine tell you how you&amp;#8217;re doing&lt;/a&gt;!  It&amp;#8217;s all about reducing the development process to small, bite-sized chunks, with the added hook of continuous feedback.&lt;/p&gt;


	&lt;p&gt;Fourth, I&amp;#8217;ve already talked about &lt;a href="http://github.com/"&gt;git and github&lt;/a&gt; for source code control.  Having lived in the &lt;span class="caps"&gt;CVS&lt;/span&gt;/Subversion world for so long, git continues to impress.  Super fast, flexible, and integrates well with &lt;a href="http://macromates.com/"&gt;TextMate&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Finally, we&amp;#8217;ve started having movie time at lunch and watching the &lt;a href="http://www.pragprog.com/screencasts/v-dtrubyom/the-ruby-object-model-and-metaprogramming"&gt;Pragmatic Programmers series on Metaprogramming&lt;/a&gt;.  Very useful, without the &amp;#8220;look how clever my code is&amp;#8221; aspect that seems to permeate a lot of the online discussions.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/lXBtlnSE-U4" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/writing/2009/01/12/changing-views.html</feedburner:origLink></entry>
 
 <entry>
   <title>yes we did</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/a1xANWp1VsI/yes-we-did.html" />
   <updated>2008-11-05T00:00:00-08:00</updated>
   <id>http://cory.github.com/writing/2008/11/05/yes-we-did</id>
   <content type="html">&lt;p&gt;I&amp;#8217;m writing 38,000 feet over the North Atlantic and I feel like jumping up and down.  I&amp;#8217;d probably end up arrested and the flight diverted to Reykjavik if I did, so perhaps not.&lt;/p&gt;


	&lt;p&gt;But I want to.&lt;/p&gt;


	&lt;p&gt;One of the flight attendants just passed along &amp;#8220;200 to 90. Obama won Ohio.&amp;#8221;  I can&amp;#8217;t remember enough of &lt;a href="http://www.fivethirtyeight.com/"&gt;Nate&amp;#8217;s&lt;/a&gt; work to know if this makes it a sure thing and part of me is still convinced that he&amp;#8217;ll somehow lose and I&amp;#8217;ll have to move to New Zealand.&lt;/p&gt;


	&lt;p&gt;I was a Linden employee for 3 days when I got on &lt;span class="caps"&gt;BART&lt;/span&gt; to head home and heard they had called Florida for Gore.  People were laughing and joking on the train, happy the math looked promising.  It was a good night.  New job, world&amp;#8217;s coolest project, cool people to work with in Philip, Andrew, Tessa, and Frank, and the country going in the right direction.&lt;/p&gt;


	&lt;p&gt;When my fiance picking me up at &lt;span class="caps"&gt;BART&lt;/span&gt;, she said Florida was back in play.  We spent the night huddled around the television, waiting to see what happened.&lt;/p&gt;


	&lt;p&gt;I listened to a lot of &lt;span class="caps"&gt;NPR&lt;/span&gt; over the next weeks.  Wrote the land code to arguments about chads, fairness, and the democratic process.  Worked on strain gauge geometries with Andrew as we played with the rig.  Created predator-prey models for the forest and whipped out the first version of lltask.  Called Philip from the train home, excited about an idea to integrate a 3D &lt;a href="http://sodaplay.com/"&gt;Sodaplay&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;And then it was over.  The Supreme Court ruled and Bush was our President.&lt;/p&gt;


	&lt;p&gt;Fast forward 4 years.  Our country went through 9/11, invaded two sovereign nations, failed to capture bin Ladin, survived the dot com bubble, and become more partisan than any time in recent memory.&lt;/p&gt;


	&lt;p&gt;Interesting times for Linden as well.&lt;/p&gt;


	&lt;p&gt;The forest transformed into Linden World and then into Second Life.  We launched, failed to grow, laid off 1/3 of the company, gave residents IP ownership, changed the economic model, and received a big round of funding just before the State of Play 2 conference in New York.  Everyone I knew was excited for Kerry&amp;#8217;s prospects, expected it to be close, but had faith that American&amp;#8217;s would see what a disaster the first term of Bush&amp;#8217;s Presidency had been.&lt;/p&gt;


	&lt;p&gt;Jerry Paffendorf had asked me to speak at the Accelerating Change conference at Stanford, so I was writing on Tuesday as the exit poll numbers started leaking out.  A Salon article riffed on those numbers and suggested that Kerry was going to win.  Again, a happy trip home on &lt;span class="caps"&gt;BART&lt;/span&gt;.  Again, very different numbers by the time I was home.  Another night up late watching the numbers.  My wife and I went to sleep knowing that Bush had won again.&lt;/p&gt;


	&lt;p&gt;The next day half of Linden stayed home and commiserated over irc and email.  We had more people in the office on 9/12.&lt;/p&gt;


	&lt;p&gt;On Thursday I was staring at a talk that just wouldn&amp;#8217;t pull together.  Angry, depressed, sad, it was hard to build the kind of talk Accelerating Change deserved.  Philip suggested I write angry, so I did.  It wasn&amp;#8217;t filmed, but the audio is &lt;a href="http://itc.conversationsnetwork.org/shows/detail369.html"&gt;online&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;I listened to that talk while waiting for my flight.  As hard as it is to listen to myself &lt;del&gt;- I sound like that??  Seriously? -&lt;/del&gt; it was a nice trip back, because this was the first time I spoke about some of the underlying drivers of Second Life that have impacted so much of my thinking since then.&lt;/p&gt;


	&lt;p&gt;Cultural production.  Real-time, collaborative creation.  Continuous improvement of content in the world due to breadth of participation and competition.  Economic motivations driving massive and long-term cooperation and organization.  Using Second Life for education, training, and as a filter for hiring.&lt;/p&gt;


	&lt;p&gt;People and communities not being evil.&lt;/p&gt;


	&lt;p&gt;As mad as I was, I&amp;#8217;m a little surprised I remembered that. After all, my community, my country, just let me down.  We allowed bigotry and fear to profoundly impact our decisions.  Listened to sound bites rather than each other.&lt;/p&gt;


	&lt;p&gt;But the evidence of Second Life was compelling.  Given tools and capabilities, people worked together in amazing ways.  Leveraged amateur-to-amateur education on a scale no one anticipated.  Cooperated.  Created.  Innovated.&lt;/p&gt;


	&lt;p&gt;Which brings us to now.&lt;/p&gt;


	&lt;p&gt;Virtually everyone smart I know was somehow involved in the Obama campaign.  I first brushed against the campaign nearly two years ago and they were already asking questions, creating a ground game, and building on what Trippy and Dean accomplished with everything learned about viral communities in the intervening years.&lt;/p&gt;


	&lt;p&gt;I didn&amp;#8217;t end up involved with the campaign to any degree.  Sure, I blogged about it and donated, but mostly I was working.  I was asked to sign on to Obama&amp;#8217;s tech policy when it was released last November and would have, except that the final version hit my inbox a few minutes ahead of Philip&amp;#8217;s email informing me that he wanted me to leave Linden.  Unfortunate timing, that.&lt;/p&gt;


	&lt;p&gt;Fortunately they had plenty of voices of support.  It was, and is, a good start for thinking about technology.  More on that in a later post.&lt;/p&gt;


	&lt;p&gt;I do smile remembering a wide ranging brainstorm session at Aspen airport on the way home from the Aspen Institute.  There were both Obama and Clinton advisors there and we were talking voter registration and turnout.  Traditionally, ground teams focus on getting people to make 3 commitments in order to ensure turn out.&lt;/p&gt;


	&lt;p&gt;Make a donation.  Go to a rally.  Vote in the primary.&lt;/p&gt;


	&lt;p&gt;If you do those things, you&amp;#8217;ll vote in the general election.&lt;/p&gt;


	&lt;p&gt;We talked about how to use technology to help.  Give volunteers online communities to feel more connected.  Use participation in social networks as overt acts, commitments.  Mashup data to help registrations.  Remember that &lt;a href="http://chronicle.com/free/v53/i07/07a02701.htm"&gt;email is for old people&lt;/a&gt;, so focus on cell phones and &lt;span class="caps"&gt;SMS&lt;/span&gt; to connect to the youth vote.  I doubt much of this was new to the Obama team, but over the next year there were some follow up questions and phone calls.  A lot of knowledgeable online community people get very, very busy.&lt;/p&gt;


	&lt;p&gt;All of which led to an historic, game-changing election.&lt;/p&gt;


	&lt;p&gt;An election where we spent more time learning from each other rather than from Rovian sound bites.  Where communities connected both internally and across boundaries.  Not that we&amp;#8217;re done, but Obama&amp;#8217;s broad base of support should be a mandate to heal the destructive red-blue divisions so exacerbated during the last 8 years.&lt;/p&gt;


	&lt;p&gt;Healing that should serve as a model for how America &lt;del&gt;- and more importantly, Americans -&lt;/del&gt; reengage with the world.&lt;/p&gt;


	&lt;p&gt;A flight attendant just passed along &amp;#8220;Obama has 324.&amp;#8221;&lt;/p&gt;


	&lt;p&gt;Maybe I will start jumping up and down.&lt;/p&gt;


	&lt;p&gt;Congratulations, President-Elect Obama!  Hooray as well for everyone involved in his campaign.&lt;/p&gt;


	&lt;p&gt;Yay, us!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/a1xANWp1VsI" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/writing/2008/11/05/yes-we-did.html</feedburner:origLink></entry>
 
 <entry>
   <title>two books worth reading</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/IR5mBERWEnY/two-books-worth-reading.html" />
   <updated>2008-05-06T00:00:00-07:00</updated>
   <id>http://cory.github.com/writing/2008/05/06/two-books-worth-reading</id>
   <content type="html">&lt;p&gt;How to foster and sustain disruptive innovation has been on my mind a lot lately.  I&amp;#8217;ve been coalescing my thoughts on &lt;a href="http://ondrejka.blogspot.com/2008/04/innovating-innovation.html"&gt;how I would do it&lt;/a&gt; and reading up on other &lt;a href="http://ondrejka.blogspot.com/2008/05/apparently-im-not-only-one-rethinking.html"&gt;approaches&lt;/a&gt;.  To that point, I recently read two books that apply.&lt;/p&gt;


	&lt;p&gt;The first came via the &lt;a href="http://www.37signals.com/svn/"&gt;37 Signals blog&lt;/a&gt;.  &lt;a href="http://www.amazon.com/gp/product/0446670553"&gt;Maverick&lt;/a&gt;, by &lt;a href="http://en.wikipedia.org/wiki/Ricardo_Semler"&gt;Richard Semler&lt;/a&gt;, is the story of how the Brazilian firm Semco reinvented itself during the early 1990&amp;#8217;s.  Semco is a diverse 3000 person firm that has units doing everything from industrial mixing units to property management.  What makes Semco interesting is that it is run in an incredibly democratic fashion, including groups and individuals setting their own wages, virtually nonexistent hierarchy, and limited management.  Having helped craft and drive Linden&amp;#8217;s culture, it was a fascinating read to look at what it meant to take many of our ideas farther, but also gave great insight into some of the basic differences.&lt;/p&gt;


	&lt;p&gt;Semco&amp;#8217;s business units &lt;del&gt;- by virtue of their extreme diversification -&lt;/del&gt; operated almost independently of each other, allowing different groups to generate high communication rates within the group without flooding other business units with excess information.  Much of Semco&amp;#8217;s business revolves around improving on existing engineering processes, and their model works remarkably well for that.  In order to generate more disruptive innovation, Semco adopted a model somewhat akin to the Skunk Works model I described, with rotating participation in a team of outside the box thinkers.  Semco also discovered, as I would have predicted, that an organization without structure is vulnerable to politics and rumors, so transparency &lt;del&gt;- all the way up to Richard Semler as &lt;span class="caps"&gt;CEO&lt;/span&gt; -&lt;/del&gt; was critical to making it work.  In addition, great people management and rigorous feedback and reviews &lt;del&gt;- great people process -&lt;/del&gt; was absolutely required to make it all work.  Finally, different parts of the company organize differently, so some teams and groups are hierarchical within Semco&amp;#8217;s less structued whole.&lt;/p&gt;


	&lt;p&gt;So, empower employees, build interfaces between different units, support (embrace) differences between how groups function, and make sure that people are well managed.  Lots of companies experiment with this, but Semco makes for a great case study in going all the way.&lt;/p&gt;


	&lt;p&gt;The second book came via Jon Taplin, &lt;a href="http://www.amazon.com/Dream-Machine-Licklider-Revolution-Computing/dp/014200135X/ref=pd_bbs_sr_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1210110504&amp;amp;sr=1-1"&gt;The Dream Machine&lt;/a&gt;, by Mitchell Waldrop.  This amazing book covers the entire history of the personal computer, from the early work of Norbert Wiener at &lt;span class="caps"&gt;MIT&lt;/span&gt; (who&amp;#8217;s history is told in equally good &lt;a href="http://www.amazon.com/Dark-Hero-Information-Age-Wiener-Father/dp/0738203688"&gt;Dark Hero of the Information Age&lt;/a&gt;), through the &lt;span class="caps"&gt;WWII&lt;/span&gt; advances in computers, the impact of &lt;span class="caps"&gt;ARPA&lt;/span&gt;, the breakthroughs at &lt;span class="caps"&gt;SRI&lt;/span&gt; and &lt;span class="caps"&gt;PARC&lt;/span&gt;, and the subsequent creation of the personal computer.  The story is tied together through the life of J.C.R. Licklider, who&amp;#8217;s career is touches nearly every aspect of the emergence of the PC and the Internet.&lt;/p&gt;


	&lt;p&gt;From an innovation standpoint, what makes &amp;#8220;The Dream Machine&amp;#8221; such a remarkable read is how crushing a blow it provides to anyone who wants to argue that incubators don&amp;#8217;t work or that it isn&amp;#8217;t possible to foster disruptive innovation.  The story of the silicon revolution shows again and again the importance of allowing ideas to cross polinate and remix, of supporting knowledge and experience collisions in ways that preseverve the ideas and allow later thinkers to riff on them.  It details the kind of management structures and support innovation needs to thrive.  Young and old turks alike need impossible challenges to inspire them, but then the freedom and resources to overcome the challenges.&lt;/p&gt;


	&lt;p&gt;Both books feel timely.  &lt;a href="http://money.cnn.com/2008/04/29/magazines/fortune/larry_page_change_the_world.fortune/index.htm"&gt;Larry Page had a recent interview in Fortune&lt;/a&gt; talking about these issues.  What&amp;#8217;s interesting is that it still doesn&amp;#8217;t feel like he&amp;#8217;s really looked at the history.  Google&amp;#8217;s 70/20/10 goal is a good one, but what is the unit of time it operates on?  If 10% of Google&amp;#8217;s workforce focused on disruptive innovation, where would Google be in 5 years?  After all, many of the breakthroughs in &amp;#8220;The Dream Machine&amp;#8221; were years or decades in the making.  Is Larry sure that we&amp;#8217;re so much smarter today that we can get the same results in our spare time?  Or, consider Microsoft.  Rather than buying Yahoo! to gain some market in what is most profitable online today, why aren&amp;#8217;t they leveraging their phenomenal resources to create what will be profitable in 2015?  $40 billion could support a lot of disruption.&lt;/p&gt;


	&lt;p&gt;Enjoy both books and let me know what you think!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/IR5mBERWEnY" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/writing/2008/05/06/two-books-worth-reading.html</feedburner:origLink></entry>
 
 <entry>
   <title>innovating innovation</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/GP46F0-0_04/innovating-innovation.html" />
   <updated>2008-04-28T00:00:00-07:00</updated>
   <id>http://cory.github.com/writing/2008/04/28/innovating-innovation</id>
   <content type="html">&lt;p&gt;One of the best parts of the &lt;a href="http://secondlife.com"&gt;Second Life&lt;/a&gt; experience was its impact on how I think about innovation.  From the first conversations with Philip about how to build Linden and our embrace of user-generated content to &lt;a href="http://www.electricsheepcompany.com/"&gt;&lt;span class="caps"&gt;ESC&lt;/span&gt;&lt;/a&gt; and &lt;a href="http://www.riversrunred.com/"&gt;Rivers Run Red&lt;/a&gt;, innovation has been central to the process.  And I do mean innovation – the commercialization of knowledge – not just invention – the creation of knowledge.  It’s not enough to come up with interesting new ideas; those ideas need to be taken to a market.&lt;br /&gt;
As I zero in on what to do next, innovation is once again a central discussion, so I wanted to write up my thoughts on how I would approach creating an environment to maximize innovation.  To maximize the commercialization of knowledge.&lt;br /&gt;
(&lt;span style="font-style: italic;"&gt;nota bene&lt;/span&gt;: “Commercialization”, in this context, doesn’t necessarily mean “for profit.”  It means that it has been released into a market.  Case in point would be a new standard or piece of open source code released for free in order to create later opportunities.)&lt;br /&gt;
Innovation is very much a random walk.  As much as we want innovation to be like throwing darts at the bull’s-eye, particularly in disruptive innovation it is extremely difficult to recognize a priori that an idea will be good.  Moreover, most disruptive innovation emerges at the intersections of (largely) disjoint communities of practice and of different social networks.&lt;br /&gt;
These two realities – no certainty of direction and the need for heterogeneity – have implications if you want to maximize innovation.  First, it means you want to create situations where you are able to try lots of different ideas.  Second, you want as much diversity as possible in how and who tries.  Third, it means you want to recycle ideas as the people and expertise around them changes.&lt;br /&gt;
Some of these implications are easier to leverage than others.  &lt;a href="http://www.ycombinator.com/"&gt;Y Combinator&lt;/a&gt;, for example, does a very good job of optimizing for the first one and a reasonable job on the second.  By drawing from a large set of submissions and then pushing participants through a short development cycle, Y gets to do a lot of experimenting and draw from a broad set of people.  By focusing on such junior, hungry teams, Y creates massive incentives for those teams to bring a project to market in order to get funding or to be acquired. &lt;br /&gt;
However, there are tradeoffs.  The micro scale of the funding means that participation is biased towards younger, more junior entrepreneurs.  The cyclic approach of not being an incubator means that projects are strongly incented to succeed enough to get the next round of funding, rather than having the opportunity to fully explore an idea, decide there are better options and start over.  Finally, Y doesn’t directly participate in funding projects at the next level or supporting more expensive experiments, constraining the exploration space.&lt;br /&gt;
(None of these are criticisms of Y, by the way.  Paul, Trevor, Jessica, and Robert have adopted a specific strategy that is generating lots of interesting ideas, is clearly a blast, and may end up being financially successful.)&lt;br /&gt;
It simply may not be an optimal strategy for innovation, so there are a few aspects that I would approach differently.&lt;br /&gt;
You need greater diversity of participation, particularly of experience, temperament, and expertise.   You want to be able to build teams that can blend years of expertise with youthful fire, impetuousness with wisdom.  Filtering participants down to only those who can dispense with income, health insurance, and non-Ramen caloric sources robs you of the ability to leverage this diversity.  Instead, I would argue to make them employees, to give them the scaffolding and support &lt;del&gt;- salaries, health care, vacation -&lt;/del&gt; required to take huge risks, to experiment freely.&lt;br /&gt;
(Of course, this adds cost.  Worse, it risks creating a comfy environment without innovation, but I think you address that through cultural and other means.)&lt;br /&gt;
Innovation needs a high failure rate.  Paul &lt;span style="font-style: italic;"&gt;et al&lt;/span&gt; are justly proud of the incredibly high percentage of Y teams that reach demo day with a product and that later to go on to achieve funding.  However, what if the incentives that drive this performance – the Y team picking projects likely to launch in 3 months, teams not having an easy second chance, tight finances – mean that they are also more risk averse than they should be?  If you change those incentives and support greater failure, the initial project ideas can explore a far larger set of ideas, resulting in more failures, but also more learning.  Philip had a great saying about the benefits of “noble failures” which I think was dead on.  You need to celebrate failures, capture the experience of them, and then preserve that information so that a later group can decide to riff of the failure, to build knowledge and try again.&lt;br /&gt;
About now, some readers will be commenting that this looks like an incubator and that all incubators are failures.  Yes and no.&lt;br /&gt;
This does look like an incubator, but an incubator in the Bell Labs, &lt;span class="caps"&gt;ARPA&lt;/span&gt;, PARC, or Stanford grad school sense, not the modern “will trade space for equity.”  Existing teams don’t need incubators, so the idea of providing a home to a set of them doesn’t seem like a good one to me.  However, incubating ideas – where you bring bright, motivated, diverse, interested people together, give them challenges, and then get out of the way – has a long history of producing world-changing innovation.   So, historically incubators weren’t failures, it’s just that we’ve changed what we mean when we talk about them.&lt;br /&gt;
The downsides, of course, are cost and comfort.  If you have to employ everyone, to give them competitive salaries and benefits, you have a much higher burn rate.  Worse, you must ensure that employees take great ideas out of the incubator to go start them.  On the comfort side, you need appointments, contracts, or term limits, combined with a culture that your goal is to join startups.  You can probably incent this as well – unpaid parts of your contract get transferred to the startup so startups recruit people, greater ownership of startups you helped launch if you also launch one, etc – but transparency and experimentation is needed here.&lt;br /&gt;
The cost is still a challenge, especially if you insist – as I think you should – on focusing the value generation on the launched ventures rather than the incubator.  The incubator builds knowledge and expertise but should not be trying to &lt;span class="caps"&gt;IPO&lt;/span&gt; itself, since this strongly misaligns incentives with maximizing innovation. &lt;br /&gt;
Because of this, an attempt to innovate innovation may require very different – dare I say innovative? – approaches to funding in order to have enough runway to have a chance to succeed.    It might be best applied within a larger company rather than as a stand-alone incubator.  Consider a large company with a need for disruptive innovation but suffering from the “raising mice in elephant cages” problems common to large corporations.  Rotating employees through a &lt;a href="http://en.wikipedia.org/wiki/Skunk_works"&gt;Skunk Works&lt;/a&gt; – and potentially letting them mix ideas with academics, outside experts, or interns – might form the kind of catalyst needed to break out of the innovator’s dilemma.  As employees came and went from other groups and divisions, a Skunk Works would act as an innovation virus, spreading innovation processes and ideas throughout the organization.  More importantly, by committing to experimenting with innovation, funders or the supporting corporation can avoid the micromanagement and hyper focus on short-term gains so deadly to innovation.&lt;br /&gt;
When we think about markets or technologies that seem moribund and unable to change, disruptive innovation is probably looming.  The challenge is how to avoid Christensen&amp;#8217;s &lt;a href="http://www.amazon.com/Innovators-Dilemma-Revolutionary-Business-Essentials/dp/0060521996"&gt;Innovator&amp;#8217;s Dilemma&lt;/a&gt; and drive that innovation rather than letting it happen around you.  The answer may be to look backward &lt;del&gt;- to &lt;span class="caps"&gt;PARC&lt;/span&gt;, to Bell Labs -&lt;/del&gt; in order to reinvent a path forward.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/GP46F0-0_04" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/writing/2008/04/28/innovating-innovation.html</feedburner:origLink></entry>
 
 <entry>
   <title>connections and networking</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/I_xZwfxYtPk/connections-and-networking.html" />
   <updated>2008-04-07T00:00:00-07:00</updated>
   <id>http://cory.github.com/writing/2008/04/07/connections-and-networking</id>
   <content type="html">&lt;p&gt;I was chatting with &lt;a href="http://zero.hastypastry.net/pathfinder/"&gt;Pathfinder&lt;/a&gt; at the &lt;a href="http://www.virtualworlds2008.com/media/releases.html"&gt;Virtual Worlds Conference 08&lt;/a&gt; in New York and we realized that there were two particularly long chains of personal connections that were relevant to the event and &lt;a href="http://secondlife.com"&gt;Second Life&lt;/a&gt;.  The first was the &lt;a href="http://ondrejka.blogspot.com/2008/02/speaking.html"&gt;State of Play&lt;/a&gt; conference, the second a video I had just been emailed showing Second Life being used for public diplomacy in Doha, Qatar.&lt;/p&gt;


	&lt;p&gt;The inaugural State of Play conference in November, 2003 was the first inflection point in Second Life&amp;#8217;s growth.  It was where Philip took down the house by announcing, during a shared panel with There.com&amp;#8217;s Will Harvey, that Second Life residents would retain intellectual property rights to their creations.  This announcement, the culmination of months of debate initiated by Larry&amp;#8217;s comment about ownership (1) and a complete rethinking of our &lt;span class="caps"&gt;EULA&lt;/span&gt;, generated incredible excitement and is a huge part of Second Life being what it is today.&lt;/p&gt;


	&lt;p&gt;But how did Linden Lab end up at State of Play, a small conference about games, economics, and law, created by Beth Noveck and held at New York Law School?&lt;/p&gt;


	&lt;p&gt;To answer that, we back up a few months to the first Austin Game Conference.  &lt;a href="http://www.virtualworldsmanagement.com/about/chris.html"&gt;Chris Sherman&lt;/a&gt; &lt;del&gt;- who also created the Virtual World Conference -&lt;/del&gt; had decided the time was right for an &lt;span class="caps"&gt;MMORPG&lt;/span&gt;-focused games conference in Austin.  Robin Harper and I attended, largely because we were still unsure of whether Second Life was a game or not.  Second Life had around 1000 users, so basically nobody had heard of it or knew who we were.  On the second morning, &lt;a href="http://www.raphkoster.com/"&gt;Raph Koster&lt;/a&gt; delivered the keynote that later became &lt;a href="http://www.theoryoffun.com/"&gt;A Theory of Fun&lt;/a&gt;, which hit many topics related to user-created content and motivations for creation, so I decided to go up and say hello.&lt;/p&gt;


	&lt;p&gt;I hadn&amp;#8217;t met Raph yet at this point, but he knew about Second Life because our first community relations employee, Peter Alau (2) knew Raph from Sony and had setup a meeting where Philip and Peter visited &lt;span class="caps"&gt;SOE&lt;/span&gt; and demoed Second Life.  Raph recognized the Linden Lab t-shirt I was wearing as I waited after the talk.  We started chatting and ended up talking about music, along with an &lt;span class="caps"&gt;ASCAP&lt;/span&gt; lawyer who had some very interesting questions about music in online games.&lt;/p&gt;


	&lt;p&gt;As we walked across the main hall, Raph mentioned to the lawyer that he was speaking at a law and games conference at &lt;a href="http://www.nyls.edu/"&gt;New York Law School&lt;/a&gt;.  He said that &lt;a href="http://mypage.iu.edu/%7Ecastro/"&gt;Ted Castronova&lt;/a&gt; was going to be there, too, and this it would also focus on economics.  I thought that it seemed like a good conference for Second Life, but then didn&amp;#8217;t think much about it until I was sitting at Austin airport with Robin, waiting to fly home.  We were discussing the fact that even though &lt;span class="caps"&gt;AGC&lt;/span&gt; was a great conference, Second Life didn&amp;#8217;t really seem to fit in.  I remembered Raph&amp;#8217;s comment, did a bit of googling &amp;#8211; since I hadn&amp;#8217;t remembered which New York school &amp;#8211; and showed it to Robin.  She thought it looked interesting, especially since we were in the midst of our IP transition, so once back at Linden, she and Catherine Smith reached out to &lt;span class="caps"&gt;NYLS&lt;/span&gt; and Beth.&lt;/p&gt;


	&lt;p&gt;And to think that Robin and I considered skipping the keynote!&lt;/p&gt;


This will seem like a left-turn at Albuquerque, but it isn&amp;#8217;t.  I just received a pointer to this video:
&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/LBHiHGQ9mcM&amp;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/LBHiHGQ9mcM&amp;amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;
This video is thrilling to see, because it raises some of the ideas possible when virtual worlds are applied to public diplomacy.  It also demonstrates how far networks can extend.

	&lt;p&gt;After State of Play, Beth gave a talk at Harvard on virtual worlds, law, IP, and economics.  This  talk generated a lot of excitement at Harvard and led to me being invited to speak at the &lt;a href="http://cyber.law.harvard.edu/"&gt;Berkman Center&lt;/a&gt;, where I met &lt;a href="http://cyber.law.harvard.edu/people/jclippinger"&gt;John Clippinger&lt;/a&gt;, a Berkman Fellow.  John was working on the user-centric identity project &lt;a href="http://www.eclipse.org/higgins/"&gt;Higgins&lt;/a&gt; (3) which seemed very applicable to Second Life, so he invited me to a later Berkman conference.  At that conference, John, &lt;span class="caps"&gt;BCG&lt;/span&gt;&amp;#8217;s &lt;a href="http://www.bcg.com/impact_expertise/practice_area.jsp?practice=9#"&gt;Philip Evans&lt;/a&gt;, and I ended up kicking around the idea that the massive entrepreneurial activity within Second Life could be a model and tool for real-world collaboration and market activity, and that Dubai might be the perfect test case.&lt;/p&gt;


	&lt;p&gt;John thought he knew the perfect person to ask about it, so a few weeks later we met &lt;a href="http://www.vanheyst.com/vanHeystGroup/founders.php"&gt;Della van Heyst&lt;/a&gt; in Palo Alto.  Della deserves a blog post &lt;del&gt;- hell, an entire blog -&lt;/del&gt; all to herself, but for this story it is enough to say that she didn&amp;#8217;t think Dubai was the right place to start but that she was organizing &lt;span class="caps"&gt;AMD&lt;/span&gt;&amp;#8217;s Global Vision conference and would I like to speak at it, since Second Life was running on a huge grid of &lt;span class="caps"&gt;AMD&lt;/span&gt;-powered computers?  That seemed like a great opportunity for us, so I accepted.&lt;/p&gt;


	&lt;p&gt;Ironically, by the time of the conference, Intel has reclaimed their lead in the &lt;span class="caps"&gt;MIPS&lt;/span&gt;/watt game and Linden had switched back to &lt;a href="http://blogs.zdnet.com/BTL/?p=3633"&gt;Intel CPUs&lt;/a&gt;, making for a somewhat awkward talk.  The evening before my talk, Della hosted a speaker&amp;#8217;s dinner where I met &lt;a href="http://www.biotechonomy.com/juan.htm"&gt;Juan Enriquez&lt;/a&gt; and talked his ear off about virtual worlds and their uses.  Juan subsequently introduced me to &lt;a href="http://uscpublicdiplomacy.com/index.php/about/bio_detail/cynthia_schneider/"&gt;Cynthia Schneider&lt;/a&gt;, the former US Ambassador to Holland and one of the organizers of the US Islamic Forum in Doha (along with &lt;a href="http://www.brookings.edu/experts/s/singerp.aspx"&gt;Peter Singer&lt;/a&gt; at the Brookings Institution.)  Thanks to Cynthia, I attended the conference, spoke at Brookings (4) and re-introduced Cynthia to Josh Fouts at the Center for Public Diplomacy (5).&lt;/p&gt;


	&lt;p&gt;Which led to the panel and video at this year&amp;#8217;s Doha conference.&lt;/p&gt;


	&lt;p&gt;Pathfinder had seen the video &lt;del&gt;- and has met most of the connections in this story -&lt;/del&gt; but as we laid them all out, we were amazed by how infectious the promise of virtual worlds are.   It was against the backdrop of that conversation that I found the sudden &lt;a href="http://ondrejka.blogspot.com/2008/04/its-small-world-after-all.html"&gt;smallness&lt;/a&gt; of virtual worlds disappointing.&lt;/p&gt;


	&lt;p&gt;Notes, because there are even more connections&amp;#8230;&lt;/p&gt;


	&lt;p&gt;(1) I&amp;#8217;ve written about the impact of Larry&amp;#8217;s comment in &lt;a href="http://papers.ssrn.com/sol3/papers.cfm?abstract_id=1023493"&gt;Collapsing Geography&lt;/a&gt;.
(2) Peter, worked at Linden because his then-girlfriend/now-wife and my wife had met at a mutual friend&amp;#8217;s wedding.
(3) Higgins also has &lt;a href="http://www.escapistmagazine.com/articles/view/issues/issue_34/208-Anonymity-is-Not-Enough"&gt;historical&lt;/a&gt; links to Andrew Donoho&amp;#8217;s Papillon project, which arose in part due to State of Play and a tech talk I gave to &lt;span class="caps"&gt;IBM&lt;/span&gt; Austin&amp;#8217;s Advanced Technology Group.
(4) Which led to the hiring Sue Singer, who Congressman Markey specifically thanked at the &lt;a href="http://nwn.blogs.com/nwn/2008/04/new-world-newsf.html"&gt;hearings&lt;/a&gt; last week!
(5) How I met Josh and Doug, and ended up teaching at Annenberg, is in a previous &lt;a href="http://ondrejka.blogspot.com/2007/12/apoc.html"&gt;post&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/I_xZwfxYtPk" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/writing/2008/04/07/connections-and-networking.html</feedburner:origLink></entry>
 
 <entry>
   <title>demo 2002</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/XlFK_g4iShg/demo-2002.html" />
   <updated>2008-01-30T00:00:00-08:00</updated>
   <id>http://cory.github.com/writing/2008/01/30/demo-2002</id>
   <content type="html">&lt;p&gt;The &lt;a href="http://www.demo.com/"&gt;Demo&lt;/a&gt; conference is going on right now and the blogosphere is &lt;a href="http://mashable.com/2008/01/30/demo-08-roundup-2/"&gt;abuzz&lt;/a&gt;.  Certainly, Demo doesn&amp;#8217;t have the same glow that it did during the dotcom bubble, but I&amp;#8217;m hearing more about it this year than I have for a while.  This got me thinking about &lt;a href="http://lindenlab.com/pressroom/releases/02_02_11"&gt;Demo 2002&lt;/a&gt;, when LindenWorld was first showed to the public.&lt;/p&gt;


	&lt;p&gt;I don&amp;#8217;t recall why we picked Demo 2002 as the venue for our launch but we started pushing in January&amp;#8212;Demo that year was in February.  A lot of the pieces of what would be &lt;a href="http://secondlife.com"&gt;Second Life&lt;/a&gt; were in place.  &lt;a href="http://secondlife.wikia.com/wiki/Primitar"&gt;Primitar&lt;/a&gt; had finally been replaced with human avatars.  Those humans even had some rudimentary customizations, mainly around t-shirts.  Using &lt;span class="caps"&gt;LSL1&lt;/span&gt; we had built a small city with operating doors, an elevator, a slide, and music mix table.  As the planning came together, we spent a lot of time debating exactly how to use our 6 minutes.  If you aren&amp;#8217;t familiar with Demo,you have 6 minutes on stage, with a big timer.  They give you the hook when it gets to 6:00.&lt;/p&gt;


	&lt;p&gt;Someone had uploaded scans of US coins and we realized that a very cool effect was to alt-zoom onto a coin on the ground then back the camera up into the sky, past the clouds and the space station, before zooming in rapidly.  We decided to have the coin on the floor of a copy of the hotel Demo was being held at, so we all scoured the Web looking for source images.  Soon, a rough approximation of the grand ballroom appeared, with lighting keyed to switches and huge sliding back doors to fly out.&lt;/p&gt;


	&lt;p&gt;Meanwhile, Philip was writing out his speech.  It was &lt;del&gt;- and as far as I know still is -&lt;/del&gt; the only speech he ever wrote out and practiced.  It evoked Legos and Tinker Toys before switching to a rolling description that I would fly to.  Philip would say &amp;#8220;So, let&amp;#8217;s turn on the lights, open the doors, and fly out into the world!&amp;#8221; and I would click on the scripted objects before flying out the back of the room, over the hills and onto a platform where I road an elevator down to the town&amp;#8217;s main street &lt;del&gt;- with Philip joking about the &amp;#8220;elevator pitch&amp;#8221; -&lt;/del&gt; before a quick walk through some LindenWorld tutorials, a trip to a dance club, and then fireworks.  We practiced this demo dozens &lt;del&gt;- hundreds -&lt;/del&gt; of times, until we had it down.&lt;/p&gt;


	&lt;p&gt;But, there were problems.  We had no idea what kind of net connection was waiting for us in Phoenix, so we packed extra computers to run a local grid.  Worse, no laptops in early 2002 could run LindenWorld at all well, so we shipped high end Dells and carried out top-of-the-line nVidia cards.  James Cook became the master organizer, taking over several desks in the office to collect everything we needed.  He tested and packed spares of everything.  Mice, graphics cards, network cables, switches, power cords.  He figured out how to spread items between different boxes so if shipments were lost we&amp;#8217;d never be &lt;span class="caps"&gt;SOL&lt;/span&gt;.  We didn&amp;#8217;t trust Dell to deliver w
orking computers, so James and I would went to Phoenix early to test the network, pick up the machines, and solve any problems.&lt;/p&gt;


	&lt;p&gt;We got to the hotel and after wandering into a lot of random rooms, stumbled into Chris Shipley and the Demo team.  We found our computers and their networking gang.  They were just getting the network up and initial results looked bad&amp;#8212;incredibly high ping times.  However, the route settled out during the day and soon we were happily running LindenWorld from the show floor.  Sweet!  We went to the airport to meet Philip and Hunter Walk before having dinner with Mitch.  We were able to do a run through in the demonstration area and it went smoothly.  Everything seemed to be going well.&lt;/p&gt;


	&lt;p&gt;We were the first demo of the conference, so I was up early the next morning and wandered over to the ballroom.  Small problem&amp;#8212;no network!  I woke James up and he and I started thinking through how to run a local grid when the Demo network team found their problem and got their network up and running again.  Everybody started getting tense as time ticked down to the start of the conference.&lt;/p&gt;


	&lt;p&gt;I went into the bathroom and all you could hear were nervous geeks vomiting into  toilets.  You could smell the fear and tension.  Remember, this was February, 2002.  We were deep in the crash, 9/11 had seemingly just happened, nobody was getting funding for anything.  A Demo performance could be make-or-break for dozens of companies.&lt;/p&gt;


	&lt;p&gt;Philip and I went backstage and waited.  Chris gave her opening speech and then it was us.  There were three steps up onto the stage and Philip clipped his toe and nearly wiped out.  But, he recovered and launched into his talk.  The demo computer was working fine &lt;del&gt;- did I mention that we crashed the demo about 1 in 10 run throughts? -&lt;/del&gt; and I zoomed the camera in &lt;del&gt;- &amp;#8220;Philip joking about the 30,000&amp;#8217; view&amp;#8221; -&lt;/del&gt; trying to sync with Philip.  I flew out, avoided biffing the landing at the elevator, and watched the time.  We were dead on.  Linden employees in San Francisco were logged in, too, so we walked past them at the demo area, and headed for the dance club.  I tossed grenades and shattered a box textures with a horrible Power Point slide &lt;del&gt;- no Power Point at Demo! -&lt;/del&gt; which was especially cool as this was when we briefly had real-time vertex shadows on the terrain, so the tumbling pieces cast shadows.  The I hit the Windows key and dumping out of full screen mode.&lt;/p&gt;


	&lt;p&gt;Yes, after practicing a billion times, I hit the fucking Windows key.  I had a moment of panic before maximizing the app and continuing.  Unfortunately, the transition from full screen to windowed caused my avatar to stop rendering, so I flipped into first person, hit the dance club, spun some tunes, before going outside, rezzing some fireworks, and launching them as the clock hit 6:00.&lt;/p&gt;


	&lt;p&gt;We had done it!  To thunderous applause, we left the stage and high-fived.  Philip was laughing about almost tripping and hadn&amp;#8217;t noticed my Windows key snafu.  James came back stage and said we had rocked and that the stage dress had hidden the almost trip.  We watched the rest of the demos before heading for the show floor to do demos and talk to people for two days, laying groundwork for our private Alpha and some of the mainstream interest that would follow.&lt;/p&gt;


	&lt;p&gt;In hindsight, we spent a lot of time kicking ourselves for not just showing a movie.  Sure, Demo is all about the ballsy, high wire, live demo, but the reality is some people play it safe.  We were watching one of the broadband wireless demos &lt;del&gt;- supposedly live -&lt;/del&gt; when James noticed the he and I were in the background of a &amp;#8220;live&amp;#8221; shot outside.  Either we had mastered the art of bilocation or those guys were faking it.  Different strokes for different folks.&lt;/p&gt;


	&lt;p&gt;For Linden Lab, it was a huge turning point.  We had met an external deadline, had proved that people not at 333 Linden Street would find the idea interested, and had the pieces in place to open for Alpha.  All-in-all, Demo 2002 was a pretty important moment in Linden history.&lt;/p&gt;


	&lt;p&gt;And, from then on, whenever I have used a Windows PC, I&amp;#8217;ve ripped the Windows key off the keyboard.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/XlFK_g4iShg" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/writing/2008/01/30/demo-2002.html</feedburner:origLink></entry>
 
 <entry>
   <title>lsl1</title>
   <link href="http://feedproxy.google.com/~r/github/fgmV/~3/ni20ycl7qO8/lsl1.html" />
   <updated>2008-01-22T00:00:00-08:00</updated>
   <id>http://cory.github.com/writing/2008/01/22/lsl1</id>
   <content type="html">&lt;p&gt;I just had a chance to read &lt;a href="http://nwn.blogs.com/"&gt;James Au&lt;/a&gt;&amp;#8217;s new book, &lt;a href="http://www.amazon.com/Making-Second-Life-Notes-World/dp/0061353205"&gt;The Making of Second Life.&lt;/a&gt;  It was a fun read, but like any collection of memories, it captures only a tiny slice of the events that went into making &lt;a href="http://secondlife.com"&gt;Second Life&lt;/a&gt;.  So, I think it would be fun to make a semi-regular part of this site different moments from my memories of the first 7 years of Second Life.&lt;/p&gt;


	&lt;p&gt;So, my first metaverse memory:&lt;/p&gt;


	&lt;p&gt;Around August of 2001, back when Second Life was called Linden World (note 1), there was no scripting language in SL.  Primitar was about to replace the spaceships and floating eyeballs that were the original avatars and James was doing the first major UI revamp so that we could add to the world without shooting.  The entire team had been debating how to add behavior into the system for months, with Philip arguing that we should just use physics.  Philip had some really good points, because if we were able to use Havok for all of our behaviors, residents would be able to gauge the complexity of an object by just looking at it &lt;del&gt;- like mechanical systems in the real world -&lt;/del&gt; and we wouldn&amp;#8217;t have to divert scarce resources into a project that could take significant time and effort.  Mitch was also an advocate of visual complexity representing behavioral complexity, and I think there was something to that idea.&lt;/p&gt;


	&lt;p&gt;Unfortunately, Havok running on Pentium 4 servers was nowhere near powerful enough to represent complex systems in a general way.  We had built some simple slides and teeter-totters, and while these were good geek fun, they didn&amp;#8217;t extend to create the kind of behaviors we all knew the world needed.  But, I also believed that Philip was right.  We just didn&amp;#8217;t have the development resources to divert a large number of people to build a scripting language.&lt;/p&gt;


	&lt;p&gt;So, I decided to crank one out in a night.  Andrew and I both did semi-regular all nighters during those early Linden days&amp;#8212;including a memorable night when Andrew managed to lock me out of the room my keys were in and set the alarm, but that&amp;#8217;s another story.  I am a huge believer is limiting developers to 40-50 hour weeks in order to maintain long-term productivity, but it is fun to occasionally proving you can still create something in a night.  A simple language seemed like a perfect fit.&lt;/p&gt;


	&lt;p&gt;&lt;span class="caps"&gt;LSL&lt;/span&gt; (or, what became &lt;span class="caps"&gt;LSL1&lt;/span&gt; when I wrote &lt;span class="caps"&gt;LSL2&lt;/span&gt; to replace it) looked a lot like assembly, because this allowed the least amount of work to go into the parser and compiler.  It had some of the functionality of the &lt;span class="caps"&gt;LSL2&lt;/span&gt; &lt;del&gt;- for example, it could detect if you clicked on an object or a collision -&lt;/del&gt; and had functions.  It also was already event driven, an approach central to &lt;span class="caps"&gt;LSL2&lt;/span&gt;.  Most importantly, it was working just in time for a Friday &amp;#8220;Show and Tell&amp;#8221;!  I built a simple garage door, where a box would move from open to closed when you clicked on it, as well as some rotating objects, and demonstrated it.&lt;/p&gt;


	&lt;p&gt;Everybody was jazzed and after some discussion, we agreed that it should get rolled into the code.  Philip immediately combined &lt;span class="caps"&gt;LSL1&lt;/span&gt; with the physics engine to build the wind chimes that graced the original starting area.  It would be about 8 months before I found time to revisit it and build &lt;span class="caps"&gt;LSL2&lt;/span&gt; (note 2), the scripting language used in SL today.  Finding time to build &lt;span class="caps"&gt;LSL2&lt;/span&gt; became critical because our Alpha residents were building content so quickly in &lt;span class="caps"&gt;LSL1&lt;/span&gt; and we knew that we couldn&amp;#8217;t support &lt;span class="caps"&gt;LSL1&lt;/span&gt; going forward.&lt;/p&gt;


	&lt;p&gt;But that is a story for another day.&lt;/p&gt;


	&lt;p&gt;(1) There have been various reports of where the name Linden World came from.  Sadly, that name was my fault.  When I gave my signed offer letter to Philip, we met down at Accel&amp;#8217;s office in Palo Alto.  One of the best parts of the early Linden offer letters is that Philip wrote them in a relatively informal style that perfectly captured his excitement about Linden.  If I recall correctly, it had a wonderful phrase about how happy he was to be hiring me and that we were going to change the world.  I was excited and worried, since I was walking away from what I knew &lt;del&gt;- game development -&lt;/del&gt; and trying something quite new, and a bit intimidated by the whole Accel VC vibe.  Philip set me at ease and introduced me to several of the Accel partners, including Jim Breyer.  I handed him the paperwork that would put me on a new path and he shook my hand, saying how much fun we were going to have building this new world.  I responded with &amp;#8220;Yes, building Linden World is going to a blast.&amp;#8221;  I paused. &amp;#8220;But, let&amp;#8217;s never call it that!&amp;#8221;  Unfortunately, the name stuck in early discussions with Andrew and Frank &lt;del&gt;- and was cemented thanks to Frank&amp;#8217;s &amp;#8220;Welcome to Linden World!&amp;#8221; audio sample -&lt;/del&gt; despite all of us agreeing that it was a horrible name.  It wasn&amp;#8217;t until after Demo, the hiring of Hunter and Robin, and the move to 2nd Street that we were able to really revisit the name.&lt;/p&gt;


	&lt;p&gt;(2) &lt;span class="caps"&gt;LSL2&lt;/span&gt; was designed and built over the course of about a week in early 2002.  I had done some general Lex-Yacc homework before that, as it had been years since I had used them, and we did one meeting where we brainstormed what the structure of &lt;span class="caps"&gt;LSL2&lt;/span&gt; should be.  The initial &lt;span class="caps"&gt;LSL2&lt;/span&gt; implementation didn&amp;#8217;t have lists.  An extremely broken list implementation was added a few months later and then debugged for months.  &lt;span class="caps"&gt;LSL2&lt;/span&gt; will soon be running on the Mono open source &lt;span class="caps"&gt;CLI&lt;/span&gt; engine, which will make it much faster.  For all of its challenges &lt;del&gt;- nobody is harder on &lt;span class="caps"&gt;LSL2&lt;/span&gt; than I am -&lt;/del&gt; it is still satisfying to know that over a million people have collectively written over 2.5 billion lines of code with &lt;span class="caps"&gt;LSL2&lt;/span&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/github/fgmV/~4/ni20ycl7qO8" height="1" width="1"/&gt;</content>
 <feedburner:origLink>http://cory.github.com/writing/2008/01/22/lsl1.html</feedburner:origLink></entry>
 
 
</feed>
