<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>notkeepingitreal.com: David Heinemeier Hansson Keynote</title>
    <link>http://notkeepingitreal.com/articles/2006/06/26/david-heinemeier-hansson-keynote</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>David Heinemeier Hansson Keynote</title>
      <description>&lt;ul&gt;
	&lt;li&gt;Dave Thomas&amp;#8217; &lt;strong&gt;suggestions&lt;/strong&gt; were good, but not necessarily the &lt;strong&gt;tone&lt;/strong&gt; of his message.&lt;/li&gt;
		&lt;li&gt;Sometimes people say that we should be operating more in the &amp;#8220;real world&amp;#8221;. But I&amp;#8217;m pretty confident &lt;strong&gt;not&lt;/strong&gt; living in the real world. That way we&amp;#8217;re not subjected to the same constraints that people in the real world experience.&lt;/li&gt;
		&lt;li&gt;Rails has been doing quite well recently&amp;#8230;&lt;/li&gt;
		&lt;li&gt;&amp;#8220;But this talk is not really about gloating, it&amp;#8217;s about &lt;span class="caps"&gt;CRUD&lt;/span&gt;.&amp;#8221; &lt;/li&gt;
		&lt;li&gt;Not only does &lt;span class="caps"&gt;CRUD&lt;/span&gt; have a bad name, it also has a bad reputation.&lt;/li&gt;
		&lt;li&gt;Recently, there has been a bit of a renaissance in the http space &amp;#8211; &lt;span class="caps"&gt;POST&lt;/span&gt; and &lt;span class="caps"&gt;GET&lt;/span&gt; are not good enough any more! We need the &lt;span class="caps"&gt;PUT&lt;/span&gt; and &lt;span class="caps"&gt;DELETE&lt;/span&gt; verbs as well.&lt;/li&gt;
		&lt;li&gt;So now we&amp;#8217;ve got for_form(:person, :method =&amp;gt; &amp;#8216;put&amp;#8217;) to do the update, and the &lt;span class="caps"&gt;URL&lt;/span&gt; looks like /person/1 (look ma, no /update!)&lt;/li&gt;
		&lt;li&gt;&amp;#8220;Decisions are bad&amp;#8221; &amp;#8211; with conventions, we don&amp;#8217;t need to waste valuable brain cycles on the silly stuff. Constraints are liberating.&lt;/li&gt;
		&lt;li&gt;has_many :though has given us the ability to &lt;strong&gt;give a name&lt;/strong&gt; to an abstract thing that used to be just a cross table between a many to many relationship.&lt;/li&gt;
		&lt;li&gt;Model beyond &amp;#8220;things.&amp;#8221; We can have models and controllers for things we can&amp;#8217;t touch, like subscriptions and memberships.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;&lt;em&gt;Man, there&amp;#8217;s something really eerie about this guy wanting us to do everything his way&amp;#8230;&lt;/em&gt;&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;If you&amp;#8217;re building a new rails app and you want to use composite primary keys, &lt;strong&gt;you&amp;#8217;re insane&lt;/strong&gt;.&lt;/li&gt;
		&lt;li&gt;We&amp;#8217;ve been so successful because we &lt;strong&gt;have&lt;/strong&gt; been so opinionated.&lt;/li&gt;
		&lt;li&gt;But additionally, although rails will have many opinions, it is still possible to do things your way. It&amp;#8217;s like ruby, where you can go right ahead and call private methods using .send(:some_method) if you know what you&amp;#8217;re doing.&lt;/li&gt;
		&lt;li&gt;&lt;span class="caps"&gt;URL&lt;/span&gt; extensions are great? Sure! index.php isn&amp;#8217;t great, because it exposes your implementation details for no reason. But index.rss&amp;#8230;now that&amp;#8217;s hot.&lt;/li&gt;
		&lt;li&gt;ActiveResource is not done yet and he&amp;#8217;s been working on it for two days. Seems like a long time.&lt;/li&gt;
		&lt;li&gt;&amp;#8220;As I&amp;#8217;ve been messing around with these new verbs and this ActiveResource stuff, I&amp;#8217;ve found that it&amp;#8217;s just so easy; it&amp;#8217;s not painful, it&amp;#8217;s not like soap.&amp;#8221;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;&lt;em&gt;Good talk dude. Over at &lt;a href="http://loudthinking.com"&gt;his blog&lt;/a&gt;, you&amp;#8217;ll find plenty more where that came from.&lt;/em&gt;&lt;/p&gt;</description>
      <pubDate>Mon, 26 Jun 2006 03:45:00 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:0723b1af-236f-482b-85ef-98ec4a1cf1fc</guid>
      <author>Kevin</author>
      <link>http://notkeepingitreal.com/articles/2006/06/26/david-heinemeier-hansson-keynote</link>
      <category>Railsconf</category>
      <trackback:ping>http://notkeepingitreal.com/articles/trackback/30</trackback:ping>
    </item>
  </channel>
</rss>
