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

<channel>
	<title>Ted Leung on the Air</title>
	<atom:link href="http://www.sauria.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sauria.com/blog</link>
	<description>Open Source, Modern Programming Languages, OS X, Photography, and ...</description>
	<lastBuildDate>Tue, 02 Feb 2010 12:56:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The Sun sets on me</title>
		<link>http://www.sauria.com/blog/2010/02/02/the-sun-sets-on-me/</link>
		<comments>http://www.sauria.com/blog/2010/02/02/the-sun-sets-on-me/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 12:56:53 +0000</pubDate>
		<dc:creator>Ted Leung</dc:creator>
				<category><![CDATA[Sun]]></category>
		<category><![CDATA[programming languages]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.sauria.com/blog/2010/02/02/the-sun-sets-on-me/</guid>
		<description><![CDATA[On Friday I was notified that I will not be making the transition from Sun to Oracle. Sun was a company filled with talented and energetic people, and I am grateful for the chance to work with them.
Pythonistas (and others) may be wondering what this means for dynamic languages at Oracle. I wish I knew. [...]]]></description>
			<content:encoded><![CDATA[<p>On Friday I was notified that I will not be making the transition from Sun to Oracle. Sun was a company filled with talented and energetic people, and I am grateful for the chance to work with them.</p>
<p>Pythonistas (and others) may be wondering what this means for dynamic languages at Oracle. I wish I knew. I don&#8217;t have any direct knowledge of this, since I&#8217;ve never actually spoken to anyone at Oracle about the topic. &nbsp;&nbsp;</p>
<p>I am definitely looking for another opportunity. During my time at Sun I&#8217;ve worked on a bunch of Python related stuff, as well as a few things related to cloud computing. Other skills in my repertoire include server side development (Java and Python), open source community work, and engineering management. I&#8217;m definitely open to different possibilities. The <a href="http://www.sauria.com/blog/about/">about</a> page of this blog has my contact information, and my <a href="http://www.linkedin.com/in/tedleung">LinkedIn profile</a> is a pretty good summary of my credentials.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sauria.com/blog/2010/02/02/the-sun-sets-on-me/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>A Few Thoughts on the iPad</title>
		<link>http://www.sauria.com/blog/2010/01/28/ipad/</link>
		<comments>http://www.sauria.com/blog/2010/01/28/ipad/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 19:56:55 +0000</pubDate>
		<dc:creator>Ted Leung</dc:creator>
				<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.sauria.com/blog/2010/01/28/ipad/</guid>
		<description><![CDATA[Here is a jumble of thoughts about the iPad, after finally getting a chance to watch the Stevenote last night. If you haven&#8217;t watched it, I think that there are some parts of it that are worth watching, particularly the app developer parts. When I first saw the online coverage of the iPad announcement, I [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a jumble of thoughts about the iPad, after finally getting a chance to watch the Stevenote last night. If you haven&#8217;t watched it, I think that there are some parts of it that are worth watching, particularly the app developer parts. When I first saw the <a href="http://www.engadget.com/2010/01/27/live-from-the-apple-tablet-latest-creation-event/">online coverage</a> of the iPad announcement, I wasn&#8217;t that impressed. On the surface, the iPad is pretty unsurprising. It&#8217;s a tablet and it&#8217;s based on the iPhone OS (or may be we should really be calling it OS X Touch). &nbsp;&nbsp;</p>
<p><b>User Interface</b></p>
<p>One the one hand, the iPad is the same iPhone OS that is familiar to 70 million iPhone users. On the other hand, some of the keynote demos show that the larger form factor is going to have some interesting UI potential.</p>
<p>I usually try to pay careful attention to presentations by game developers. It&#8217;s not because I am a big gamer myself, but it&#8217;s because the people doing games are usually doing some of the most insane, crazy, and interesting things in the business, and it&#8217;s worth paying attention to the things that they say are important. Both of the game demos for the iPad had some pretty interesting UI and commentary on the experience of the machine as a whole.</p>
<p>The other really interesting part of the keynote was the iWork demo. I am very impressed with the way that iWork has been adapted to the touch screen. There are a number of really cool multitouch gestures that were demonstrated. This is going to be the beginning of some very interesting user interface stuff.</p>
<p><b>Integration</b></p>
<p>I spent most of yesterday watching the Oracle/Sun strategy webcast, and a major theme was the way that Oracle plans to tightly integrate Sun&#8217;s hardware, and to optimize the entire hardware and software stack. The Oracle <a href="http://www.oracle.com/us/products/database/exadata/index.htm">Exadata</a> database machine was repeatedly touted as an example of this kind of integration. If the benchmarks and early customer experiences are indicative, this integration has paid off handsomely, as it has also with the Sun Storage 7000.</p>
<p>The new A4 processor powering the iPad received only brief mention during the keynote, but here too is the same kind of integration. Details on the A4 are very scarce, but speculation is that it was done by the team that Apple acquired from PA semiconductor. It appears to be an ARM compatible (iPhone apps do run) system on a chip design, and I would bet that it is contributing to the (relatively) low price, long battery life, and high performance (according to <a href="http://daringfireball.net/2010/01/ipad_big_picture">Gruber</a>) of the device.</p>
<p>I think that it&#8217;s worth noting that companies like Google are also doing this kind of vertical integration, building their own custom PC designs, having custom Linux kernels and other software. Many of us in the &#8220;open&#8221; world decry vertical integration because it is almost inevitably closed, but the kind of engineering virtuosity that is on display does impress.</p>
<p><b>Wireless</b></p>
<p>Apple appears to have gotten iPad users a deal on 3G pricing from AT&amp;T. I am not really sure that this is a step in the right direction. If Apple is to believed, we are entering a world where a person could have no less that 3 devices (phone, pad, laptop) in need of wireless data (and voice) connectivity. A contract/plan for each device might be great for the carriers, but it is horrible for the users. Since even Apple has backed down in the face of the carriers, it doesn&#8217;t look like this is going to change much, but it ought to.</p>
<p><b>Me</b></p>
<p>Will I buy one? I&#8217;ve been toying with the idea of buying Kindle for some time now. I wanted the size of the Kindle DX, since I wanted to read PDFs of books and research papers, but I felt that $499 for the DX was too much to pay for a book reader. The iPad is obviously a much more capable device than a Kindle, and I&#8217;d expect Amazon to upgrade their Kindle iPhone app to run on the iPad. &nbsp;&nbsp;</p>
<p>I think that the iPad would be vastly superior to my iPhone as a means of showing my photographic portfolio. I can also imagine using an iPad as a tethered shooting target, which would definitely be interesting. The tablet form factor could lead to some pretty interesting photography applications, and the iPad CPU appears to be reasonably capable.</p>
<p>I&#8217;ll say this much &#8211; I definitely want to play with one.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sauria.com/blog/2010/01/28/ipad/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>2009 in Photography</title>
		<link>http://www.sauria.com/blog/2009/12/30/2009-in-photography/</link>
		<comments>http://www.sauria.com/blog/2009/12/30/2009-in-photography/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 03:58:47 +0000</pubDate>
		<dc:creator>Ted Leung</dc:creator>
				<category><![CDATA[photography]]></category>

		<guid isPermaLink="false">http://www.sauria.com/blog/2009/12/30/2009-in-photography/</guid>
		<description><![CDATA[Here&#8217;s a roundup of what I saw through the lens in 2009.
January
This year I did a lot more work with local and regional dancers. Here&#8217;s a danceseattle rehearsal shot.

February
I continued my role as the official photographer for Bainbridge Island Chinese Connection&#8217;s Chinese New Year Celebration.

March
I caught this shot of Guido van Rossum at PyCon by [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a roundup of what I saw through the lens in 2009.</p>
<p><b>January</b></p>
<p>This year I did a lot more work with local and regional dancers. Here&#8217;s a danceseattle rehearsal shot.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/3218880373/"><img src="http://farm4.static.flickr.com/3451/3218880373_278d2f5c57.jpg" height="500" width="333" alt="danceseattle rehearsal" /></a></p>
<p><b>February</b></p>
<p>I continued my role as the official photographer for Bainbridge Island Chinese Connection&#8217;s Chinese New Year Celebration.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/3276287730/"><img src="http://farm4.static.flickr.com/3463/3276287730_ec76d88876.jpg" height="500" width="333" alt="Seattle Chinese Orchestra" /></a></p>
<p><b>March</b></p>
<p>I caught this shot of Guido van Rossum at PyCon by being in the right place at the right time. My camera was lying on the table next to me when Guido suddenly grabbed the Django Pony and started running down the aisle. He was moving fast enough that I had to snap off a bunch of frames to catch him in focus.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/3401670115/"><img src="http://farm4.static.flickr.com/3569/3401670115_54e1d32200.jpg" height="333" width="500" alt="PyCon 2009" /></a></p>
<p><b>April</b></p>
<p>April was busy dance month. The Olympic Performance Group put on &#8220;The Toymaker&#8217;s Doll&#8221; (also known as Coppelia).</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/3419893267/"><img src="http://farm4.static.flickr.com/3550/3419893267_22971c1418.jpg" height="500" width="333" alt="OPG Toymaker's Doll 2009" /></a></p>
<p>danceseattle had their first ever performance.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/3454212783/"><img src="http://farm4.static.flickr.com/3557/3454212783_8213cf7a56.jpg" height="500" width="333" alt="danceseattle Looking Glass Glimpses 2009" /></a></p>
<p>For the first time in a long time, I actually was able to show up to a Seattle Flickr Garage shoot.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/3440096119/"><img src="http://farm4.static.flickr.com/3630/3440096119_b2d8dab3b5.jpg" height="333" width="500" alt="UW Garage Shoot 9" /></a></p>
<p><strong>May</strong></p>
<p>May is when the weather in the Seattle area starts to get decent, so I was able to get some nature subjects in front of the lens.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/3550924142/"><img src="http://farm4.static.flickr.com/3383/3550924142_fc310d6890.jpg" height="410" width="500" alt="Focus stacking experiments" /></a></p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/3571943171/"><img src="http://farm4.static.flickr.com/3341/3571943171_70f4ab6319.jpg" height="333" width="500" alt="Memorial Day Low Tide Beach walk" /></a></p>
<p><b>June</b></p>
<p>I headed to San Francisco for JavaOne in early June.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/3608125931/"><img src="http://farm3.static.flickr.com/2421/3608125931_0a1c26362d.jpg" height="500" width="333" alt="CommunityOne 2009" /></a></p>
<p>I finished out June with Bainbridge Ballet&#8217;s end of year recital.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/3637261785/"><img src="http://farm4.static.flickr.com/3337/3637261785_6f879a41fa.jpg" height="500" width="333" alt="Bainbridge Ballet Recital 2009" /></a></p>
<p><a href="http://www.flickr.com/photos/51035696189@N01/3637261785/"></a><strong>July</strong></p>
<p>The Bainbridge Island Fourth of July Parade is always a family and photographic staple.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/3688746827/"><img src="http://farm3.static.flickr.com/2447/3688746827_48210d04d9.jpg" height="500" width="333" alt="Bainbridge Island Fourth of July Parade" /></a></p>
<p>Also in July, we had the first guinea pig born in our house.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/3710453552/"><img src="http://farm4.static.flickr.com/3472/3710453552_b95fdbc738.jpg" height="500" width="333" alt="The latest addition to the family" /></a></p>
<p><b>August</b></p>
<p>I made it to a second Seattle Flickr garage shoot.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/3835544985/"><img src="http://farm4.static.flickr.com/3500/3835544985_eacf428bce.jpg" height="333" width="500" alt="UW Garage Shoot 10" /></a></p>
<p><strong>September</strong></p>
<p>Senior pictures for Bainbridge High School are due at the end of September, and I did 4 sessions in the space of 12 days or so.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/3956393445/"><img src="http://farm3.static.flickr.com/2563/3956393445_12ec13a1d9.jpg" height="333" width="500" alt="Blake - Class of 2009" /></a></p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/3957172672/"><img src="http://farm3.static.flickr.com/2526/3957172672_6b70c74271.jpg" height="500" width="333" alt="Blake - Class of 2009" /></a></p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/3976477536/"><img src="http://farm3.static.flickr.com/2436/3976477536_791c376663.jpg" height="500" width="333" alt="Stefan - Class of 2010" /></a></p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/3985782557/"><img src="http://farm3.static.flickr.com/2616/3985782557_5a75e1578f.jpg" height="500" width="333" alt="Matt - Class of 2010" /></a></p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/3994158167/"><img src="http://farm4.static.flickr.com/3482/3994158167_317ccb9cc1.jpg" height="500" width="333" alt="Michael - Class of 2010" /></a></p>
<p><b>October</b></p>
<p>School was in full swing in October, and one of the science lessons that Julie did with the girls involved extracting DNA using Bacardi 151 rum.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/4012710331/"><img src="http://farm4.static.flickr.com/3519/4012710331_682c1283fd.jpg" height="500" width="333" alt="Homeschool: Extracting DNA with Bacardi 151" /></a></p>
<p><b>November</b></p>
<p>This year was the 10th Anniversary of the Apache Software Foundation (and my involvement with it). I did take a few shots while I was at ApacheCon.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/4110016787/"><img src="http://farm3.static.flickr.com/2711/4110016787_3c0a22e97e.jpg" height="500" width="333" alt="ApacheCon US 2009" /></a></p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/4110797160/"><img src="http://farm3.static.flickr.com/2710/4110797160_94802922e4.jpg" height="500" width="333" alt="ApacheCon US 2009" /></a></p>
<p>I was also fortunate enough to get a slot to <a href="http://www.pocketwizard.com/news_events/event/markwallace_meetup_tour_/">J. Mark Wallace&#8217;s US Meetup Tour</a> when it hit Seattle.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/4168563936/"><img src="http://farm3.static.flickr.com/2731/4168563936_3cb6b2f33d.jpg" height="500" width="333" alt="Images from the Mark Wallace US Meetup Tour" /></a></p>
<p><strong>December</strong></p>
<p>Photographically, December is dominated by the Olympic Performance Group&#8217;s production of the Nutcracker.</p>
<p style="text-align: center;"><b><a href="http://www.flickr.com/photos/51035696189@N01/4225338573/"><img src="http://farm3.static.flickr.com/2794/4225338573_444d9be670.jpg" height="333" width="500" alt="OPG Nutcracker 2009" /></a></b></p>
<p style="text-align: center;"><b><a href="http://www.flickr.com/photos/51035696189@N01/4226102500/"><img src="http://farm5.static.flickr.com/4069/4226102500_d323be5bc7.jpg" height="333" width="500" alt="OPG Nutcracker 2009" /></a><br /></b></p>
<p><b><br /></b></p>
<p><b><br /></b></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sauria.com/blog/2009/12/30/2009-in-photography/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>ApacheCon US 2009</title>
		<link>http://www.sauria.com/blog/2009/11/16/apachecon-us-2009/</link>
		<comments>http://www.sauria.com/blog/2009/11/16/apachecon-us-2009/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 01:22:35 +0000</pubDate>
		<dc:creator>Ted Leung</dc:creator>
				<category><![CDATA[apache]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://www.sauria.com/blog/2009/11/16/apachecon-us-2009/</guid>
		<description><![CDATA[[This post is late because I came down with the flu right after I got back from ApacheCon. I guess next year I will get a flu shot]
Talks
This year I was unable to attend all of the conference due to some scheduling problems, so I can&#8217;t give an in depth report on talks. I used [...]]]></description>
			<content:encoded><![CDATA[<p>[This post is late because I came down with the flu right after I got back from ApacheCon. I guess next year I will get a flu shot]</p>
<p><b>Talks</b></p>
<p>This year I was unable to attend all of the conference due to some scheduling problems, so I can&#8217;t give an in depth report on talks. I used some of the time that I might normally have spent in talks to catch up with people that I haven&#8217;t seen in a while. I was able to attend a good number of the talks in the Hadoop track. The track was larger than last year&#8217;s track (due in part to a larger room), but I felt that last year&#8217;s track was stronger. It might also be that I&#8217;ve become a bit more familiar with Hadoop, making it harder to make a bing impression. It&#8217;s definitely the case that there was a lot of interest in Hadoop, and I expect that to continue.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/4110005817/"><img src="http://farm3.static.flickr.com/2671/4110005817_228e68bc56.jpg" height="333" width="500" alt="ApacheCon US 2009" /></a></p>
<p>Unfortunately, I missed the NoSQL meetup during the Apache BarCamp. I think that there could/should have been an entire NoSQL track, especially given the fact that Cassandra and CouchDB are both frequently mentioned NoSQL technologies, and both are housed at Apache.</p>
<p>One talk that surprised me was Ross Gardler&#8217;s talk <a href="http://www.us.apachecon.com/c/acus2009/sessions/295">Teaching and Learning about Open Development</a>, originally I didn&#8217;t think that I would have time to stay for that talk slot, but a rearrangement of my return flight loosened my schedule so that I could stick around. Ross is the chairman of the newly created Community Development PMC at Apache. This is a new effort aimed at improving the experience of contributors and new committers. Some of the people on the PMC have been heavily involved in the ASF&#8217;s Google Summer of Code outreach, and will be bringing their experiences over with them. It seems like this PMC will also be a good place for people concerned about diversity issues to dig in and help in a concrete fashion.</p>
<p><b>Celebration</b></p>
<p>This year&#8217;s ApacheCon&#8217;s have been a celebration of the 10 year anniversary of the founding of the Apache Software Foundation. At Oakland, there was a cake, a proclamation from the Mayor of Oakland, and (I didn&#8217;t get to see this) a letter of congratulations from the Governor of California. Rather than try and describe the festivities in prose, I&#8217;ll leave you with some photos:</p>
<div style="text-align: center;">
  <a href="http://www.flickr.com/photos/51035696189@N01/4110013133/"><img src="http://farm3.static.flickr.com/2785/4110013133_bc9cffde57.jpg" height="333" width="500" alt="ApacheCon US 2009" /></a>
</div>
<div style="text-align: center;">
  
</div>
<div style="text-align: center;">
  <a href="http://www.flickr.com/photos/51035696189@N01/4110012105/"><img src="http://farm3.static.flickr.com/2492/4110012105_3b74d6497c.jpg" height="333" width="500" alt="ApacheCon US 2009" /></a>
</div>
<div style="text-align: center;">
  
</div>
<div style="text-align: center;">
  <a href="http://www.flickr.com/photos/51035696189@N01/4110022037/"><img src="http://farm3.static.flickr.com/2507/4110022037_365069224d.jpg" height="500" width="333" alt="ApacheCon US 2009" /></a>
</div>
<div style="text-align: center;">
  
</div>
<div style="text-align: center;">
  <a href="http://www.flickr.com/photos/51035696189@N01/4110031267/"><img src="http://farm3.static.flickr.com/2666/4110031267_0154f67e78.jpg" height="333" width="500" alt="ApacheCon US 2009" /></a>
</div>
<div style="text-align: center;">
  
</div>
<div style="text-align: center;">
  <a href="http://www.flickr.com/photos/51035696189@N01/4110797160/"><img src="http://farm3.static.flickr.com/2710/4110797160_94802922e4.jpg" height="500" width="333" alt="ApacheCon US 2009" /></a>
</div>
<p>The <a href="http://www.flickr.com/photos/twleung/sets/72157622694214679/">entire set</a> of photos is up on Flickr.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sauria.com/blog/2009/11/16/apachecon-us-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 Years of Apache</title>
		<link>http://www.sauria.com/blog/2009/10/30/10-years-of-apache/</link>
		<comments>http://www.sauria.com/blog/2009/10/30/10-years-of-apache/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 22:27:59 +0000</pubDate>
		<dc:creator>Ted Leung</dc:creator>
				<category><![CDATA[apache]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://www.sauria.com/blog/2009/10/30/10-years-of-apache/</guid>
		<description><![CDATA[
  

November is just around the corner, which means that once again it&#8217;s time for ApacheCon US. This year is a special year for the Apache Software Foundation &#8211; its 10 year anniversary. Since I got involved with Apache just a few months after the foundation was created, it is also my 10 year [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;">
  <a href="http://www.us.apachecon.com/c/acus2009/"><img src="http://www.us.apachecon.com/page_attachments/0000/0199/10th_Anniversary_logo_final_w_URL.gif" width="155" height="92" alt="10th_Anniversary_logo_final_w_URL.gif" /></a>
</div>
<p>November is just around the corner, which means that once again it&#8217;s time for <a href="http://us.apachecon.com/c/acus2009/">ApacheCon US</a>. This year is a special year for the Apache Software Foundation &#8211; its 10 year anniversary. Since I got involved with Apache just a few months after the foundation was created, it is also my 10 year anniversary of being involved in open source software.</p>
<p>This year I am going to be speaking twice. On Wednesday I&#8217;ll be speaking on the <a href="http://www.us.apachecon.com/c/acus2009/activities/67">Apache Pioneers Panel</a>, and on Thursday I&#8217;ll be giving a talk titled <a href="http://www.us.apachecon.com/c/acus2009/sessions/296">How 10 years of Apache has changed my life</a>. I owe a huge professional debt to the ASF and its members and committers, so in my talk I&#8217;ll be interweaving important events in the life of the foundation with my own personal experiences and lessons learned.</p>
<p>Unfortunately, I&#8217;m not going to be there for all of the conference this year &#8211; I&#8217;ll be arriving Tuesday afternoon and flying out on Thursday evening. If you want to meet up, I&#8217;m in the <a href="http://apacheconus2009.crowdvine.com/">ApacheCon Crowdvine</a>, and I&#8217;ll be around with camera in hand (and on the <a href="http://www.sauria.com/blog/2009/10/29/the-lumaloop/">LumaLoop</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sauria.com/blog/2009/10/30/10-years-of-apache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The LumaLoop</title>
		<link>http://www.sauria.com/blog/2009/10/29/the-lumaloop/</link>
		<comments>http://www.sauria.com/blog/2009/10/29/the-lumaloop/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 05:53:57 +0000</pubDate>
		<dc:creator>Ted Leung</dc:creator>
				<category><![CDATA[photography]]></category>

		<guid isPermaLink="false">http://www.sauria.com/blog/2009/10/29/the-lumaloop/</guid>
		<description><![CDATA[Back in September, my friend James Duncan Davidson stopped to visit me and the family here on Bainbridge Island. Duncan has been working on a new design for a camera strap, and during that visit he showed me one of the prototypes of the LumaLoop. I spent a good portion of our time playing with [...]]]></description>
			<content:encoded><![CDATA[<p>Back in September, my friend <a href="http://blog.duncandavidson.com/">James Duncan Davidson</a> stopped to visit me and the family here on Bainbridge Island. Duncan has been working on a new design for a camera strap, and during that visit he showed me one of the prototypes of the LumaLoop. I spent a good portion of our time playing with the strap, and was quite taken with the design. Needless to say, I didn&#8217;t really want to give it back to him when it was time for him to go.</p>
<p>The following week at DjangoCon, I lost the strap portion of my Upstrap quick release strap. I liked the Upstrap, but it wasn&#8217;t ideal. The Upstrap was great because of the non stick rubber pad that they use &#8211; it really won&#8217;t move. But like most other camera straps, I found that I was constantly getting it fouled in my arms or something, especially between landscape and portrait modes.</p>
<p>Duncan had promised me one of the early prototypes of the LumaLoop, so I put the official black and neon yellow strap on the D3 and waited patiently. Yesterday, my LumaLoop arrived, and I quickly installed it in place of the Nikon strap. The LumaLoop is a &#8220;sling strap&#8221; similar to the Black Rapid R-Straps that have become popular recently. The Black Rapid straps screw into the tripod socket on your camera, which is a problem if you have any kind of heavy duty tripod plate mounted on your camera, or if you shoot vertically a lot (this is even more of a problem if you have small hands and a camera with a battery grip). The LumaLoop attaches to one of the regular strap mounts on your camera, and once attached, you can slide the camera up and down the strap. The mounting loop is attached with a quick release clip, so swapping cameras/straps is easy as well. Duncan has a series of blog posts that detail the reasoning behind the design:</p>
<ul>
<li><a href="http://blog.duncandavidson.com/2009/02/hacking-the-r-strap.html">Hacking the R-Strap</a></li>
<li><a href="http://blog.duncandavidson.com/2009/03/camera-strap-update.html">Camera Strap Update 1</a></li>
<li><a href="http://blog.duncandavidson.com/2009/05/camera-strap-update-2.html">Camera Strap Update 2</a></li>
</ul>
<p>Here&#8217;s a quick snapshot of mine:</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/4057041163/"><img src="http://farm3.static.flickr.com/2712/4057041163_001bc443d3.jpg" height="333" width="500" alt="My Luma Labs LumaLoop camera strap" /></a></p>
<p style="text-align: left;">You can see the loop part that goes on the camera, as well as the quick release between the loop and the rest of the strap. It&#8217;s a bit harder see the padded non-slip shoulder pad.</p>
<p>The LumaLoop is going to be available from <a href="http://www.luma-labs.com">Luma Labs</a> sometime very soon (Duncan gave me perimission to talk about the LumaLoop in advance of its general availability). You can <a href="http://twitter.com/lumalabs">follow Luma Labs on Twitter</a> to keep up with all of the news and the official announcement. I&#8217;m excited to have a strap that both holds my camera securely and stays out of my way when the action gets going.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sauria.com/blog/2009/10/29/the-lumaloop/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Concurrency =&gt; Parallelism</title>
		<link>http://www.sauria.com/blog/2009/10/06/concurrency-parallelism/</link>
		<comments>http://www.sauria.com/blog/2009/10/06/concurrency-parallelism/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 06:44:26 +0000</pubDate>
		<dc:creator>Ted Leung</dc:creator>
				<category><![CDATA[concurrency]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[programming languages]]></category>

		<guid isPermaLink="false">http://www.sauria.com/blog/2009/10/06/concurrency-parallelism/</guid>
		<description><![CDATA[I wanted to clarify a point from my post The Cambrian Period of Concurrency.
I made the statement

From where I sit, this is all about exploiting multicore hardware

because I&#8217;ve seen a pile of actor and other concurrency libraries which have not taken parallel execution of the concurrent program seriously. If I am going to go to [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to clarify a point from my post <a href="http://www.sauria.com/blog/2009/10/05/the-cambrian-period-of-concurrency/">The Cambrian Period of Concurrency</a>.</p>
<p>I made the statement</p>
<blockquote>
<p>From where I sit, this is all about exploiting multicore hardware</p>
</blockquote>
<p>because I&#8217;ve seen a pile of actor and other concurrency libraries which have not taken parallel execution of the concurrent program seriously. If I am going to go to the trouble of writing a concurrent program, then I want that execution to be parallel, especially in a multicore world.</p>
<p>Simon Marlow from the GHC team <a href="http://ghcmutterings.wordpress.com/2009/10/06/parallelism-concurrency/">said</a> that if programming multicore machines is the only goal we ought to be looking at parallelism first and concurrency only as a last resort. Haskell has some nice features for taking advantage of parallelism. However, I explicitly stated that I was not as interested in highly regular or data parallel computations, which is what Haskell&#8217;s parallelism tools are aimed at. These are fine ways to get parallelism, but I am interested in problems which are genuinely concurrent, not just parallel. In a Van Roy hierarchy, these are the problems with observable nondeterminism. I also specifically called out reduction of latency as one of my goals, something which Marlow says is a possible benefit of concurrency. The GHC team is interested in a different mix of problems than I am.</p>
<p><strong>Van Roy in short</strong></p>
<p>I also forgot to mention Peter Van Roy&#8217;s paper <a href="http://lambda-the-ultimate.org/node/3465">Programming Paradigms for Dummies: What Every Programmer Should Know</a>, which includes an overview of his stratification of concurrency and parallelism (and other stuff). If you don&#8217;t have time to read his book, the paper is shorter and more digestible.</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sauria.com/blog/2009/10/06/concurrency-parallelism/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The Cambrian Period of Concurrency</title>
		<link>http://www.sauria.com/blog/2009/10/05/the-cambrian-period-of-concurrency/</link>
		<comments>http://www.sauria.com/blog/2009/10/05/the-cambrian-period-of-concurrency/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 16:33:38 +0000</pubDate>
		<dc:creator>Ted Leung</dc:creator>
				<category><![CDATA[concurrency]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[programming languages]]></category>

		<guid isPermaLink="false">http://www.sauria.com/blog/2009/10/05/the-cambrian-period-of-concurrency/</guid>
		<description><![CDATA[Back in July, I gave an OSCON talk that was a survey of language constructs for concurrency. That talk has been making the rounds lately. Jacob Kaplan-Moss made referred to it in a major section of his excellent keynote Snakes on the Web, and Tim Bray has cited it as a reference in his Concur.next [...]]]></description>
			<content:encoded><![CDATA[<p>Back in July, I gave an OSCON <a href="http://www.slideshare.net/twleung/a-survey-of-concurrency-constructs">talk</a> that was a survey of language constructs for concurrency. That talk has been making the rounds lately. Jacob Kaplan-Moss made referred to it in a major section of his excellent keynote <a href="http://jacobian.org/writing/snakes-on-the-web/">Snakes on the Web</a>, and Tim Bray has <a href="http://kenai.com/projects/divide-and-conquer/pages/Home">cited</a> it as a reference in his <a href="http://www.tbray.org/ongoing/When/200x/2009/09/27/Concur-dot-next">Concur.next</a> series. It seems like a good time for me to explain some of the talk content in writing and add my perspective on the current conversations.</p>
<p><b>The Cambrian</b></p>
<p>The Cambrian period was marked by a rapid diversification of lifeforms. I think that we are in a similar situation with concurrency today. Although many of the ideas that are being tossed around for concurrency have been around for some time, I don&#8217;t think that we really have a broad body of experience with any of them. So I&#8217;m less optimistic than Tim and Bruce Tate, at least on time frame. I think that we have a lot of interesting languages, embodying a number of interesting ideas for working with concurrency. I think that some of those languages have gained enough interest/adoption that we are now in a position to get a credible amount of experience so that we can start evaluating these ideas on their merits. But I think that the window for doing that is pretty large, on the order of 5 to 10 years. &nbsp;&nbsp;</p>
<p><b>What kinds of problems</b></p>
<p>The kinds of problems I am interested in are general purpose programming problems. I&#8217;m specifically not interested in scientific, numeric, highly regular kinds of computations or data parallel computations. Unlike Tim, I do think that web systems are a valid problem domain. I see this being driven by the need to drive down latency to provide good user response time, not to provide additional scalability (although it probably will).</p>
<p><b>It&#8217;s not like Java</b></p>
<p><a href="http://erikengbrecht.blogspot.com/">Erik Engbrecht</a>, one of Tim&#8217;s commenters said:</p>
<blockquote>
<p>To get Java, you basically take Smalltalk and remove all of the powerful concepts from it while leaving in the benign ones that everyday developers use.</p>
<p>I think there&#8217;s something to be learned from that.</p>
</blockquote>
<p>This presupposes that you know what all the good concepts are and what the benign ones are. It doesn&#8217;t seem like we are at that point. When Java was created, both Lisp and Smalltalk had existed for quite sometime and it was possible to do this kind of surgery. I don&#8217;t have a clear sense of what actually works well, much less what is powerful or benign.</p>
<p><b>The hardware made me do it</b></p>
<p>From where I sit, this is all about exploiting multicore hardware, and when I say this I mean machines with more than 4 or 8 hardware threads (I say threads, not cores &#8211; actual parallelism is what is important). The <a href="http://www.sun.com/servers/coolthreads/t5440/index.xml">Sun T5440</a> is a 256 thread box. Intel&#8217;s <a href="http://www.intel.com/pressroom/archive/releases/20090526comp.htm">Nehalem EX</a> will let you build a 128 thread box later this year. Those are multicore boxes. If you look at experiments, you see that systems that seem to work well at 2 or 4 threads don&#8217;t&#8217; work well at 16 or 64 threads. Since there&#8217;s not a huge amount of that kind of hardware around yet, it&#8217;s hard for people to run experiments at larger sizes. Experiments being run on 2 thread MacBook Pro&#8217;s are probably not good indicators of what happens at even 8 threads.. This is partially because dealing with more hardware threads requires more administrative overhead, and as the functional programming people found out, that overhead is very non-trivial. The point is, you have to run on actual hardware to have believable numbers. &nbsp;&nbsp;This makes it hard for me to take certain kinds of systems seriously, like concurrency solutions running on language implementations with Global Interpreter Locks. See David Beazley&#8217;s <a href="http://www.dabeaz.com/python/GIL.pdf">presentation</a> on Python&#8217;s Global Interpreter Lock, for an example.</p>
<p><b>Comments on specific languages</b></p>
<p>At this point I am more interested in paradigms and constructs as opposed to particular languages. However, the only way to get real data on those is for them to be realized in language designs and implementations.</p>
<ul>
<li>Haskell &#8211; Functional Laziness aside, the big concurrency thing in Haskell is Software Transactional Memory (STM). There are other features in Haskell, but STM is the big one. STM is an active research field in computer science, and I&#8217;ve read a decent number of papers trying to make heads from tails. Among the stack that I have read, it seems to be running about even between the papers touting the benefits of STM and the the papers saying that STM cannot scale and will not work in practice. The jury is very much out on this one, at least in my mind.</li>
<li>Erlang &#8211; I like Erlang. It&#8217;s been in production use for a long time, and real systems have been built using it. In addition to writing some small programs and reviewing some <a href="http://www.sauria.com/blog/2008/05/28/notes-on-a-history-of-erlang/">papers</a> by Erlang&#8217;s designers, I spent a few days at the <a href="http://www.sauria.com/blog/2009/05/04/erlang-factory-2009/">Erlang Factory</a> earlier this year trying to get a better sense of what was really happening in the Erlang community. While there&#8217;s lots of cool stuff happening in Erlang, I observed two things. First, the biggest Erlang systems I heard described (outside of Facebook&#8217;s) are pretty small compared to a big system today. Second, and more importantly, SMP support in Erlang is still relatively new. Ulf Wiger&#8217;s <a href="http://ulf.wiger.net/weblog/wp-content/uploads/2009/01/damp09-erlang-multicore.pdf">DAMP09 presentation</a> has a lot of useful information in it. On the other hand, BEAM, the Erlang VM is architected specifically for the Erlang process/actor model. This feels important to me, but we need some experimental evidence.</li>
<li>Clojure &#8211; Clojure as a ton of interesting ideas in it. Rich Hickey has really done his homework, and I have a lot of respect for the work that he is doing. Still it&#8217;s the early days for Clojure, and I want to see more data. I know Rich has run some stuff on one of those multiple hundred core Azul boxes, but as far as I know, there&#8217;s not a lot of other data.</li>
<li>Scala &#8211; The big thing in Scala for concurrency is Actors, but if you compare to Erlang, Actors are the equivalent of Erlang processes. A lot of the leverage that you get in Erlang comes from OTP, and to get that in Scala, you need to look at Jonas Boner&#8217;s highly interesting <a href="http://akkasource.org/">Akka</a> Actor Kernel project. Akka also includes an implementation of dataflow variables, so Akka would give you a system with Actors, supervision, STM, and Dataflow (when it&#8217;s done). &nbsp;&nbsp;</li>
<li>libdispatch/Grand Central Dispatch &#8211; Several of Tim&#8217;s commenters brought up Apple&#8217;s Grand Central Dispatch, now open sourced as libdispatch. This is a key technology for taking advantage of multicore in Snow Leopard. GCD relies on programmers to create dispatch queues which are then managed by the operating system. Programmers can send computations to these queues via blocks (closures), which are a new extension to Objective-C. When I look at Apple&#8217;s <a href="http://developer.apple.com/mac/library/documentation/General/Conceptual/ConcurrencyProgrammingGuide/ThreadMigration/ThreadMigration.html#//apple_ref/doc/uid/TP40008091-CH105-SW1">guide to migrating to GCD from threads</a>, I do see a model that I prefer to threads, but it is not as high level as some of the others. Also, the design seems oriented towards very loosely coupled computations. &nbsp;&nbsp;It will be several years before we can really know how well GCD is working. I am typing this post on a 16 thread Nehalem Mac Pro, and I rarely see even half of the CPU meters really light up, even when I am running multiple compute intensive tasks. Clearly more software needs to take advantage of this technology before we have verdict on its effectiveness in production.</li>
<li>.Net stuff like F#/Axum, etc &#8211; There is some concurrency work happening over on the CLR, most notably in F# and Axum. I <a href="http://www.sauria.com/blog/2009/04/16/langnet-2009/">spent some time at Lang.NET</a> earlier this year, and got a chance to learn a bit about these two technologies. If you look at paradigms, the concurrency stuff looks very much like Erlang or Scala, with the notable exception of join patterns, which are on Martin Odersky&#8217;s list for Scala. I will admit to not being very up to speed on these, mostly for lack of Windows and the appropriate tools.</li>
</ul>
<p><b>Other thoughts</b></p>
<p>Jacob&#8217;s take away from my talk at OSCON was &#8220;we&#8217;re screwed&#8221;. That&#8217;s not what I wanted to convey. I don&#8217;t see a clear winner at the moment, and we have a lot of careful experimentation and measuring to do. We are quite firmly in the Cambrian, and I&#8217;m not in a hurry to get out &#8211; these things need to bake a bit longer, as well as having some more experimentation.</p>
<p>In addition to my <a href="http://www.slideshare.net/twleung/a-survey-of-concurrency-constructs">talk</a>, and Tim&#8217;s <a href="http://kenai.com/projects/divide-and-conquer/pages/Home">wiki page</a>, if you are really interested in this space, I think that you should read <a href="http://www.info.ucl.ac.be/~pvr/book.html">Concepts, Techniques, and Models of Computer Programming</a> by Peter van Roy and Seif Haridi. No book can be up to date with the absolute latest developments, but this book has the best treatment that I&#8217;ve seen in terms of trying to stratify the expressiveness of sequential and concurrent programming models.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sauria.com/blog/2009/10/05/the-cambrian-period-of-concurrency/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>DjangoCon 2009</title>
		<link>http://www.sauria.com/blog/2009/09/12/djangocon-2009/</link>
		<comments>http://www.sauria.com/blog/2009/09/12/djangocon-2009/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 22:38:41 +0000</pubDate>
		<dc:creator>Ted Leung</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[dynamic languages]]></category>

		<guid isPermaLink="false">http://www.sauria.com/blog/2009/09/12/djangocon-2009/</guid>
		<description><![CDATA[Last week I attended DjangoCon 2009 in Portland. Due to scheduling conflicts, I wasn&#8217;t able to attend DjangoCon last year, and I was disappointed that I missed that inaugural event. I&#8217;ve seen some Django stuff at PyCon, and I&#8217;ve written some Django code, being at a conference like DjangoCon helps me to understand the community [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I attended DjangoCon 2009 in Portland. Due to scheduling conflicts, I wasn&#8217;t able to attend DjangoCon last year, and I was disappointed that I missed that inaugural event. I&#8217;ve seen some Django stuff at PyCon, and I&#8217;ve written some Django code, being at a conference like DjangoCon helps me to understand the community and technology in a way that just reading the documentation doesn&#8217;t.</p>
<p><b>Talk Highlights</b></p>
<p>Here are some of the talks that I found notable:</p>
<p>Shawn Rider and Nowell Strite of PBS gave a talk titled: <a href="http://bit.ly/django-pluggables-presentation">Pluggable, Reusable Django Apps: A Use Case and Proposed Solution</a>. I think that very few people in the Django community had any idea that Django was being used extensively in PBS. That definitely falls into the category of pleasant surprises. &nbsp;&nbsp; One of the strengths of Django is the focus on building small single purpose applications which can be used to build up larger applications. Doing this is harder than it sounds, and Shawn and Nowell described some of the problems that they ran into, as well as showing some ways of dealing with those issues. There was some crosstalk between the PBS guys and the Pinax developers, who are also doing a lot with reusable apps. I hope that these folks will work to share and combine their knowledge and then disseminate that to the broader Django community.</p>
<p>There were a number of talks which followed the theme of &#8220;how not to use parts of Django&#8221;. It&#8217;s interesting because people like Django, and even if they don&#8217;t like some parts, they want to use the rest, and are willing to work to make that possible. You would expect people to just walk away from the framework in cases like these.</p>
<p>Eric Ocean, one of the developers of SproutCore gave what I considered to be a pretty interesting talk. Unfortunately, his talk didn&#8217;t have much of a connection to Django, other than to suggest some things that Django could do to support SproutCore better. I know from watching the IRC and Twitter back talk, that people were put off by the style of presentation (a little too like a commercial), and the weak connection to Django. SproutCore is interesting to me because it&#8217;s at a different level than most of the Javascript frameworks. It&#8217;s at a higher level, which I think will be necessary as browser based applications become more sophisticated. I know that I am going to be taking a closer look at SproutCore, and I hope that a useful Django/Sproutcore collaboration will emerge from the sprints.</p>
<p>Simon Willison gave a keynote about Cowboy programming. The big piece for me was his description of how the Guardian built an application to help the public scrutinize the expenses of British MP&#8217;s. There&#8217;s something about these situations that appeals to me, against my knowledge and better judgment of &#8220;sound software engineering practices&#8221;. I guess it&#8217;s a guilty pleasure of sorts.</p>
<p>Ian Bicking gave a keynote which might be described as &#8220;a free software programmer&#8217;s midlife crisis&#8221;. Ian was very philosophical and reminded us that free software (as opposed to open source software) was rooted in a set of moral (not economic or process) imperatives. It was a very thoughtful speech, and I think that its worth several reads of his <a href="http://bit.ly/new-foss-def">text</a> (something which is hard to do on a train ride with an iPhone) and some additional ponderings.</p>
<p>Avi Bryant&#8217;s keynote took its root in his experiences building <a href="http://trendly.com/">Trendly</a>. As one might expect, Avi started building Trendly using Seaside. But by the time he finished, he noticed that very little of Seaside was actually being used. He attributed this to the fact that Trendly&#8217;s architecture involves loading a single HTML, with a ton of Javascript. That Javascript then manages all of the interaction with the server, which consists of snippets of JSON data. This range true to me because we used a similar architecture for Chandler Hub, the web based version of Chandler (our interaction with the server was based on atom and atompub, not JSON), and it&#8217;s the kind of architecture that GMail is based on. Avi also treated us to a demonstration of <a href="http://clamato.net/">Clamato</a>, his Smalltalk dialect that compiles to Javascript. Again, another attempt to deal with the challenges of engineering large Javascript applications in a web browser.</p>
<p>There were plenty of other good talks, and many of the <a href="http://djangocon.pbworks.com/Slides">slides</a> are already available.</p>
<p><strong>My keynote</strong><b><br /></b></p>
<p>I&#8217;m afraid that I am not equal to the task of writing out my presentation text in full as Ian and Jacob have done, so you will have to settle for the highlights and wait until the video appears.</p>
<p>My keynote was organized around two major sections.</p>
<p>The first section was a look at what I see in the Django community at present. This includes a look at some pseudo statistics around job postings and a poll of web frameworks being used by startups in an effort to get some view into whether and how much adoption of Django is happening. The short answer is that things look promising, but there is still plenty of room to grow. On the technology side, I pointed out the emphasis on combining applications and the work of the Pinax and PBS folks. The other major technology thing that I called out was GeoDjango, which is undoubtedly the most sophisticated GIS functionality in any web framework in any language or platform. This is going to be very attractive to people building location aware mobile apps, and I showed two examples of augmented reality applications as illustrations. This section ends with some observations about the Django community, using the PyCon sprints as an example. Ok, there are also some lighthearted slides about Django&#8217;s mascot, the <a href="http://djangopony.com/">djangopony</a>.</p>
<p>The remainder of the talk was about the ways that web applications are changing and how Django might adapt to them. There are (at least) three groups of people that will be impacted by these changes. From the view point of users, the two big things are richer, more interactive applications, and access from location enable devices. Developers are going to need help in dealing with these new requirements, and the people who operate web applications need much more support than they currently have. &nbsp;&nbsp;</p>
<p>I see several technologies that will be important in facilitating these changes. The first of these is some Rich Internet Application technology. The second is API&#8217;s to web applications. A digression on this point. When the iPhone was introduced, the only way to develop applications was using web technologies. This made a lot of people very angry, and Apple followed up with the ability to build native platform applications. It should be possible to build rich web interfaces on the iPhone. My observation is that given the choice beween a rich web interface and a native iPhone application, users pick the native application. Look no further than the furor over the native Google Voice application. The native applications are talking to the servers using API&#8217;s. Those API&#8217;s are not just cool Web 2.0 frosting. The last technology is cloud computing, which started out as a deployment/operations technology and is now moving up to impact application development at many levels.</p>
<p>In light of this, what are framework developers to do? I did a quick survey of several web frameworks which have interesting ideas or approaches in them, so that the Django folks could see what their &#8220;competitors&#8221; are up to. The frameworks that I included are Rails, <a href="http://liftweb.net/">Lift</a> (Scala), <a href="http://bitbucket.org/justin/webmachine/wiki/Home">Webmachine</a> (Erlang), <a href="http://nitrogenproject.com/">Nitrogen</a> (Erlang), <a href="http://github.com/couchapp/couchapp/tree/master">CouchApps</a> (CouchDB + JavaScript &#8211; this isn&#8217;t quite a framework in the traditional sense, but it met the spirit of my criteria), and Javascript. In the case of Javascript, the observation is that the rapid increase in Javascript performance coupled with a good Javascript framework leads to something which is economically attractive (same technology in the server and client).</p>
<p>The talk finishes with a set of proposals for &#8220;science projects&#8221; that might be attempted in the context of Django. Some of what I outlined is emerging, and in some cases speculative. Django doesn&#8217;t need to blow itself up and start over. Instead, what&#8217;s needed is for people with Django sensibilities to look some of these problems and see if a Django flavored solution can be found. Here&#8217;s the list of projects:</p>
<ol>
<li>Asynchronous Messaging &#8211; if there&#8217;s any use of messaging, it&#8217;s typically to do jobs in the background. What would happen if we made the use of messaging pervasive throughout the framework?</li>
<li>Comet &#8211; I think that the Django+orbited approach to Comet is limited in comparison to what you see in Lift or Nitrogen. Can Django do Comet support at the same level (or better) than these frameworks? What would happen if the Comet stuff were hooked up directly to the messaging stuff I just described? Imagine the equivalent of urls.py that routed Comet requests to messaging.</li>
<li>REST &#8211; There are several good packages for dealing with REST in Django. It would be nice to have this all packaged up neatly and made available for people.</li>
<li>Deployment &#8211; This is really a mess. Are there changes that could be made to Django to make it easier to deploy, or to work better with tools like Puppet, Chef, Fabric, etc?</li>
<li>Monitoring &#8211; Typically frameworks provide very little monitoring information. It seems like there is a lot that could be done here.</li>
<li>Analytics &#8211; Once you have raw monitoring information, the next step is to do some analytics on it. Django is famous for creating admin UI&#8217;s with a very small amount of effort. What if we applied that same thinking to analytics?</li>
<li>Cloud &#8211; If you add up the first 6 items, you are well on your way to what might be a cloud friendly framework. There is still some work to do in terms of making applications on the framework adapt to elastic deployment scenarios, but it would be a good step.</li>
<li>Stacks &#8211; A very basic step towards cloud stuff would be to build a preconfigured stack of software to run/develop a Django app. This is a controversial idea, because everyone has their own idea of what software should be in such a stack, and how all the configuration switches should be set. I still that having one (or more) such stack would help more than it would hurt. In my ideal world this stack would be delivered as a virtual machine image that could also be uploaded to cloud providers.</li>
</ol>
<div style="width:425px;text-align:left" id="__ss_1979201">
  Here are the slides:
</div>
<div style="width:425px;text-align:left" id="__ss_1979201">
  
</div>
<div style="width:425px;text-align:left" id="__ss_1979201">
  <object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=djangocon2009-090910125034-phpapp02&amp;stripped_title=djangocon-2009-keynote" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=djangocon2009-090910125034-phpapp02&amp;stripped_title=djangocon-2009-keynote" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355" /><br />
  </object></p>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">
    <font face="Helvetica" size="3"><span style="font-size: 12px;"><font face="tahoma, arial" size="3"><br /></font></span></font>
  </div>
</div>
<p>All of the talks were videotaped so those of you who were unable to attend will be able to catch up soon.<br />
I had a great time hanging out with the Djangonauts. My thanks to Leah Culver and Robert Lofthouse for inviting me to speak.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sauria.com/blog/2009/09/12/djangocon-2009/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Re: Snakes on the Web</title>
		<link>http://www.sauria.com/blog/2009/09/05/re-snakes-on-the-web/</link>
		<comments>http://www.sauria.com/blog/2009/09/05/re-snakes-on-the-web/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 05:17:38 +0000</pubDate>
		<dc:creator>Ted Leung</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[concurrency]]></category>
		<category><![CDATA[dynamic languages]]></category>

		<guid isPermaLink="false">http://www.sauria.com/blog/2009/09/05/re-snakes-on-the-web/</guid>
		<description><![CDATA[Jacob Kaplan-Moss, one of the BDFL&#8217;s for Django has published the text and slides for his upcoming talk(s) &#8220;Snakes on the Web&#8221; at PyCon Argentina and PyCon Brazil. Jacob says that he&#8217;s trying to answer three questions:

What sucks, now, about web development?
How will we fix it?
Can we fix it with Python?

There&#8217;s some good stuff in [...]]]></description>
			<content:encoded><![CDATA[<p>Jacob Kaplan-Moss, one of the BDFL&#8217;s for Django has published the <a href="http://jacobian.org/writing/snakes-on-the-web/">text</a> and <a href="http://jacobian.org/speaking/pyar-2009/snakes-on-the-web/">slides</a> for his upcoming talk(s) &#8220;Snakes on the Web&#8221; at PyCon Argentina and PyCon Brazil. Jacob says that he&#8217;s trying to answer three questions:</p>
<ol>
<li>What sucks, now, about web development?</li>
<li>How will we fix it?</li>
<li>Can we fix it with Python?</li>
</ol>
<p>There&#8217;s some good stuff in here, and it&#8217;s definitely a worthwhile read.</p>
<p>Jacob is in South America, which means he won&#8217;t be at <a href="http://www.djangocon.org/">DjangoCon</a> next week. I was disappointed about that before I saw his talk, and I&#8217;m even more disappointed now. I&#8217;ll be giving the last keynote at DjangoCon, and I&#8217;ll be discussing some thoughts and ideas for where Django (and other web frameworks) might go next. It would have been a great opportunity to carry on the conversation in person. I guess we&#8217;ll be doing by blog instead.</p>
<p>One of the topics that Jacob covered in his talk was concurrency, and he pointed to <a href="http://www.slideshare.net/twleung/a-survey-of-concurrency-constructs">my OSCON talk on concurrency</a> constructs as something that has influenced his thinking. I do think that he got the wrong idea from my conclusion. At the moment I don&#8217;t see a clear solution for concurrency, but I don&#8217;t believe that the situation is hopeless, either. I think that we are looking at a period where we have a lot of experimentation, and I think that&#8217;s a good thing. It is way premature to say that we have a solution, and I&#8217;d rather people keep experimenting.</p>
<p>I have some more thoughts on some of Jacob&#8217;s points, but those are in the keynote, so I&#8217;ll save those until after I&#8217;ve actually given the presentation at DjangoCon on Thursday. I suspect that the other keynote speakers, Avi Bryant, and Ian Bicking to have some thoughts in this general direction as well. &nbsp;&nbsp;&nbsp;I think it would be great to have an open space on these topics sometime on Thursday.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sauria.com/blog/2009/09/05/re-snakes-on-the-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Design and Commons Based Peer Production</title>
		<link>http://www.sauria.com/blog/2009/08/27/design-and-commons-based-peer-production/</link>
		<comments>http://www.sauria.com/blog/2009/08/27/design-and-commons-based-peer-production/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 06:58:55 +0000</pubDate>
		<dc:creator>Ted Leung</dc:creator>
				<category><![CDATA[community]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[osaf]]></category>
		<category><![CDATA[chandler]]></category>

		<guid isPermaLink="false">http://www.sauria.com/blog/2009/08/27/design-and-commons-based-peer-production/</guid>
		<description><![CDATA[On Tuesday, Chris Messina wrote a post about open source and design, where he laments that open source (whatever that means nowadays) and design seem to be opposed to each other. The crux of the problem seems to be that good design requires a unity about it and that since in open source all voices [...]]]></description>
			<content:encoded><![CDATA[<p>On Tuesday, Chris Messina wrote a <a href="http://factoryjoe.com/blog/2009/08/26/losing-my-religion/">post</a> about open source and design, where he laments that open source (whatever that means nowadays) and design seem to be opposed to each other. The crux of the problem seems to be that good design requires a unity about it and that since in open source all voices are heard, you inevitably end up with something that has been glommed together rather than designed. This is something that Mimi Yin and I discussed in our <a href="http://www.slideshare.net/twleung/oscon-2007-open-design-not-by-committee">2007 OSCON talk</a> about the challenges of the Chandler design process. Chris is gloomy on the prospects of open source design processes, because he doesn&#8217;t feel that there are any examples that have succeeded. I think that this is a legitimate place to be. I don&#8217;t really see any successful open source desktop application which was designed in the kind of open design process that Chris or we at OSAF had in mind.</p>
<p><b>Is organization the problem?</b></p>
<p>On the other hand, I think that I&#8217;m slightly more optimistic about the situation than Chris is. Chris holds up the idea that there ought to be a design dictator, who drives the design and preserves the unity of the design. I&#8217;d point out that there are some open source communities where there are such people. Perhaps the best example that I can come up with are the programming languages. A good language is very hard to design. It needs to have the kind of unity that one expects to find in a good design. In some of the language communities, these designers have titles such as &#8220;Benevolent Dictator for Life&#8221;, and the community as a whole has recognized their giftedness and given them the ability to make final binding decisions about design issues. This isn&#8217;t end user facing desktop or web software, but it&#8217;s also not bunches of libraries, or implementations of JSR&#8217;s, IETF RFC&#8217;s, W3C recommendations or POSIX standards. These situations are very delicate mixes and their success is highly dependent on the particular individuals who are involved, so they tend to be rare. Nonetheless, I do think that its possible for communities to work even if there is a chief designer.</p>
<p>I also don&#8217;t think that there needs to be a single chief designer. Chris cited Luke Wroblewski&#8217;s <a href="http://www.lukew.com/ff/entry.asp?879">description</a> of the design process at Facebook. Very early in that post you read:</p>
<blockquote>
<p>The Facebook design team works on product design, marketing, UI patterns, branding, and front-end code. The team consists of 15 product designers, 5 user interface engineers, 5 user experience researchers, 4 communication designers, and 1 content strategist. 25 designers in a company of 1,000.</p>
</blockquote>
<p>Design can be done by teams. I think that we all know that, but in many of the discussions that I&#8217;ve had on this topic, the focus seems to be on the need for a dictator. The dictator model works, but so does a team model.</p>
<p>I think that the organizational challenges of design (dictator vs team) can be dealt with. If you bootstrap a community with a DNA that is committed to good design, and to the value of a good designer, and if the designer has won the respect of the community, then I can see a path forward on that front. &nbsp;&nbsp;</p>
<p><b>The problems that I see</b></p>
<p>In my mind the problems are:</p>
<p>How do you find a designer or designers who want to work in this kind of environment? We know that not all developers are well suited to distributed development. I&#8217;d venture that the same is true for designers. It&#8217;s much easier for coders to self select into a project than it is for all other types of contributors, including designers.</p>
<p>How can a non-coding designer win the respect of a (likely) predominantly coding oriented community? If you believe that open source projects should be organized around some notion of merit, then what are the merit metrics for designers? Who evaluates the designers on these metrics? Are the evaluators even qualified to do so? In my examples of communities with designers, those designers are all coders as well.</p>
<p>Can we actually do design using the commonly accepted tools of e-mail, version control, wiki&#8217;s and bug trackers? The design process relies very heavily on visual communications. The code (including design and architecture of code) process is predominantly a text based process. It is very difficult to do design efficiently in a distributed setting using the existing stable of tools. This is going to be a challenge not just for designers but for many other problem domains that could benefit from commons-based peer production.</p>
<p><strong>What&#8217;s with you and that long word?</strong></p>
<p>I prefer to use Yochai Benker&#8217;s term &#8220;<a href="http://en.wikipedia.org/wiki/Commons-based_peer_production">Commons Based Peer Production</a>&#8221; instead of the term open source. The problem with the term open source is that everyone means something different when they use it. Some people just mean licensing. Some people think of a particular community&#8217;s set of practices. Others think that it means some kind of fuzzy democracy and mob rule. &nbsp;&nbsp;<br />
One of the reasons that I went to work at OSAF was to see if it was possible to design a good end-user application via some kind of community oriented design process. As far as I am concerned the jury is still out.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sauria.com/blog/2009/08/27/design-and-commons-based-peer-production/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>OSCON 2009</title>
		<link>http://www.sauria.com/blog/2009/07/27/oscon-2009/</link>
		<comments>http://www.sauria.com/blog/2009/07/27/oscon-2009/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 01:46:39 +0000</pubDate>
		<dc:creator>Ted Leung</dc:creator>
				<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://www.sauria.com/blog/2009/07/27/oscon-2009/</guid>
		<description><![CDATA[It&#8217;s time again for the annual OSCON report.

The conference
Every other OSCON that I&#8217;ve been to (since 2003) has been in Portland, and in some ways the two have become synonymous for me. I&#8217;m not taking the move to San Jose very well. There are a variety of little things, like the fact that you could [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s time again for the annual OSCON report.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/3764114032/"><img src="http://farm4.static.flickr.com/3575/3764114032_39de4230a3.jpg" height="500" width="333" alt="OSCON 2009" /></a></p>
<p><b>The conference</b></p>
<p>Every other OSCON that I&#8217;ve been to (since 2003) has been in Portland, and in some ways the two have become synonymous for me. I&#8217;m not taking the move to San Jose very well. There are a variety of little things, like the fact that you could end up walking 1/4 of a mile to get from one talk to another only to end up reversing the trip for the next session. At the end of Thursday, I bagged going to a talk because I was tired of walking back and forth. I had a bad experience (much worse than usual) with the WiFi connection in the hotel where I was staying, something that I don&#8217;t tolerate very well. The fact that the hotel acknowledged the problem and then offered drink vouchers as an apology didn&#8217;t help any. I had to ask the checkout agent to remove the charges for the days that I got under 20kb/s. If you take the view (which I do) that OSCON really starts at 6pm and ends at 3am, then downtown San Jose doesn&#8217;t really hold a candle to downtown Portland. My understanding is that OSCON only has a one year contract for San Jose, so maybe we&#8217;ll get something else next year. I hope so.</p>
<p>Another thing about OSCON relates to the attendees themselves. I was unsurprised to hear that attendance was down. The combination of the economy and the move away from Portland could explain some of that. The lunch hall seemed pretty full (and the food was very good for a conference lunch &#8211; maybe the best I&#8217;ve ever had), and it seemed a decent size to me. What I noticed was something else. Normally when I show up at OSCON, even on the first day of tutorials, it is pretty hard to go very far before I run into someone that I know. This year that was not the case, and I don&#8217;t feel that it improved that much once the conference proper began. In combination with the move to San Jose, this had a pretty major impact on the value that I got out of the conference.</p>
<p><b>The talks</b></p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/3764116738/"><img src="http://farm4.static.flickr.com/3599/3764116738_d68856b5c8.jpg" height="500" width="333" alt="OSCON 2009" /></a></p>
<p>This year I wound up all over the map session wise. I took in some sessions on tools: The <a href="http://en.oreilly.com/oscon2009/public/schedule/detail/8333">SD</a> distributed bug tracker, and Theo Schlossnagle&#8217;s talk on his new monitoring system, <a href="http://en.oreilly.com/oscon2009/public/schedule/detail/7931">Reconnoiter</a>. I also attended Tom Preston-Warner&#8217;s <a href="http://en.oreilly.com/oscon2009/public/schedule/detail/8216">talk</a> on github. His talk ended up being much more about git in general. I was hoping that he would have more to say on the social/community behaviors that they&#8217;ve observed on projects on GitHub. There&#8217;s not a lot of data on how the use of DVCS&#8217;s is impacting the social/community dynamics of open source projects, and the folks at github are in a unique position to observe some of this. Maybe next year.</p>
<p>I also continued to gather more information on things related to cloud computing. In this case there was some storage stuff in the form of <a href="http://en.oreilly.com/oscon2009/public/schedule/detail/8364">Neo4J</a> and <a href="http://en.oreilly.com/oscon2009/public/schedule/detail/8144">Cassandra</a>. Adam Jacob&#8217;s s talk on <a href="http://en.oreilly.com/oscon2009/public/schedule/detail/9257">Chef</a> was well attended despite being in the last session block of the conference, and people stayed well past the ending time for the Q&amp;A. Reconnoiter also falls into the cloud tools space. I attended Kirrily Robert, Yoz Grahame, and Jason Douglas&#8217; talk titled &#8220;<a href="http://en.oreilly.com/oscon2009/public/schedule/detail/8376">Forking Encouraged: Folk Programming, Open Source, and Social Software Development</a>&#8220;, hoping to glean some insight or data into &#8220;fork oriented&#8221; open source. That wasn&#8217;t really what I got. The talk was fairly philosophical for a while. The most interesting (and surprising) part of the presentation was a brief demonstration of Metaweb&#8217;s new <a href="http://www.freebase.com/apps/">Freebaseapps.com</a>, which is a development environment for Freebase which embodies some of the principles discussed in the philosophical portion of the talk. From my cloud computing oriented point of view, it looks to me like an &#8220;IDE for the cloud&#8221;. I need to dig into this a bit more.</p>
<p>One topic which was brand new to me this year was <a href="http://www.r-project.org/">R</a>, which is a functional language for statistical computing and graphics. I&#8217;d been hearing a little bit of buzz on R via Twitter, and I was just invited to join the advisory board for <a href="http://www.revolution-computing.com/">REvolution Computing</a>, a startup that is working to foster the R community and to support those users that want a more commercialized offering of R. Since I didn&#8217;t know much about R, I found Micheal Driscoll&#8217;s talk &#8220;<a href="http://en.oreilly.com/oscon2009/public/schedule/detail/8404">Open Source Analytics: Visualization and Predictive Modeling of Big Data with the R Programming Language</a>&#8220;. Analytics of all kinds are going to be much more important as the amount of data in web applications grows. If you are interested in big data, and don&#8217;t know about R, that seems like a problem. I know that I am going rectify my own personal lack of knowledge.</p>
<p><strong>My talk</strong></p>
<p>As in previous years, I gave a talk at the conference. One of the presentations that I&#8217;ve done in several places has a large section about the problem of programming concurrent systems, motivated by the arrival of multicore processors. For OSCON, I took that section of the talk and expanded it into a session of its own. Despite two one hour out loud run throughs, I still got the pacing a little bit wrong and had to rush at the end to get all the content in. If I&#8217;m not careful this is going to wind up turning into a three hour tutorial. I&#8217;ve embedded the slideshare version for those of you that are interested.</p>
<div style="width:425px;text-align:left" id="__ss_1761307">
  <a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/twleung/a-survey-of-concurrency-constructs" title="A Survey of Concurrency Constructs">A Survey of Concurrency Constructs</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=oscon2009-090723170417-phpapp02&amp;stripped_title=a-survey-of-concurrency-constructs" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=oscon2009-090723170417-phpapp02&amp;stripped_title=a-survey-of-concurrency-constructs" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355" /><br />
  </object>
</div>
<p><b>Photography</b></p>
<p>OSCON is a significant event for me photographically, since OSCON 2005 happened days after I got my first digital SLR. It&#8217;s also one of the times that I usually see my friend James Duncan Davidson, who has been one of the people that has helped me along my photographic journey. &nbsp;&nbsp;</p>
<p>This year things were a little different. Regular readers will know that I am getting a little burned out on conference photographs. I&#8217;ve been to a lot of conferences and shot a lot of pictures. After a while, they start to look and feel the same. It&#8217;s hard for me to both concentrate fully on the conference, the talks, the hallway track, etc, as well as concentrating on doing stuff that would be interesting photographically. All of which is a long way of saying, &#8220;I shot less. A lot less&#8221;.</p>
<p>One other reason that I don&#8217;t feel bad about shooting less at OSCON is that Duncan is there. Or normally he is. This year, he was absent because <a href="http://blog.duncandavidson.com/2009/07/photographing-tedglobal-2009.html">he got the nod</a> to be the main stage photographer for TED Global 2009. Those of you who follow Duncan will know that when he needs a second camera he turns to <a href="http://www.pinarozger.com/Welcome.html">Pinar Ozger</a>. They&#8217;ve been working together for a while, but I&#8217;ve never met Pinar in person, because I don&#8217;t usually end up at the two camera events, and the one time that she, Duncan, and I were all in the same place, we just never ended up meeting. So this was the year that I got to meet Pinar &#8211; we bumped into each other at the OSCON speaker&#8217;s party and had a great chat. This was also my first time to really get a sense for her eye. When you second shoot for someone, you try to follow the lead of the main photographer. So I am the most familiar with Pinar&#8217;s work when she&#8217;s working with Duncan. Since she was the lead this year, I (and everybody else) got to see her eye at work. There are some wonderfully artistic shots in <a href="http://www.flickr.com/photos/pinarozger/sets/72157621652734691/">her coverage</a> of the show.</p>
<p>One person that you&#8217;ll see in Pinar&#8217;s set is photographer Julian Cash, the head of the <a href="http://humancreativity.com/">Human Creativity Project</a>. I first met Julian at ApacheCon in San Diego back in 2005. At the time, I didn&#8217;t really know much about photography, and I didn&#8217;t really get to see much of what he had done with his light painting portraits. Today, I have have much better appreciation for his light paintings. He did one of me at the MySQL conference earlier this year, and he did a <a href="http://www.flickr.com/photos/juliancash/sets/72157621663915357/">bunch at OSCON</a> too.</p>
<p>The photographic tradition at OSCON is going strong.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sauria.com/blog/2009/07/27/oscon-2009/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Bar Camp Seattle 2009</title>
		<link>http://www.sauria.com/blog/2009/06/17/bar-camp-seattle-2009/</link>
		<comments>http://www.sauria.com/blog/2009/06/17/bar-camp-seattle-2009/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 05:58:00 +0000</pubDate>
		<dc:creator>Ted Leung</dc:creator>
				<category><![CDATA[Seattle]]></category>
		<category><![CDATA[barcamp]]></category>
		<category><![CDATA[bcs09]]></category>

		<guid isPermaLink="false">http://www.sauria.com/blog/2009/06/17/bar-camp-seattle-2009/</guid>
		<description><![CDATA[This past Saturday I hopped over to Seattle for Bar Camp Seattle 2009. I wasn&#8217;t able to make it to last year&#8217;s event, and since we haven&#8217;t had many Bar Camp&#8217;s in Seattle, I wanted to see what was happening. As usual, there was a wall where the schedule was developed as the day went [...]]]></description>
			<content:encoded><![CDATA[<p>This past Saturday I hopped over to Seattle for Bar Camp Seattle 2009. I wasn&#8217;t able to make it to last year&#8217;s event, and since we haven&#8217;t had many Bar Camp&#8217;s in Seattle, I wanted to see what was happening. As usual, there was a wall where the schedule was developed as the day went on.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/3631679676/"><img src="http://farm4.static.flickr.com/3365/3631679676_ba92b98343.jpg" height="500" width="333" alt="BarCamp Seattle 2009" /></a></p>
<p style="text-align: left;">I was happy to see that there were a number of people involved in organizing the event. Those folks were easily distinguishable by their red and yellow propellor beanies.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/3631674768/"><img src="http://farm4.static.flickr.com/3334/3631674768_7aea9c7310.jpg" height="500" width="333" alt="BarCamp Seattle 2009" /></a></p>
<p style="text-align: left;">The Bar Camp / Foo Camp structure for a conference is pretty liberating when compared to the usual pre-planned, eyes forward conference. However, it&#8217;s not enough to guarantee a good event. I&#8217;ve attended a number of these kinds of events, and in my view, who actually turns up is just as important as how the event is structured. Bar Camp Seattle had a lot of people who were interested in talking about various social media related topics. I have no idea if any of those sessions were any good, because I didn&#8217;t end up going to any of them. I ran into and met some developer type people, but not as many as I hoped to. Despite the use of Pathable&#8217;s cool <a href="http://barcampseattle-09.pathable.com/">registration / attendee matchmaking system</a>, I didn&#8217;t find it that easy to make use of the information printed on my badge. I would have loved some clever mixer based on the badge labels or something along those lines.</p>
<p style="text-align: left;"><a href="http://www.briantrice.com/">Brian Rice</a> and I (but really mostly Brian) ran a session a session for people interested in programming languages. I was pretty happy because the session was very interactive, but the session length of 30 minutes made it hard to get very far during the allotted time.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/51035696189@N01/3630870253/"><img src="http://farm3.static.flickr.com/2434/3630870253_34816211a6.jpg" height="333" width="500" alt="BarCamp Seattle 2009" /></a></p>
<p style="text-align: left;">The best session that I attended was a session that was literally and figuratively off the grid. Brian Dorsey put up a session for sitting outside under the nearby bridge. The weather in Seattle was really beautiful last Saturday, so it really begged for being outside. There were about 9 or 10 of us who wandered out and sat talking about a wide range of topics. I enjoyed the sense of flowing from topic to topic, shifting naturally with the flow of conversation, the changing of roles of various participants as the topics changed, and so forth.</p>
<p style="text-align: left;">I think that I am at a crossroads as to the value of these generic, unstructured events. I helped organize the first Seattle Mind Camp, and I am glad to see that there is now a Bar Camp in Seattle as well. At the same time, I&#8217;ve frequently left these events feeling unsatisfied. Beforehand I am filled with excitement at the possibility of meeting new people from other tribes / fields and somehow stirring the pot of creative juices. Most of the time, I end up leaving without that stirring having occurred. If I look back over the last four or five years worth of conferences that I&#8217;ve attended, only a handful of &#8220;unstructured&#8221; events really stand out. Those events were Foo Camp and the Scala Liftoff, and in both cases, I would say that the particular sets of people involved made a huge difference. &nbsp;&nbsp;</p>
<p style="text-align: left;"></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sauria.com/blog/2009/06/17/bar-camp-seattle-2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Thoughts on WWDC</title>
		<link>http://www.sauria.com/blog/2009/06/09/thoughts-on-wwdc/</link>
		<comments>http://www.sauria.com/blog/2009/06/09/thoughts-on-wwdc/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 01:25:43 +0000</pubDate>
		<dc:creator>Ted Leung</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Macintosh]]></category>

		<guid isPermaLink="false">http://www.sauria.com/blog/2009/06/09/thoughts-on-wwdc/</guid>
		<description><![CDATA[Some thoughts on yesterday&#8217;s announcements:
MacBook Pros
The laptop refresh was a surprise to me. I wasn&#8217;t expecting anything until Intel&#8217;s Nehalem based laptop CPU&#8217;s and chipsets hit the market late summer or early fall. The basics of the machines haven&#8217;t improved that much, and won&#8217;t until that happens. I&#8217;m wary of the unibody built in battery [...]]]></description>
			<content:encoded><![CDATA[<p>Some thoughts on yesterday&#8217;s announcements:</p>
<p><strong>MacBook Pros</strong></p>
<p>The laptop refresh was a surprise to me. I wasn&#8217;t expecting anything until Intel&#8217;s Nehalem based laptop CPU&#8217;s and chipsets hit the market late summer or early fall. The basics of the machines haven&#8217;t improved that much, and won&#8217;t until that happens. I&#8217;m wary of the unibody built in battery &#8211; I had to have my MacBook Pro batteries replaced recently, and the built-in battery would make that a lot harder. As a photographer, I like the wider color gamut of the LCD, but I don&#8217;t like the glossy finish. I also find there replacement of the ExpressCard slot with an SD card slot odd. It would have been more &#8220;Pro&#8221; to at least use a Compact Flash slot. &nbsp;&nbsp;</p>
<p>In any case, I&#8217;m not in the market for a new laptop, so the minor changes and the nice price reduction don&#8217;t mean much to me at the moment.</p>
<p><strong>Snow Leopard</strong></p>
<p>Snow Leopard, on the other hand, is of great interest to me now that my primary box is a Mac Pro. I&#8217;m eager to have OS X taking better advantage of the all the hardware threads in the box. I was disappointed that there wasn&#8217;t more discussion of this in the keynote, but I also understand that having more than 2 cores is still a bit out there. I&#8217;m also disappointed that there was no mention of ZFS in either the workstation or server editions of Snow Leopard.</p>
<p>I guess that Snow Leopard is not as ready as many people (including me) thought. It won&#8217;t be shipping until September. Apple has taken a very reasonable approach to pricing the upgrade. The biggest issue for me is that I&#8217;ve been having problems with 10.5.7. I uninstalled it from the MacPro, and my work laptop wigged out on me last week during JavaOne, and I am very suspicious that the problems are 10.5.7 related. Jeffrey Zeldman is <a href="http://www.zeldman.com/2009/06/04/os-x-1057-update-unsafe-at-any-speed/">chronicling</a> his own set of problems with the update. It&#8217;s going to be a long time between now and September if Apple doesn&#8217;t sort this out.</p>
<p><strong>iPhone 3.0</strong></p>
<p>The iPhone 3.0 stuff was pretty much a rehash of what was previewed back in March. The only surprise was the &#8220;Find My iPhone&#8221; feature, which really ought to be a standard feature. I&#8217;m not sure if I&#8217;m going to buy MobileMe just to get this ability. Everybody is going to get an upgrade to this version of the software so there&#8217;s nothing but happiness all around.</p>
<p>What&#8217;s not so happy is that some of the features will be unavailable because AT&amp;T isn&#8217;t ready to support them: MMS and Tethering. I&#8217;m not really sure that I would actually use the MMS. I do most of my picture sharing via Twitter or Facebook. I am pretty sure that I would use tethering, either when riding the ferry or when traveling for work. However, if AT&amp;T adds another $30 a month for the privilege, I probably won&#8217;t do it. I can get a Boingo account form $10 a month. True that it won&#8217;t work everywhere, but it will work on the ferry and in major airports. Does AT&amp;T really think that we don&#8217;t know how to comparison shop?</p>
<p><strong>iPhone 3GS</strong></p>
<p>The iPhone 3GS is a nice upgrade. I&#8217;d be happy with the speed, but I&#8217;m going to get a speed increase (supposedly) from the iPhone 3.0 software. Faster 3G data would also be nice. The battery life improvements don&#8217;t cover the 3G radio usage, which is how I pound my iPhone. &nbsp;&nbsp;</p>
<p>There are two features which really stand out to me: the compass and the camera.</p>
<p>I travel a lot, and I get mixed up a lot. Having the compass to help decipher directions would really be a help to me. I can think of several occasions in the last 6 months, where I could have saved some aggravation if I knew what direction I was pointed in.</p>
<p>The improvements to the camera look really good. Chase Jarvis is <a href="http://blog.chasejarvis.com/blog/2009/06/iphone-3gs-is-photographers-iphone.html">calling</a> it the photographer&#8217;s iPhone, which is pretty much a no brainer. There was no mention of speeding up the amount of time it takes to get the camera to come on, which is one of my biggest gripes with it. Is it really a decisive moment camera? No way. But it looks like it is a much better camera than what we have now. I could probably justify $199 to upgrade my 16G iPhone 3G &#8211; it&#8217;d be a lot cheaper than a camera.</p>
<p>Unfortunately, I&#8217;m not going to get to do that. At least not until December 2009, due to the subsidized pricing of the iPhone. Lots of people are complaining about this, but that&#8217;s the way that the carriers have always worked. It&#8217;s not something new, in fact, its a sign that AT&amp;T has a little more pull on Apple that we thought. So I&#8217;ll be waiting at least until December. The problem is that if I wait till December, I&#8217;m only 6 months away from the next iPhone product launch (if they keep to the current schedule), and as TechCrunch <a href="http://www.techcrunch.com/2009/06/08/why-the-iphone-3g-s-may-be-a-suckers-bet-right-now/?awesm=tcrn.ch_3PJ&amp;utm_campaign=techcrunch&amp;utm_content=techcrunch-sharebutton&amp;utm_medium=tcrn.ch-twitter&amp;utm_source=direct-tcrn.ch">points out</a>, if Apple lets its exclusive contract with AT&amp;T expire in 2010, then you&#8217;d actually have carrier choice. That would be a good thing, and since getting onto Verizon&#8217;s huge network can only help iPhone sales, I&#8217;d bet that the iPhone is on Verizon in 2010. That&#8217;s not an impossible thing. Verizon made its first appearance ever at JavaOne this year, a sign that things are starting to change over there. I guess I&#8217;m going to wait and see how AT&amp;T treats me between now and then. But they should be painfully aware that people are buying the iPhone, not the carrier.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sauria.com/blog/2009/06/09/thoughts-on-wwdc/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>CommunityOne / JavaOne 2009</title>
		<link>http://www.sauria.com/blog/2009/06/08/communityone-javaone-2009/</link>
		<comments>http://www.sauria.com/blog/2009/06/08/communityone-javaone-2009/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 23:39:35 +0000</pubDate>
		<dc:creator>Ted Leung</dc:creator>
				<category><![CDATA[Sun]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[communityone2009]]></category>
		<category><![CDATA[javaone2009]]></category>

		<guid isPermaLink="false">http://www.sauria.com/blog/?p=260</guid>
		<description><![CDATA[This was my second year attending these events as a Sun employee. Everything in software at Sun seems to revolve around these two events. For quite some time before the show, people are working away furiously getting things ready to be unveiled, myself included.
CommunityOne
For me, the big theme at CommunityOne was cloud computing. Sun itself [...]]]></description>
			<content:encoded><![CDATA[<p>This was my second year attending these events as a Sun employee. Everything in software at Sun seems to revolve around these two events. For quite some time before the show, people are working away furiously getting things ready to be unveiled, myself included.</p>
<p><strong>CommunityOne</strong></p>
<p>For me, the big theme at CommunityOne was cloud computing. Sun itself was emphasizing cloud stuff and the latest release of OpenSolaris, 2009.06, which were the main topics of the CommunityOne general session. The Sun Cloud is due out sometime this summer, so much of the cloud part of the session was having partners come up and tell about their experiences working with our cloud. The OpenSolaris team has done a huge amount of work in 2009.06. The feature that stuck out to me the most is &#8220;<a href="http://opensolaris.org/os/project/crossbow/">Crossbow</a>&#8220;, which is a completely rewritten networking stack. Solaris already had CPU virtualization technology built into it via the zones feature. Crossbow makes it possible to virtualize networking configurations. This means that you could run an instance of OpenSolaris on your laptop (either natively or via VirtualBox, VMWare or whatever) and actually have a virtualized data center configuration running right there. That&#8217;s pretty interesting stuff.</p>
<p>I went to several cloud sessions, and I&#8217;d have to say that the current state of cloud computing is pretty rough. At least that&#8217;s true at the Infrastructure as a Service level where Amazon and the Sun Cloud are. As an example, I went to a good presentation by fellow Sun employees on <a href="http://wikis.sun.com/display/cloud/Patterns">cloud computing patterns</a>. I happened to be sitting with James Governor and Stephen O&#8217;Grady of Redmonk, and I turned to Stephen and said &#8220;these patterns are all at a level that I never want to have to worry about&#8221;. The patterns themselves were fine, but I personally don&#8217;t want to have to deal with things at that level in a cloud platform. There is lots of room for improvement and innovation in this space.</p>
<p>My CommunityOne talk was called &#8220;Programming Languages for the Cloud&#8221;.</p>
<div id="__ss_1550943" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="Programming Languages For The Cloud" href="http://www.slideshare.net/twleung/programming-languages-for-the-cloud?type=powerpoint">Programming Languages For The Cloud</a><object width="425" height="355" data="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=programminglanguagesforthecloud-090608164735-phpapp02&amp;stripped_title=programming-languages-for-the-cloud" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=programminglanguagesforthecloud-090608164735-phpapp02&amp;stripped_title=programming-languages-for-the-cloud" /><param name="allowfullscreen" value="true" /></object></div>
<p>The talk is based on my experience as a language guy who has been asked to work on cloud computing stuff. As such, I&#8217;m really trying to raise questions (for which I don&#8217;t yet have answers) about places where work on programming languages might usefully intersect with cloud computing. I figured that this would be a niche kind of talk, so I was very surprised to find myself in one of the larger rooms at Moscone, complete with a live video feed. I was even more surprised to see that the room was pretty full. After the presentation, one of the Salesforce.com engineers working on Apex (their domain specific language for the cloud) came up to the front. We ended up having lunch and I learned a bunch interesting stuff about their experience withe Apex. This sort of thing is what makes conferences worthwhile.</p>
<p><strong>JavaOne</strong></p>
<p>I spent the first day of JavaOne prepping for my presentation, &#8220;Seeding the Cloud&#8221;, which was about some ways that tools could help developers who choose to build applications in the cloud.</p>
<div id="__ss_1551026" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="Seeding The Cloud" href="http://www.slideshare.net/twleung/seeding-the-cloud?type=presentation">Seeding The Cloud</a><object width="425" height="355" data="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=seedingthecloud-090608170829-phpapp02&amp;stripped_title=seeding-the-cloud" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=seedingthecloud-090608170829-phpapp02&amp;stripped_title=seeding-the-cloud" /><param name="allowfullscreen" value="true" /></object></div>
<div style="font-family: Helvetica; font-size: 12px;"></div>
<div style="font-family: Helvetica; font-size: 12px;">Ashwin Rao and I had some pretty interesting demos lined up, but we had problems with the internet connection in the room so a number of the demos failed. I learned later that the internet connection for all of Moscone Center had gone out, which made me feel slightly better. As someone commented to me, it was a good illustration of some of the weak points of the cloud (web, really) model.</div>
<div style="font-family: Helvetica; font-size: 12px;"></div>
<div style="font-family: Helvetica; font-size: 12px;">The demonstration that I really wanted to show was an extension of some work that the <a href="http://kenai.com/">Kenai</a> team has done. Kenai is going to have support for doing continuous integration via Hudson, and the machines for doing that can be allocated as cloud instances. This is great if you have a project in Java or some other language that has major build steps. Another use for a dynamically allocated farm of machines is to do web UI testing on browser combinations. Back at PyCon, I put a bug into <a href="http://adamchristian.com/">Adam Christian</a> and <a href="http://www.mikealrogers.com/">Mikeal Roger</a>&#8217;s ears about this. Adam and Mikeal are the primary guys behind the <a href="http://www.getwindmill.com/">Windmill</a> web UI testing framework. Adam has been working with <a href="https://hudson.dev.java.net/">Hudson</a> author <a href="http://weblogs.java.net/blog/kohsuke/">Kohsuke Kawaguchi</a>, and between the two of them they came up with a way for Hudson to start up a bunch of different browsers on different operating systems. If my demo had worked, people would have seen me kick off a Hudson build from inside of Netbeans 6.7, and then we would have watched (via RDC) the various browsers running though some UI tests on a web application. Oh well.</div>
<div style="font-family: Helvetica; font-size: 12px;"></div>
<div style="font-family: Helvetica; font-size: 12px;">I spent the rest of JavaOne ducking into various language and concurrency talks. Jonas Boner gave a very nice talk comparing some of the concurrency mechanisms that are available on the JVM. Alex Miller gave a talk on Java concurrency gotchas. The net effect of Alex&#8217;s talk was to reinforce the fact that we need one or more of the mechanisms that Jonas covered in his talk. Also in the concurrency vein, I stopped in on Philipp Haller and Frank Sommer&#8217;s &#8217;s talk on Scala Actors. Probably the most fun concurrency thing was a random conversation with Clojure author Rich Hickey and Jonas Boner in the speaker room.</div>
<div style="font-family: Helvetica; font-size: 12px;"></div>
<div style="font-family: Helvetica; font-size: 12px;">JavaOne is big on the keynote / general sessions. I only went to two, the opening session, and Bob Brewin&#8217;s technical keynote. The big news (to me) in Bob&#8217;s keynote was Mark Reinhold&#8217;s demonstration of a modularized JDK. This is cool for a variety of reasons, like reducing the footprint of the downloads, ability to build distribution packages trivially, and so forth. But the thing that made me happies was news that the CLASSPATH is finally going way, to be replaced by a module-info.java file.</div>
<div style="font-family: Helvetica; font-size: 12px;"></div>
<div style="font-family: Helvetica; font-size: 12px;">The opening general session was very subdued. There were a variety of partner / sponsor segments, but things were really running at a low energy level until the end when Scott McNealy took the stage and then introduced Oracle CEO Larry Ellison. Despite Ellison&#8217;s reassurances to the Java community, it was a sad moment. I&#8217;ve only been at Sun for a little over a year, but my history with the company is pretty long. When I was in grad school, Brown was on of the first large installations of Solaris (replacing SunOS). Like many developers, I&#8217;ve used Java over the years. Sun has made a number of very important contributions to the computer industry, and it&#8217;s sad to me that a company so full of innovation was unable to remain independent.</div>
<div style="font-family: Helvetica; font-size: 12px;"></div>
<div style="font-family: Helvetica; font-size: 12px;"><strong>Photography</strong></div>
<div style="font-family: Helvetica; font-size: 12px;"></div>
<div style="font-family: Helvetica; font-size: 12px;">This year things were so busy and frenetic that I really didn&#8217;t have much time to pull out the camera. Between presentations and meeting up with Sun people from all over the world, there just wasn&#8217;t time. Here are a few from the few times that my camera escaped its bag:</div>
<div style="font-family: Helvetica; font-size: 12px;"></div>
<div style="text-align: center;"><a title="View 'JavaOne 2009' on Flickr.com" href="http://www.flickr.com/photos/51035696189@N01/3608978606"></a><a title="View 'JavaOne 2009' on Flickr.com" href="http://www.flickr.com/photos/51035696189@N01/3608978606"><img src="http://farm4.static.flickr.com/3415/3608978606_39606a4f53.jpg" border="0" alt="JavaOne 2009" width="500" height="333" /></a></div>
<p><a title="View 'CommunityOne 2009' on Flickr.com" href="http://www.flickr.com/photos/51035696189@N01/3608943462"></a></p>
<div style="text-align: center;">Bob Brewin&#8217;s Technical Keynote</div>
<div style="text-align: center;"></div>
<div style="text-align: center;"><img src="http://farm4.static.flickr.com/3399/3608906776_fe67193bbc.jpg" border="0" alt="CommunityOne 2009" width="333" height="500" /></div>
<div style="text-align: center;">The Extra Action Marching Band on the CommunityOne Expo Floor</div>
<div style="text-align: center;"></div>
<div style="text-align: center;"><a title="View 'CommunityOne 2009' on Flickr.com" href="http://www.flickr.com/photos/51035696189@N01/3608943462"></a><a title="View 'CommunityOne 2009' on Flickr.com" href="http://www.flickr.com/photos/51035696189@N01/3608943462"><img src="http://farm4.static.flickr.com/3413/3608943462_d82a5e3bf0.jpg" border="0" alt="CommunityOne 2009" width="500" height="333" /></a></div>
<p><a title="View 'CommunityOne 2009' on Flickr.com" href="http://www.flickr.com/photos/51035696189@N01/3608123991"></a></p>
<p style="text-align: center;">The CommunityOne Party</p>
<div style="text-align: center;"></div>
<div style="text-align: center;"><a title="View 'CommunityOne 2009' on Flickr.com" href="http://www.flickr.com/photos/51035696189@N01/3608123991"></a><a title="View 'CommunityOne 2009' on Flickr.com" href="http://www.flickr.com/photos/51035696189@N01/3608123991"><img src="http://farm4.static.flickr.com/3608/3608123991_b8a98c18d7.jpg" border="0" alt="CommunityOne 2009" width="333" height="500" /></a></div>
<p><a title="View 'CommunityOne 2009' on Flickr.com" href="http://www.flickr.com/photos/51035696189@N01/3608094975"></a></p>
<p style="text-align: center;">The CommunityOne Party</p>
<div style="text-align: center;"></div>
<div style="text-align: center;"><a title="View 'CommunityOne 2009' on Flickr.com" href="http://www.flickr.com/photos/51035696189@N01/3608094975"></a><a title="View 'CommunityOne 2009' on Flickr.com" href="http://www.flickr.com/photos/51035696189@N01/3608094975"><img src="http://farm3.static.flickr.com/2442/3608094975_fb344912eb.jpg" border="0" alt="CommunityOne 2009" width="333" height="500" /></a></div>
<p><a title="View 'CommunityOne 2009' on Flickr.com" href="http://www.flickr.com/photos/51035696189@N01/3608906776"></a></p>
<div style="text-align: center;">The CommunityOne Party</div>
<div style="text-align: center;"></div>
<div style="text-align: center;"><a title="View 'CommunityOne 2009' on Flickr.com" href="http://www.flickr.com/photos/51035696189@N01/3608925748"></a><a title="View 'CommunityOne 2009' on Flickr.com" href="http://www.flickr.com/photos/51035696189@N01/3608925748"><img src="http://farm4.static.flickr.com/3608/3608925748_677ee2a24c.jpg" border="0" alt="CommunityOne 2009" width="333" height="500" /></a></div>
<p><a title="View 'CommunityOne 2009' on Flickr.com" href="http://www.flickr.com/photos/51035696189@N01/3608936878"></a></p>
<p style="text-align: center;">The CommunityOne Party</p>
<p style="text-align: center;"><a title="View 'CommunityOne 2009' on Flickr.com" href="http://www.flickr.com/photos/51035696189@N01/3608936878"><img src="http://farm4.static.flickr.com/3559/3608936878_d79d6a3ecc.jpg" border="0" alt="CommunityOne 2009" width="333" height="500" /></a><a title="View 'CommunityOne 2009' on Flickr.com" href="http://www.flickr.com/photos/51035696189@N01/3608930464"></a><a title="View 'CommunityOne 2009' on Flickr.com" href="http://www.flickr.com/photos/51035696189@N01/3608930464"></a></p>
<p style="text-align: center;">The CommunityOne Party</p>
<p style="text-align: center;"><a title="View 'CommunityOne 2009' on Flickr.com" href="http://www.flickr.com/photos/51035696189@N01/3608930464"><img src="http://farm4.static.flickr.com/3355/3608930464_cd9fabe365.jpg" border="0" alt="CommunityOne 2009" width="333" height="500" /></a></p>
<p style="text-align: center;">The CommunityOne Party</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sauria.com/blog/2009/06/08/communityone-javaone-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CommunityOne and JavaOne</title>
		<link>http://www.sauria.com/blog/2009/06/01/communityone-and-javaone/</link>
		<comments>http://www.sauria.com/blog/2009/06/01/communityone-and-javaone/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 15:59:34 +0000</pubDate>
		<dc:creator>Ted Leung</dc:creator>
				<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://www.sauria.com/blog/2009/06/01/communityone-and-javaone/</guid>
		<description><![CDATA[I&#8217;m here in San Francisco for CommunityOne and the first 3 days (Tuesday through Thursday) of JavaOne.
Today at CommunityOne I&#8217;ll be giving a talk called &#8220;Programming Languages for the Cloud&#8220;. This is an exploration of areas where programming languages might intersect cloud computing.
Tuesday afternoon at JavaOne Ashwin Rao and i I will be giving a [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m here in San Francisco for CommunityOne and the first 3 days (Tuesday through Thursday) of JavaOne.</p>
<p>Today at CommunityOne I&#8217;ll be giving a talk called &#8220;<a href="https://www28.cplan.com/cc239/session_details.jsp?isid=307153&amp;ilocation_id=230-1&amp;ilanguage=english">Programming Languages for the Cloud</a>&#8220;. This is an exploration of areas where programming languages might intersect cloud computing.</p>
<p>Tuesday afternoon at JavaOne Ashwin Rao and i I will be giving a talk called &#8220;<a href="http://www28.cplan.com/cc230/session_details.jsp?isid=304762&amp;ilocation_id=230-1&amp;ilanguage=english">Seeding the Cloud</a>&#8220;, where we&#8217;ll be giving a developer centric view of cloud computing and cloud computing issues. We&#8217;ll also have demos of some of the cloud developer stuff we&#8217;ve been working on.</p>
<p>If you are around and want to meetup, you can always get a hold of me via <a href="http://twitter.com/twleung">Twitter</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sauria.com/blog/2009/06/01/communityone-and-javaone/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>On Twitter Data</title>
		<link>http://www.sauria.com/blog/2009/05/26/on-twitter-data/</link>
		<comments>http://www.sauria.com/blog/2009/05/26/on-twitter-data/#comments</comments>
		<pubDate>Tue, 26 May 2009 16:23:20 +0000</pubDate>
		<dc:creator>Ted Leung</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://www.sauria.com/blog/2009/05/26/on-twitter-data/</guid>
		<description><![CDATA[I&#8217;ve been getting various kinds of private communication about this, so it&#8217;s probably worth some commentary&#8230;
For some time now, I&#8217;ve been wondering when someone would start to use systems like Twitter as a way to deliver information between programs. A few weeks ago, Todd Fast, a colleague at Sun gave me a preview of what [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been getting various kinds of private communication about this, so it&#8217;s probably worth some commentary&#8230;</p>
<p>For some time now, I&#8217;ve been wondering when someone would start to use systems like Twitter as a way to deliver information between programs. A few weeks ago, <a href="http://blogs.sun.com/toddfast/">Todd Fast</a>, a colleague at Sun gave me a preview of what is now the <a href="http://twitterdata.org/">Twitter Data</a> proposal. Todd and Jiri Kopsa have done all the heavy lifting on this, so if you have substantive comments or requests, they are really the people you should be dealing with. They were kind enough to recognize me as a reviewer of their work, but the initial idea is theirs.</p>
<p>Twitter Data is a bit different than what I was envisioning. I was thinking more along the lines of jamming JSON or XML data into a Twitter message as a starting point for program level data exchange. That would allow us to leverage existing tools and libraries and make the entire thing straight forward. The interesting part, then, would be in the distribution network that arose from programs following other programs. This could also be embedded into a person&#8217;s Twitter feed by allowing clients to ignore tweet payloads that were structured data.</p>
<p>Twitter Data proposes a way to annotate the data oriented parts of a regular Tweet in order to make it easier for machines to extract the data. Some people think this is a good idea, and some people think it&#8217;s a terrible idea. It&#8217;s easy to see the arguments on both sides. Pro, is that you could turn your Tweet stream into a way to deliver information about you to programs, and that Twitter Data would make it that much easier to do. The Cons (that I&#8217;ve seen so far) are that people don&#8217;t want to have this kind of data exchange mixed into their Twitter stream, or that parsing the natural language that appears in the 140 characters of a tweet shouldn&#8217;t be that hard.</p>
<p>So we have two dimensions (at least) to the problem that Twitter Data is trying to address:</p>
<ol>
<li>Is it a useful thing to have structured or semi structured information about a person included in their Twitter feed?</li>
<li>If so, should that data be out of band, mixed in, or extracted (natural language processing)?</li>
</ol>
<p>Independent of the merits of the specific Twittter Data proposal (and I definitely think that there are merits), I think that these two questions are worth some discussion and pondering.</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sauria.com/blog/2009/05/26/on-twitter-data/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Mac Pro time</title>
		<link>http://www.sauria.com/blog/2009/05/25/mac-pro-time/</link>
		<comments>http://www.sauria.com/blog/2009/05/25/mac-pro-time/#comments</comments>
		<pubDate>Tue, 26 May 2009 06:40:13 +0000</pubDate>
		<dc:creator>Ted Leung</dc:creator>
				<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[lightroom]]></category>

		<guid isPermaLink="false">http://www.sauria.com/blog/2009/05/25/mac-pro-time/</guid>
		<description><![CDATA[For the past three or four years, I&#8217;ve been promising myself that I was going to buy myself a Mac Pro. This mostly a result of digital photography, which makes rapacious demands on computer systems. In the last 9 months or so, it&#8217;s also been because I am doing more work using virtualized machine images. [...]]]></description>
			<content:encoded><![CDATA[<p>For the past three or four years, I&#8217;ve been promising myself that I was going to buy myself a Mac Pro. This mostly a result of digital photography, which makes rapacious demands on computer systems. In the last 9 months or so, it&#8217;s also been because I am doing more work using virtualized machine images. In any case, every time Apple had an event, I was telling myself that I was going to buy the machine, but there was always some reason why it never happened. The announcement of the Nehalem based Mac Pro earlier this year finally pushed me over the edge. And pushing was required. There&#8217;s been a lot of benchmarking which casts the performance of these machines in questionable light when compared with the machines that they replaced. Until a bunch of applications are rewritten to take advantage of the large number of cores in Nehalem based systems, these boxes are only slightly better than the ones they replaced, and a bit more expensive.</p>
<p>I ended up getting an 8 core machine, because these are the machines that can be expanded to an outrageous amount of memory, something which is a necessity for systems doing a lot of Photoshop. Due to the benchmarking controversy, I got the 2.66GHz processors, so that single threaded programs wouldn&#8217;t suffer as much. Here&#8217;s a quick rundown on my experience after having the machine for a few weeks.</p>
<p><strong>Hardware</strong></p>
<p>All of my hardware moved over without a hiccup, except for my Logitech Z-5500 speakers. I needed a TOSLINK to TOSLINK cable, which was rectified by a trip to Radio Shack (yes, we have one on Bainbridge Island. It&#8217;s not Fry&#8217;s but once a year or so they save my bacon.). The machine is much quieter than I expected. The last desktop machine that I owned was a homebuilt Windows box, and that thing was really loud. The Mac Pro is quieter than some of the external FireWire drives that are plugged into it. Heat would be a different story. My office is already several degrees warmer than the rest of the house, and now it&#8217;s probably another several degrees warmer. I&#8217;m having to be very careful about leaving my office doors open in order for things to cool down. Figuring out how this works in the summer is going to be interesting.</p>
<p>Performance wise I am pretty happy. Things are definitely snappier than my Sun supplied 2.6GHz MacBook Pro. I moved some external disks off of Firewire and into the Mac Pro&#8217;s internal SATA drive bays, and I am sure that the change in interface made a big contribution to the improved speed. The machine has 12GB of Other World Computing RAM in it, so it basically doesn&#8217;t page unless I am doing something big in Photoshop or have several VirtualBox VMs open at the same time.</p>
<p>There are some things that I miss:</p>
<p>We don&#8217;t have TV, so we do a lot of NetFlix and other DVD&#8217;s. This happened mostly on the MacBook Pro via Front Row and the Apple Remote. The Mac Pro doesn&#8217;t talk to the Apple remote, and I miss that. If people have suggestions for controlling Front Row on a Mac Pro, please leave them in the comments.</p>
<p>I got used to having the laptop hooked up to the LCD display, and using the laptop LCD as my &#8220;communications display&#8221; for IM, IRC, Twitter and so forth. Now I&#8217;m back down to a single display and missing it. I&#8217;m also missing it in Lightroom.</p>
<p>The Mac Pro came with an Apple keyboard, and the keyboard I was using was a Microsoft Natural Keyboard from 2000, and some of the keys were starting to get hard to push. So I figured that I would try the Apple keyboard. So far I don&#8217;t mind it, but keys are in different places, and the new keyboard has 9 years of muscle memory working against it. But that would be true of just about any keyboard.</p>
<p><strong>Software</strong></p>
<p>Any time I get a new machine I update my <a href="http://www.sauria.com/blog/mac-tips-and-tricks/">Macintosh Tips and Tricks</a> page. I definitely have some updates that I could make, and I might make some of them after JavaOne. The rumor mill is suggesting that MacOS 10.6 Snow Leopard is going to ship this summer, so I might just wait until that happens, since I expect a lot of things to need updating, rearranging, etc.</p>
<p>I did have a problem when I tried to update the machine to 10.5.7. Things were behaving very oddly, so I restored the machine back to 10.5.6 with Time Machine. Time Machine backups on an internal SATA drive take less time (and make less noise) than on an external FireWire drive. I&#8217;m going to give this another try after JavaOne. And for prospective commenters, yes, I repaired permissions and used the Combo Updater.</p>
<p>Photoshop occasionally makes use of the additional cores, but it&#8217;s the large amount of RAM that is really making the difference at the moment. The same is true for Lightroom. Perhaps the next editions of these programs, coupled with 10.6, will do a better job of keeping multiple cores busy. In the meantime, my Lightroom to Photoshop batch jobs are definitely running quite a bit faster than before.</p>
<p><strong>On the whole</strong></p>
<p>On the whole, I am happy with the machine, and I expect to be a lot happier when 10.6 ships this summer.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sauria.com/blog/2009/05/25/mac-pro-time/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Erlang Factory 2009</title>
		<link>http://www.sauria.com/blog/2009/05/04/erlang-factory-2009/</link>
		<comments>http://www.sauria.com/blog/2009/05/04/erlang-factory-2009/#comments</comments>
		<pubDate>Tue, 05 May 2009 00:29:17 +0000</pubDate>
		<dc:creator>Ted Leung</dc:creator>
				<category><![CDATA[concurrency]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[dynamic languages]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[functional programming]]></category>
		<category><![CDATA[languages]]></category>

		<guid isPermaLink="false">http://www.sauria.com/blog/2009/05/04/erlang-factory-2009/</guid>
		<description><![CDATA[I spent Thursday and Friday of last week at the Erlang Factory in San Francisco (although the event was actually in Palo Alto).
Why did I go?
I&#8217;ve written about Erlang in this space before. Erlang is having a major influence on other languages, such as Scala on the JVM side and Axum on the CLR side. [...]]]></description>
			<content:encoded><![CDATA[<p>I spent Thursday and Friday of last week at the <a href="http://www.erlang-factory.com/conference/SFBayAreaErlangFactory2009">Erlang Factory</a> in San Francisco (although the event was actually in Palo Alto).</p>
<p><strong>Why did I go?</strong></p>
<p>I&#8217;ve written about Erlang in this space before. Erlang is having a major influence on other languages, such as <a href="http://www.google.com/url?sa=t&amp;source=web&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Fwww.scala-lang.org%2F&amp;ei=6Hn_SZH3K4SmM9_5rM0E&amp;usg=AFQjCNGYBCTSNmB7f0MMI09DwW_uK_f65w">Scala</a> on the JVM side and <a href="http://blogs.msdn.com/maestroteam/">Axum</a> on the CLR side. In addition every language seems to have several implementation of Erlang style &#8220;actors&#8221; (despite the fact that this is historically incorrect). Erlang has been around for a long time, and has seen industrial usage in demanding telecom applications. As a dynamically typed functional language with good support for concurrency and distribution, it is (if nothing else) a source of interesting ideas. Earlier this year, my boss asked me to start doing some thinking about cloud computing in addition to the stuff that I was already doing around dynamic languages &#8212; another good match for Erlang. This was the first large scale gathering of Erlang people in the US (at least that I am aware of), so I wanted to drop in and see what was going on, what the community is like, and so on.</p>
<p><strong>Talks</strong></p>
<p>The program at the Erlang Factory was very strong. In many of the slot sessions, there were 3 excellent talks to choose from. Every single talk that I went to was of very high quality. It was so bad that I wasn&#8217;t able to explore all the areas that I wanted to. Fortunately, the sessions were videotaped and are supposed to be made available on the web. Also, there was a decent amount of twittering going on, so a <a href="http://twitter.com/#search?q=erlangfactory">Twitter search for #erlangfactory</a> will turn up some useful information.</p>
<p>I attended a number of &#8220;experience&#8221; talks by companies / individuals. There were experience talks from Facebook, SAP, Orbitz, and Kreditor (the fastest growing company in Sweden). I made it to the Facebook talk and the Kreditor talk. Facebook&#8217;s usage/deployment is on the order of 100 machines, which provide the chat facility for Facebook. Erlang is doing all the heavy lifting, and PHP is doing the web UI part. There was a lot of this kind of architecture floating around the conference. It seemed like the most popular combination was Ruby/Erlang, but there was definitely Python and PHP as well. The Kreditor talk was interesting because their site has been running for 3 years with very small amounts of downtime. Unfortunately, their entire deployment is probably less than 10 machines, so that blunts the impressiveness of what they have done. Still it was interesting to hear how they accomplished this using features of Erlang. In addition to the talks, I spoke with many attendees who are using Erlang in their companies. One such person was eBay founder Pierre Omidyar, who is running <a href="http://ginx.com/">Ginx</a>, a web based Twitter client. Pierre is doing the coding and deployment of the site, and was well versed in the Erlang way of doing things. An interesting data point.</p>
<p>The Erlang community (like all communities) has it&#8217;s old guard. These are folks who have worked with Erlang for years, before its recent burst of interest. There were a pair of keynotes by Erlang long-timers Robert Virding (The Erlang Rationale) and Ulf Wiger (Mulitcore Programming in Erlang). Both of these talks shared a common trait &#8212; the speakers were pretty honest about what was good about Erlang, and where there were problems. Given how prone the computing business is to fashion, I found this to be refreshing. Virding talked about the reasons why Erlang is designed the way it is. He accepted the blame for inconstencies in the libraries, talked about the need to avoid the process dictionary, and agreed that &#8220;a char type is probably not wrong&#8221;. Wiger&#8217;s talk was about why parallelizing code is hard (even with Erlang). He used the example of parallelizing map to demonstrate this, and showed the use of the <a href="http://www.cs.chalmers.se/~rjmh/ErlangQC/">QuickCheck</a> testing tool to aid in finding parallelism bugs. The Erlang version of QuickCheck was inspired by the <a href="http://haskell.org/haskellwiki/Introduction_to_QuickCheck">Haskell version of QuickCheck</a>, and it&#8217;s a very very useful tool. The adaptations for parallelism look very nice. It&#8217;s a shame that the Erlang version is commercial software. I don&#8217;t grudge the authors the right to charge money for their software, but I do think that this will hold back adoption of this important tool.</p>
<p>There were many talks on what I would describe as &#8220;cloud problems&#8221;. For example, Ezra Zygmutowicz&#8217;s &#8220;You got your Erlang in my Ruby&#8221; was really about how he built a self assembling cluster of Ruby daemon&#8217;s (<a href="http://github.com/ezmobius/nanite/tree/master/">Nanite</a>), Dave Fayram and Abhay Kumar&#8217;s &#8220;Building Reliable Distributed Heterogenous Services with <a href="http://github.com/KirinDave/fuzed/tree/master">Katamari/Fuzed</a>&#8220;, and Lennart Ohman&#8217;s &#8220;A service fail over and take-over system for Erlang/OTP&#8221;. Like PyCon, there was a lot of interested in eventually consistent databases/key-value stores/non-relational databases. Cliff Moon&#8217;s talk on <a href="http://github.com/cliffmoon/dynomite/tree/master">dynomite</a> (a clone of Amazon&#8217;s <a href="http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html">Dynamo</a> system), was particularly encouraging because he was reaching out to other people in the audience (and there were a decent number of them) to try an consolidate all their efforts into a single project. From what I could tell, people seemed receptive to that idea.</p>
<p><a href="http://couchdb.apache.org">CouchDB</a> also fits into that last category of non-relational databases, but it gets it&#8217;s own paragraph. One reason is that I helped mentor the project through the Apache Incubator (and chauffeured those CouchDB committers who were present). Another is that CouchDB creator Damien Katz got a keynote. Third is that there was basically a CouchDB track on the second day of the conference. There was a lot of interest in CouchDB, and a lot of activity as well. I was told that some of the people who took the CouchDB training during the training days had actually submitted patches on the project already. Damien&#8217;s talk was not about the technical details of CouchDB, but about his personal journey to CouchDB, which included selling his house and living off his savings in order to see CouchDB come to life.</p>
<p>Activity has really picked up in the Erlang web framework space. In addition to <a href="http://www.erlang-web.org/">Erlang Web</a>, and Yariv Sadan&#8217;s <a href="http://erlyweb.org/">Erlyweb</a>, there is also Rusty Klophaus&#8217; <a href="http://nitrogenproject.com/">Nitrogen</a>. Nitrogen focuses more on the UI side of the web framework, omitting any kind of data storage. It&#8217;s very easy to create an AJAX based user interface using Nitrogen, and there is nice support for Comet. As part of his presentation, Rusty showed his slides on a Nitrogen based webcast reflector. You specify the UI using Erlang terms, which then causes HTML/Javascript/etc to be generated, which caused a stir in part of the Twitter peanut gallery. I was mostly happy to see people focusing on solving the current generation of problems. My favorite web space talk was probably Justin Sheehy&#8217;s talk on <a href="http://bitbucket.org/justin/webmachine/wiki/Home">Webmachine</a>. I think that I prefer the description of WebMachine as a REST or HTTP toolkit. Webmachine gives you what you need to implement any HTTP method correctly, and then provided a set of callback functions that can be implemented to customize that processing to do actual work. One of the coolest things about Webmachine is it&#8217;s ability to visually show you that path taken in processing a particular HTTP request, and being able to inspect/dump data at various points in the diagram. It makes for a very nice demo.</p>
<p>There were not that many &#8220;language geek&#8221; talks. This contrasts with the early years of PyCon (at least for as long as I have attended) where there were quite a number. I missed Robert Virding&#8217;s talk on <a href="http://github.com/rvirding/lfe/tree/master">Lisp Flavored Erlang</a> (but I saw some example usage in a CouchDB talk), because it overlapped the dynomite talk. I was able to attend Tony Arcieri&#8217;s talk on &#8220;Building Languages on Erlang (and an introduction to Reia)&#8221;. During the first part of his talk, Tony showed how to construct an Erlang module on the fly in the Erlang shell. He then discussed some tools which are useful to people trying to build languages on top of BEAM, the Erlang virtual machine:</p>
<ul>
<li>Robert Virding has written <a href="http://github.com/rvirding/leex/tree/master">leex</a>, a lexical analyzer generator</li>
<li>yecc, a Yacc style parser generator is included in the Erlang distribution</li>
<li>the erl_syntax_lib library aids in constructing Erlang abstract syntax trees, which can then be compiled to Erlang bytecode.</li>
<li>Erlyweb contains the <a href="http://erlyweb.org/doc/smerl.html">smerl</a> (simple metaprogramming) library for creating and manipulating Erlang modules at runtime.</li>
</ul>
<p>After that, he launched into a description of REiA. I&#8217;m not sure that I agree with some of the choices that he has made, but I am happy to see people experimenting with languages on top of BEAM, and in keeping with Erlang&#8217;s process model and the OTP infrastructure. One of the things that Tony mentioned was abandoning indentation based syntax. He wrote an entire <a href="http://unlimitednovelty.com/2009/03/indentation-sensitivity-post-mortem.html">postmortem</a> on that experience in his blog. Python&#8217;s indentation based syntax has won me over and made me a fan, and I am sad to see that indentation syntax, blocks/closures, and expression orientation continue to be at odds.</p>
<p><strong>Coda</strong></p>
<p>It looks like Erlang is starting to find a home. Companies are using it in production. There are books starting to be written about it. Many (not all) of the things which make Erlang seem odd to &#8220;mainstream&#8221; programmers also appear in languages like Scala, Haskell, and F#. At the same time, Erlang has a long history of industrial deployment, albeit in a single (large) market segment. Many of the problems which we now face in large web systems (and the cloud): concurrency, distribution, high availability, and scalability are strengths for Erlang. Indeed, many of the people that I heard from or talked to basically said that they couldn&#8217;t solve their problem with any other technology, or that their solutions were dramatically simpler than the technologies that they already knew. Will that be enough to propel Erlang into the mainstream? I don&#8217;t know. I also don&#8217;t know if our current state of mainstreamness is going to remain. More and more I&#8217;m seeing an attitude of &#8220;let&#8217;s use the best tool for the job&#8221;, not only in languages, but in all parts of (web) applications.</p>
<p>There&#8217;s also the issue of the Erlang community itself. &nbsp;&nbsp;Around 120 people showed up for the conference. As I mentioned previously, there are the folks who have been doing Erlang for years. Then there are the relative newcomers, who are web oriented/web savvy, and solving problems in very different domains than the original problem domain of Erlang and it&#8217;s inventors. Thus far, the two segments seem to be getting along fine. I hope that will continue &#8212; success or the potential for success has a tendency to bend relationships.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sauria.com/blog/2009/05/04/erlang-factory-2009/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Why I finally believe in hashtags</title>
		<link>http://www.sauria.com/blog/2009/04/25/why-i-finally-believe-in-hashtags/</link>
		<comments>http://www.sauria.com/blog/2009/04/25/why-i-finally-believe-in-hashtags/#comments</comments>
		<pubDate>Sat, 25 Apr 2009 16:48:39 +0000</pubDate>
		<dc:creator>Ted Leung</dc:creator>
				<category><![CDATA[community]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.sauria.com/blog/2009/04/25/why-i-finally-believe-in-hashtags/</guid>
		<description><![CDATA[I&#8217;ve been using Twitter for a while now, but I&#8217;ve never really used hashtags much. I&#8217;ve never been much for doing the stuff it takes to get a highly promoted blog or twitter stream. I figure that if my content is worthwhile, that should be enough. At PyCon I found the compelling hashtag use case [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using Twitter for a while now, but I&#8217;ve never really used hashtags much. I&#8217;ve never been much for doing the stuff it takes to get a highly promoted blog or twitter stream. I figure that if my content is worthwhile, that should be enough. At PyCon I found the compelling hashtag use case for me.</p>
<p>There were a lot of people using hashtags in their PyCon tweets, and Jacob Kaplan-Moss showed me <a href="http://twitterfall.com/">Twitterfall</a>, which made it easy to keep track of uses of the tag. That made it *much* easier to find the virtual twitter stream for PyCon. This was also true at Lang.NET, the DSL DevCon, and the MySQL conference. This week(end) I&#8217;ll be using hashtags to track the progress of <a href="http://www.jsconf2009.com/">JSConf</a>. &nbsp;&nbsp;From now on I&#8217;ll always use hashtags when I&#8217;m at a conference or event.</p>
<p>One reason that it&#8217;s taken me so long to get the hash tag thing is that I use Twitter primarily via rich desktop (or iPhone) clients. Until recently I wasn&#8217;t using clients that could do searching. I had tried <a href="http://www.tweetdeck.com/">TweetDeck</a>, and it never stayed with me. When <a href="http://www.nambu.com/">Nambu</a> came along, I was pretty enthusiastic because it was a native TweetDeck. Unfortunately, I had crashing problems with it at Lang.Net (since fixed, I think), and I put it aside when I realized that <a href="http://mrrsoftware.com/MRRSoftware/Syrinx_Beta.html">Syrinx 2.0</a> had searches. While Syrinx doesn&#8217;t save searches across restarts, its memory use is tolerable enough to leave it running all the time, so it&#8217;s not a big problem, and I am hopeful that MRR will include saved searches in a future version. Commenters: yes, I tried Tweetie for Mac, and I didn&#8217;t like it. I love Tweetie for iPhone, though. Go figure.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sauria.com/blog/2009/04/25/why-i-finally-believe-in-hashtags/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
