<?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>has_many :thoughts: Tag RailsConf</title>
    <link>http://blog.kineticweb.com/articles/tag/railsconf</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Musings from a Ruby on Rails development team</description>
    <item>
      <title>My RailsConf 2008 picks</title>
      <description>&lt;p&gt;Here are my tentative selections for RailsConf 2008. Looking forward to everything!&lt;/p&gt;


Thursday:
	&lt;ul&gt;
	&lt;li&gt;Refactoring Your Rails Application&lt;/li&gt;
		&lt;li&gt;Developer Testing Tricks&lt;/li&gt;
	&lt;/ul&gt;


Friday:
	&lt;ul&gt;
	&lt;li&gt;Entrepreneurs On Rails&lt;/li&gt;
		&lt;li&gt;Hosting and the Woes&lt;/li&gt;
		&lt;li&gt;Faster, Better, &lt;span class="caps"&gt;ORM&lt;/span&gt; with DataMapper&lt;/li&gt;
		&lt;li&gt;&amp;#8220;Design Patterns&amp;#8221; in Ruby&lt;/li&gt;
		&lt;li&gt;UI Design on Rails&lt;/li&gt;
	&lt;/ul&gt;


Saturday:
	&lt;ul&gt;
	&lt;li&gt;Optimizing Rails&lt;/li&gt;
		&lt;li&gt;Asynchronous Processing with Ruby on Rails&lt;/li&gt;
		&lt;li&gt;Fast, Sexy, and Svelte: Our Kind of Rails Testing&lt;/li&gt;
		&lt;li&gt;Integration Testing with RSpec&amp;#8217;s Story Runner&lt;/li&gt;
		&lt;li&gt;Metaprogramming and Ruby Internals for Rails Programmers&lt;/li&gt;
	&lt;/ul&gt;


Sunday:
	&lt;ul&gt;
	&lt;li&gt;De-Railing: Smashing the Rails Stack&lt;/li&gt;
		&lt;li&gt;Oh the Fail I&amp;#8217;ve Known&lt;/li&gt;
		&lt;li&gt;Building an app in 48 hours &amp;#8211; A Rails Rumble Case Study&lt;/li&gt;
	&lt;/ul&gt;</description>
      <pubDate>Wed, 28 May 2008 21:16:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:07aa64bb-0106-4e20-9313-631dec00bbd9</guid>
      <author>Colin A. Bartlett</author>
      <link>http://blog.kineticweb.com/articles/2008/05/28/my-railsconf-2008-picks</link>
      <category>RailsConf</category>
      <category>railsconf08</category>
    </item>
    <item>
      <title>RailsConf 2008 - Justin's Schedule</title>
      <description>&lt;p&gt;Below is the schedule I came up with when going over the sessions available this year at RailsConf&amp;#8230; Going to try to make these, if not switch with Colin so we cover the conference well&amp;#8230; very glad to see some advanced classes! Would have loved a &lt;span class="caps"&gt;REAL&lt;/span&gt; advanced Rspec session though.&lt;/p&gt;


	&lt;p&gt;8:30am Thursday, 05/29/2008&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/1862"&gt;Meta-programming Ruby for Fun &amp;amp; Profit&lt;/a&gt;
Portland Ballroom 252&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/2650"&gt;Neal Ford&lt;/a&gt; (ThoughtWorks), &lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/2751"&gt;Patrick Farley&lt;/a&gt; (ThoughtWorks)
Ruby is the revenge of the Smalltalkers. Not since Smalltalk has a language had such powerful meta-programming facilities. While this may seem like a minor feature, it turns out that surgical meta-programming allows solutions to problems that are clearer, more concise, more maintainable, and take orders of magnitudes fewer lines of code. &lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/1862"&gt;Read more&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;1:30pm Thursday, 05/29/2008&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/1213"&gt;Powering &lt;span class="caps"&gt;AIR&lt;/span&gt; Applications with Rails&lt;/a&gt;
Portland Ballroom 252
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/467"&gt;Tony Hillerson&lt;/a&gt; (EffectiveUI), &lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/2576"&gt;Daniel Wanja&lt;/a&gt; (Nouvelles Solutions, Inc.)
Adobe&amp;#8217;s &lt;span class="caps"&gt;AIR&lt;/span&gt; platform offers developers familiar with web technology the tools to create desktop applications. Come and learn how to drive an &lt;span class="caps"&gt;HTML&lt;/span&gt; and a Flex &lt;span class="caps"&gt;AIR&lt;/span&gt; application with Rails using RubyAMF. &lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/1213"&gt;Read more&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;10:45am Friday, 05/30/2008&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/2495"&gt;Entrepreneurs On Rails&lt;/a&gt;
Portland Ballroom 251&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/4997"&gt;Dan Benjamin&lt;/a&gt; (Rails Machine)
Many of the people working with Rails are independent developers, doing freelance work or running small development shops. This makes sense &amp;#8211; Rails provides a great framework for an indy developer, making it easy to work with with designers and other developers. &lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/2495"&gt;Read more&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;11:45am Friday, 05/30/2008&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/2043"&gt;Hosting and the Woes&lt;/a&gt;
Portland Ballroom 255&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/1583"&gt;Ezra Zygmuntowicz&lt;/a&gt; (EngineYard), &lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/2863"&gt;Jamie van Dyke&lt;/a&gt; (Engine Yard), &lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/2866"&gt;Tom Mornini&lt;/a&gt; (Engine Yard)
What are the day to day issues with Rails hosting. How can they be solved, and what are the best practise methods of avoiding them. Engine Yard have extensive experience with high volume Rails applications and would like to talk about what we&amp;#8217;ve learned and what our customers have learnt. &lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/2043"&gt;Read more&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;1:50pm Friday, 05/30/2008&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/1883"&gt;Faster, Better, &lt;span class="caps"&gt;ORM&lt;/span&gt; with DataMapper&lt;/a&gt;
Portland Ballroom 256&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/2686"&gt;Yehuda Katz&lt;/a&gt; (EngineYard)
This session will cover using the DataMapper &lt;span class="caps"&gt;ORM&lt;/span&gt; with Ruby on Rails, and go in-depth into its code. It will focus on integration with Ruby on Rails and provide an advanced-level overview of the codebase and design philosophy. &lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/1883"&gt;Read more&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;2:50pm Friday, 05/30/2008&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/4342"&gt;Rubinius &amp;#8211; Under the Hood and Behind the Curtain&lt;/a&gt;
&lt;span class="caps"&gt;D135&lt;/span&gt;-136&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/13749"&gt;Evan Phoenix&lt;/a&gt; (Engine Yard), &lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/22997"&gt;Brian Ford&lt;/a&gt; (Engine Yard), &lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/13767"&gt;Wilson Bilkovich&lt;/a&gt; (Engine Yard)
Rubinius is a virtual machine built from the ground up to provide a robust, high-performance runtime for Ruby code. The Rubinius team is guiding the development of 20,000+ specifications that define the Ruby language. &lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/4342"&gt;Read more&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;4:25pm Friday, 05/30/2008&lt;br&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/1963"&gt;The Launch: Dos and Don&amp;#8217;ts of Real Life Deploys&lt;/a&gt;
Portland Ballroom 255&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/2518"&gt;Chris Wanstrath&lt;/a&gt; (Err Free)
There&amp;#8217;s more to launching an app than &amp;#8220;cap deploy&amp;#8221;&amp;#8212;the process is as much a psychological challenge as a technical one. So, what does it take to launch an app you can depend on and be proud of? With a handful of production launches under his belt, Chris will talk about the big picture and little details of bringing your site to life. &lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/1963"&gt;Read more&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;10:45am Saturday, 05/31/2008&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/2042"&gt;Assembling Pages Last: Edge Caching, &lt;span class="caps"&gt;ESI&lt;/span&gt; &amp;amp; Rails&lt;/a&gt;
Portland Ballroom 256&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/2594"&gt;Aaron Batalion&lt;/a&gt; (Hungry Machine &lt;span class="caps"&gt;LLC&lt;/span&gt;)
When working on scaling Rails to millions of users/day with complex personalization, caching becomes essential. This talk will cover edge caching, edge side includes (ESI) in Rails, and partial page caching higher in the stack. It will also cover &lt;span class="caps"&gt;ESI&lt;/span&gt; as a fabric for assembling heterogeneous applications into a single, cacheable web experience. &lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/2042"&gt;Read more&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;11:45am Saturday, 05/31/2008&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/1755"&gt;Advanced RESTful Rails&lt;/a&gt;
Portland Ballroom 252&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/1467"&gt;Ben Scofield&lt;/a&gt; (Viget Labs)
Designing RESTful systems in Rails carries many benefits. It is not a problem-free approach, however; there are accessibility issues with the standard conventions, and some functions are more difficult to map to resources than others. In this session, we&amp;#8217;ll look at solutions for these (and other) problems that arise when you take &lt;span class="caps"&gt;REST&lt;/span&gt; beyond the standard examples. &lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/1755"&gt;Read more&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;1:50pm Saturday, 05/31/2008&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/2031"&gt;Build Your Own Distributed, Self-Configuring Rails Cluster&lt;/a&gt;
Portland Ballroom 251&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/2833"&gt;Dave Fayram&lt;/a&gt; (Powerset, Inc), &lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/2520"&gt;Tom Preston-Werner&lt;/a&gt; (Powerset, Inc.)
Fuzed is a Rails server stack written in Erlang that can replace standard mongrel/reverse proxy architectures. It focuses on reliability and ease of deployment in distributed environments. &lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/2031"&gt;Read more&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;2:50pm Saturday, 05/31/2008&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/1871"&gt;Custom Nginx Modules: Accelerate Rails, &lt;span class="caps"&gt;HTTP&lt;/span&gt; Tricks&lt;/a&gt;
General Portland Ballroom 251&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/2451"&gt;Adam Wiggins&lt;/a&gt; (Heroku)
Got a Rails app that needs even more speed? Adam Wiggins of Heroku will show you how to write a custom Nginx module to bring blinding speed to critical code paths (and do &lt;span class="caps"&gt;HTTP&lt;/span&gt; tricks that can&amp;#8217;t be done with Rails and Mongrel alone), using examples from Heroku&amp;#8217;s own authentication module ngx_heroku_gate. Dust off your C compiler and prepare to push the limits of nginx, Rails, and &lt;span class="caps"&gt;HTTP&lt;/span&gt;. &lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/1871"&gt;Read more.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;4:25pm Saturday, 05/31/2008&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/1948"&gt;Metaprogramming and Ruby Internals for Rails Programmers&lt;/a&gt;
Portland Ballroom 256&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/2751"&gt;Patrick Farley&lt;/a&gt; (ThoughtWorks)
Rails programmers are Ruby programmers. In this session we&amp;#8217;ll cover some useful Ruby metaprogramming techniques as used in real world Rails applications and extensions. Then we&amp;#8217;ll dig deep into &lt;span class="caps"&gt;MRI&lt;/span&gt; and JRuby source to gain a nuanced understanding of the implementation details of Singletons, Mixins and the Ruby Object model. &lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/1948"&gt;Read more&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;10:45am Sunday, 06/01/2008&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/2021"&gt;Scaling Ruby from the Inside Out&lt;/a&gt;
Portland Ballroom 252&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/1583"&gt;Ezra Zygmuntowicz&lt;/a&gt; (EngineYard)
This is a talk about what it takes to &lt;strong&gt;really&lt;/strong&gt; scale Ruby applications. We will not only examine all the aspects of hardware and web server configurations, we will also look at scaling the ruby interpreter itself. Including performance quirks of &lt;span class="caps"&gt;MRI&lt;/span&gt; and how Rubinius is set to fix a lot of these problems. &lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/2021"&gt;Read more&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;11:45am Sunday, 06/01/2008&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/1945"&gt;Everyday DTrace on &lt;span class="caps"&gt;OSX&lt;/span&gt;: A Guide To Using DTrace for Your Full Application Stack&lt;/a&gt;
Portland Ballroom 251&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/2752"&gt;Scott Barron&lt;/a&gt; (EdgeCase), &lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/2696"&gt;Chad Humphries&lt;/a&gt; (EdgeCase)
Have you ever wanted to know why a part of your application is slow? How about how long that query takes? Wouldn&amp;#8217;t it be nice if you could get this type of information for ruby, rails, and the database server in one place? You can now with DTrace on &lt;span class="caps"&gt;OSX 10&lt;/span&gt;.5. We&amp;#8217;ll show you how to best use this tool-chain to debug, profile, and gather more information about your application. &lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/1945"&gt;Read more&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;1:50pm Sunday, 06/01/2008&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/1935"&gt;Building an app in 48 hours &amp;#8211; A Rails Rumble Case Study&lt;/a&gt;
Portland Ballroom 251&lt;br /&gt;
&lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/2321"&gt;Josh Owens&lt;/a&gt; (Intridea, Inc/Web 2.0 Show Podcast), &lt;a href="http://en.oreilly.com/rails2008/public/schedule/speaker/2024"&gt;Chris Selmer&lt;/a&gt; (Intridea, Inc.)
So you want to build a Rails app quickly? Competitors in the Rails Rumble had 48 hours to design, develop, and deploy a complete application. We&#226;&#8364;&#8482;ll take you through the development processes of the winning four-man Tasty Planner team, and compare it with those of the one-man Your Pet Records team. We&#226;&#8364;&#8482;ll discuss techniques, short-cuts, helpers, and Rails plugins that helped speed development. &lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/1935"&gt;Read more&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <pubDate>Wed, 28 May 2008 20:52:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:0ba193b0-24aa-467a-a485-9616d4296435</guid>
      <author>Justin Reagor</author>
      <link>http://blog.kineticweb.com/articles/2008/05/28/railsconf-2008-justins-schedule</link>
      <category>RailsConf</category>
      <category>Rails</category>
      <category>ruby</category>
    </item>
    <item>
      <title>Registered for RailsConf 08</title>
      <description>&lt;p&gt;Justin and I registered for RailsConf just the other day. I&amp;#8217;m excited of course. Last year was a great time. I learned a ton&amp;#8230; I hadn&amp;#8217;t even been using Ruby/Rails that much before then. So I think this year I&amp;#8217;ll get even more out of it. And having another team member along with me means we can double the sessions&amp;#8212;last year I was often disappointed that I had to choose between two equally decent sounding talks.&lt;/p&gt;


	&lt;p&gt;I again signed up for the first day of tutorials this year. Last year I ended up sleeping on a bench in O&amp;#8217;Hare and therefore missed my first tutorial. I&amp;#8217;m hoping on a better flying experience this year.&lt;/p&gt;


I picked:
	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/1962"&gt;Refactoring Your Rails Application&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/1993"&gt;Developer Testing Tricks&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


Justin picked:
	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/1862"&gt;Meta-programming Ruby for Fun &amp;#38; Profit&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://en.oreilly.com/rails2008/public/schedule/detail/1213"&gt;Powering &lt;span class="caps"&gt;AIR&lt;/span&gt; Applications with Rails&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;4 months, today, until the conf&amp;#8230;&lt;/p&gt;</description>
      <pubDate>Thu, 31 Jan 2008 07:02:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:466f7b40-7acc-4d43-a4b1-aba2a652d209</guid>
      <author>Colin A. Bartlett</author>
      <link>http://blog.kineticweb.com/articles/2008/01/31/registered-for-railsconf-08</link>
      <category>RailsConf</category>
      <category>railsconf08</category>
    </item>
    <item>
      <title>Skinny Controller, Fat Model</title>
      <description>&lt;p&gt;One of my favorite talks from RailsConf was by the team behind &lt;a href="http://www.therailsway.com"&gt;The Rails Way&lt;/a&gt;. Now back from the road trip and settled in, they have updated their site with some more details about one of the ideas they pushed: Controllers should be simple, basic, and generally have a lot less code then most of us use now. Most of your logic should end up in the model.&lt;/p&gt;


There&amp;#8217;s many reasons for this but the three I like the most:
	&lt;ol&gt;
	&lt;li&gt;It forces you to write code that more easily reused. Limits your temptation to copy/paste from one controller action to another.&lt;/li&gt;
		&lt;li&gt;Your templates can become more details. @order.total instead of @total (which would have to be mapped to something logic in the controller.)&lt;/li&gt;
		&lt;li&gt;The code is more easily tested. You can programmatically   access the results of the methods in your model without having to munge &lt;span class="caps"&gt;HTML&lt;/span&gt; output from a controller.&lt;/li&gt;
	&lt;/ol&gt;


	&lt;p&gt;&lt;a href="http://www.therailsway.com/2007/6/1/railsconf-recap-skinny-controllers"&gt;Their post&lt;/a&gt; has all the details and code samples.&lt;/p&gt;</description>
      <pubDate>Fri, 01 Jun 2007 21:07:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:f3c58e79-0490-4bc0-ab0a-7fbcd88131ff</guid>
      <author>Colin A. Bartlett</author>
      <link>http://blog.kineticweb.com/articles/2007/06/01/skinny-controller-fat-model</link>
      <category>Rails</category>
      <category>TDD</category>
      <category>RailsConf</category>
      <category>RailsConf07</category>
      <trackback:ping>http://blog.kineticweb.com/articles/trackback/36</trackback:ping>
    </item>
    <item>
      <title>RailsConf Wrap Up</title>
      <description>&lt;p&gt;Here&amp;#8217;s a wrap up of all my posts from RailsConf 2007. (The ones with actual useful substance, that is.)&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://blog.kineticweb.com/articles/2007/05/17/drying-up-views"&gt;DRYing up Views&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://blog.kineticweb.com/articles/2007/05/18/rails-2-0-details-from-dhhs-keynote"&gt;Rails 2.0 details from &lt;span class="caps"&gt;DHH&lt;/span&gt;&amp;#8217;s Keynote&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://blog.kineticweb.com/articles/2007/05/18/clean-code"&gt;Clean Code&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://blog.kineticweb.com/articles/2007/05/18/adding-tests-to-legacy-rails-apps"&gt;Adding tests to legacy rails apps&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://blog.kineticweb.com/articles/2007/05/18/reading-code"&gt;Reading code&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://blog.kineticweb.com/articles/2007/05/19/business-of-rails"&gt;Business of Rails&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://blog.kineticweb.com/articles/2007/05/20/splunk"&gt;Splunk&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://blog.kineticweb.com/articles/2007/05/21/dealing-with-designers"&gt;Dealing with Designers&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://blog.kineticweb.com/articles/2007/05/21/javascript-fu"&gt;Javascript Fu&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://blog.kineticweb.com/articles/2007/05/21/the-rails-way"&gt;The Rails Way&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;All in all, it was a fantastic convention. As can be expected, some presentations were better then others. Suggestions for next year include:&lt;/p&gt;


	&lt;ol&gt;
	&lt;li&gt;Better descriptions of the sessions and of the speaker&amp;#8217;s experience.&lt;/li&gt;
		&lt;li&gt;Perhaps repeating some sessions at multiple times.&lt;/li&gt;
		&lt;li&gt;Better planning of expected attendance at each session so proper room size could be selected.&lt;/li&gt;
	&lt;/ol&gt;


	&lt;p&gt;There&amp;#8217;s a number of talks I didn&amp;#8217;t get to see that I really wanted to. In the coming days, I hope to find their presenting materials online to see if there&amp;#8217;s anything I can glean.&lt;/p&gt;</description>
      <pubDate>Tue, 22 May 2007 07:24:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:04038886-a9f3-4900-9608-3ec0dad3ee39</guid>
      <author>Colin A. Bartlett</author>
      <link>http://blog.kineticweb.com/articles/2007/05/22/railsconf-wrap-up</link>
      <category>RailsConf</category>
      <category>RailsConf07</category>
    </item>
    <item>
      <title>The Rails Way</title>
      <description>&lt;p&gt;Sunday&amp;#8217;s morning keynote at RailsConf was by Jamis Buck and Michael Koziarrski, both committers to the Rails core. The format was quite useful: a series of short code reviews from a variety of submitters to their website, &lt;a href="http://www.therailsway.com"&gt;The Rails Way&lt;/a&gt;.&lt;/p&gt;


	&lt;ol&gt;
	&lt;li&gt;Jamis asked for a show of hands for who had read his &#8220;Skinny Controller / Fat Model&#8221; article. I, ashamedly, have not, but I intend to. I&amp;#8217;ve heard the &#8220;fat model&#8221; concept more and have been trying to emphasize putting as much as makes sense into the Model, and less into the controller.&lt;/li&gt;
	&lt;/ol&gt;


	&lt;ol&gt;
	&lt;li&gt;They mentioned how you can override the &lt;code&gt;#to_param&lt;/code&gt; method on an ActiveRecorded descendant in order to control what is used as the &#8220;id&#8221; string when building a &lt;span class="caps"&gt;URL&lt;/span&gt; in Rails. This would work perfectly with the pretty URLs I have been trying to use more and more.&lt;/li&gt;
	&lt;/ol&gt;


	&lt;ol&gt;
	&lt;li&gt;Jamis stresses how we should all strive to make our code &#8220;intention revealing&#8221;.  One of the beauties of Ruby is the flexibility and expressiveness it allows you. Wherever possible, we should structure our code to be readable and even self-documenting. And where our code does not clearly reveal our intentions, we should document liberally with comments.&lt;/li&gt;
	&lt;/ol&gt;


	&lt;ol&gt;
	&lt;li&gt;&lt;code&gt;#with_options&lt;/code&gt; seems to be a pretty slick little method that I have to try. It&amp;#8217;s a method on Object that allows you to prevent repeating the same options on a series of method calls.&lt;/li&gt;
	&lt;/ol&gt;


	&lt;ol&gt;
	&lt;li&gt;Many people forget to actually use the ActiveRecord associations they setup. For instance, instead of &lt;code&gt;People.find(:all, :conditions =&amp;gt; [&#8220;company_id = ?&#8221;, 99])&lt;/code&gt; one can do something like &lt;code&gt;@company.people&lt;/code&gt; which can make your code much more readable and DRYer, too.&lt;/li&gt;
	&lt;/ol&gt;


	&lt;ol&gt;
	&lt;li&gt;And finally, they showed a code example that used the &lt;code&gt;#returning&lt;/code&gt; method wrapped around several lines of code in a method that was to return something. Even after an explanation, I didn&amp;#8217;t quite get how this worked. So that&amp;#8217;s something to investigate.&lt;/li&gt;
	&lt;/ol&gt;</description>
      <pubDate>Mon, 21 May 2007 11:01:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:c2663f49-3271-4ab6-ac1e-dd5e17221516</guid>
      <author>Colin A. Bartlett</author>
      <link>http://blog.kineticweb.com/articles/2007/05/21/the-rails-way</link>
      <category>Rails</category>
      <category>ruby</category>
      <category>RailsConf</category>
      <category>RailsConf07</category>
    </item>
    <item>
      <title>Javascript Fu</title>
      <description>&lt;p&gt;Londoner Dan Webb, creator of the UJS4Rails.com website with plugins for Unobtrusive Javascript, presented about some tips and tricks for dealing with Javascript in Rails. He revealed that he&amp;#8217;s not maintaining the Unobtrusive Javascript plugin but instead has been focusing his free cycles on an extension to Prototype called LowPro.&lt;/p&gt;


	&lt;p&gt;I actually had a bit of a hard time following much of the technical nitty gritty of this talk. Mostly because my Javascript skillz are lacking. But also because it was packed as hell and pretty uncomfortable to sit still.&lt;/p&gt;


	&lt;p&gt;Dan did stress that we should all do a better job of making sure our Rails apps at least still function when Javascript is not available. He presented an example of an acquaintance who was unable to use any site using the standard &lt;span class="caps"&gt;AJAX&lt;/span&gt; frameworks because they all used the &lt;code&gt;eval&lt;/code&gt; function of Javascript which the corporate security nazis frown upon.&lt;/p&gt;


	&lt;p&gt;His recommendation was to think about how your app can work, albeit with reduced functionality, when Javascript is not available to the user. One should build their app without any AJAXishy features at first, and then layer on the Javascript, &lt;span class="caps"&gt;AJAX&lt;/span&gt;, and &#8220;interface sheen&#8221; as he called it. I agree, although I think a decision about how much functionality to provide fo non-javascript-enabled browsers needs to be carefully considered in the context of the project at hand.&lt;/p&gt;</description>
      <pubDate>Mon, 21 May 2007 10:56:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:886d46d3-93fe-4f90-985a-0e9107892276</guid>
      <author>Colin A. Bartlett</author>
      <link>http://blog.kineticweb.com/articles/2007/05/21/javascript-fu</link>
      <category>Javascript</category>
      <category>AJAX</category>
      <category>RailsConf</category>
      <category>RailsConf07</category>
    </item>
    <item>
      <title>Dealing with Designers</title>
      <description>&lt;p&gt;Well known blogger Amy Hoy presented about interaction between designers and developers. She claims to be both a designer and a developer and chatted about the processes that she and others use to successfully integrate the work of coders and artists. My take-away points:&lt;/p&gt;


	&lt;ol&gt;
	&lt;li&gt;Teaching your designer about Rails, even just a little bit, can go a long way to a successful working relationship. Get them comfortable with what they will expect to see in View templates when reviewing erb (or haml, etc.) templates created by the Rails developers.&lt;/li&gt;
		&lt;li&gt;Have the designer use subversion (or &lt;span class="caps"&gt;CVS&lt;/span&gt;, in our case&amp;#8230;. for now). If the designer is using &lt;span class="caps"&gt;OS X&lt;/span&gt; (as most are), it won&amp;#8217;t take more than a half hour lesson to educate them as to the virtues of source code control and the how-to of checking out, checking in, updating, etc.&lt;/li&gt;
		&lt;li&gt;Design cannot be an afterthought. Get the designer involved &lt;strong&gt;early&lt;/strong&gt; in the process so that their perspective can be incorporated into the decision making process as much as possible.&lt;/li&gt;
		&lt;li&gt;Use wireframes to mock up the pages of your site. The wireframes can start as simple as napkin sketches, but should ultimately be fleshed out in some kind of box/text format. This is far quicker then any kind of direct-to-Photoshop process. &lt;/li&gt;
		&lt;li&gt;There are several &#8220;hand off&#8221; points that can be utilized to switch the process from designer to developer. This was sort of a no-brainer. Obviously, some designers can handle &lt;span class="caps"&gt;HTML&lt;/span&gt;, others can&amp;#8217;t, and the process of cutting Photoshop files down to &lt;span class="caps"&gt;HTML&lt;/span&gt; and &lt;span class="caps"&gt;CSS&lt;/span&gt; can either be handled by the developers or designers. I would love to find a really good designer that embraces &lt;span class="caps"&gt;XHTML&lt;/span&gt;/CSS as much as I&amp;#8217;d like them to. But until that point, I think we&amp;#8217;ll stick to doing the HTMLification ourselves.&lt;/li&gt;
	&lt;/ol&gt;</description>
      <pubDate>Mon, 21 May 2007 10:54:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:be88038b-1394-4f9e-841a-e9ca989be5da</guid>
      <author>Colin A. Bartlett</author>
      <link>http://blog.kineticweb.com/articles/2007/05/21/dealing-with-designers</link>
      <category>Business</category>
      <category>design</category>
      <category>RailsConf</category>
      <category>RailsConf07</category>
    </item>
  </channel>
</rss>
