<?xml version="1.0"?>
<rdf:RDF
	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:foaf="http://xmlns.com/foaf/0.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns="http://purl.org/rss/1.0/"
>
<channel rdf:about="http://www.planetmvc.com/seaside">
	<title>Planet MVC / Seaside</title>
	<link>http://www.planetmvc.com/seaside</link>
	<description>Planet MVC / Seaside - http://www.planetmvc.com/seaside</description>

	<items>
		<rdf:Seq>
			<rdf:li rdf:resource="http://smallthought.com/avi/?p=20" />
		</rdf:Seq>
	</items>
</channel>

<item rdf:about="http://smallthought.com/avi/?p=20">
	<title>Avi Bryant: Heresy and Fried Onions</title>
	<link>http://smallthought.com/avi/?p=20</link>
	<content:encoded>&lt;p&gt;There&amp;#8217;s story in Primo Levi&amp;#8217;s &lt;a href=&quot;http://www.amazon.com/Periodic-Table-Primo-Levi/dp/0805210415&quot;&gt;The Periodic Table&lt;/a&gt; (&lt;a href=&quot;http://accordionguy.blogware.com/blog/_archives/2001/12/3&quot;&gt;via&lt;/a&gt;, &lt;a href=&quot;http://www.paulgraham.com/arcll1.html&quot;&gt;via&lt;/a&gt;) about a recipe for varnish that included a raw onion.   Nobody at the varnish plant where he worked knew what its purpose was.  It turned out that it had originally been used as a thermometer: if the onion fries, things were hot enough.  Now, they had (and used) better thermometers, but they kept on throwing the onion in because that&amp;#8217;s just what you did.&lt;/p&gt;
	&lt;p&gt;I think that web frameworks have a lot of onions in them.  A lot of the design decisions that are unconsicously adopted by modern frameworks like &lt;a href=&quot;http://www.rubyonrails.org&quot;&gt;Rails&lt;/a&gt; or &lt;a href=&quot;http://djangoproject.com&quot;&gt;Django&lt;/a&gt; were made 10 or 15 years ago.  They were probably good decisions at the time, but we need to re-evaluate them now that we have new and better tools available to us.&lt;/p&gt;
	&lt;p&gt;That&amp;#8217;s the thesis behind the &lt;a href=&quot;http://conferences.oreillynet.com/cs/et2007/view/e_sess/10628&quot;&gt;Applied Web Heresies&lt;/a&gt; tutorial I&amp;#8217;m giving at &lt;a href=&quot;http://conferences.oreillynet.com/et2007/&quot;&gt;ETech&lt;/a&gt; later this month.  It&amp;#8217;s a follow up to the &lt;a href=&quot;http://conferences.oreillynet.com/cs/os2006/view/e_sess/8942&quot;&gt;Web Heresies&lt;/a&gt; talk I gave at OSCON last July.  Both of these talks are about &lt;a href=&quot;http://www.seaside.st/&quot;&gt;Seaside&lt;/a&gt;, but they&amp;#8217;re not about how or why you should run out and use Seaside yourself - there just aren&amp;#8217;t that many prospective Smalltalkers out there.  Instead, you might say they&amp;#8217;re about Seaside&amp;#8217;s recipe, and what new ingredients it gets to use after taking the bold step of chucking the onion into the compost pile.  In the tutorial, I&amp;#8217;m hoping that we&amp;#8217;ll build some mini Seaside-style frameworks in Ruby, Python, and other dynamic languages.  I don&amp;#8217;t know how far we&amp;#8217;ll get, but at least whatever we make will be onion-free.&lt;/p&gt;
	&lt;p&gt;As an appetizer, here are some things I think are onions: template systems, hidden fields, meaningful query parameters, and sessions stored in databases.  Why?  Because we have, but aren&amp;#8217;t fully appreciating, these thermometers: CSS, RSS, fast CPUs with gigs of RAM, and smart load balancers.  What new ingredients do we get to use?  By far the spiciest of these is closures or blocks: it&amp;#8217;s amazing how much pain they can take away once you&amp;#8217;re committed to using them pervasively at the framework level.&lt;/p&gt;
	&lt;p&gt;I think it&amp;#8217;ll be a fun tutorial, and I&amp;#8217;m really looking forward to it.  See you in San Diego.
&lt;/p&gt;</content:encoded>
	<dc:date>2007-03-09T02:21:06+00:00</dc:date>
</item>

</rdf:RDF>
