Canada on Rails: Opening keynote: David
13 Apr 2006Watching David Heinemeier Hansson
give the keynotes at .ca on rails.
My notes in italics
- “It’s early” (it’s 11:15 his time).
- Nothing as easy as GEMs, even for dynamic languages like Python :(.
- Book explosion: 16 new rails books this year. Last year there were only 4 on ruby at all.
- Mainstream journals have picked up Rails (e.g. eWeek). Quite a few mentions on /.
- IBM writer doing one article on something, then an article on Rails, one article on something, then Rails agian. Good pattern.
- Awards: O’Riely, then RadRail’s award. JOLT award
- All this indicative on an ecosystem. Critical mass.
- Screenfeld of people that have committed a patch.
- Has been accused of being arrogant, he’s cool with that. He had a “exaggerated sense of one’s own importance or abilities” about Rails. 2 years ago Rails better than other solution in market. 50 revisions of David’s wikipedia page removing and readding “David is widely considered to be extremely arrogant.”
- “Mostly doing this for me”. So he doesn’t have an problem with saying Fuck You
- Rails is saying FU to a lot of things other solutions want to do.
- FU to having a smart db. FU to everything should configurable. Way too much objectivity, not enough subjectivity.
- Rails has lots of opinions on how to do things. (_He saying sell the stack as a product rather than a wild open solution_)
- Not going to OpenACS or Zope. Represent a mindset that dev should be painful and avoided at all cost. Thus they use components
- I’m hungry no breakfest, maybe sushi for lunch
- Don’t like the results of putting components together.
- Rails == what most people want most of the time.
- Todo list on 3 sites, but each is different in subtle ways. Rather than making a TODO component and ignore the diffs, abstract on a lower level: acts_as_list.
- “WS-(deathstar)”: “I can about little things, like not going insane”
- Care about ourselves, care about small teams doing big things, not enterprise happy (Yeah! (said like a 5 year old)).
- No vender, DIY.
- WHERE ARE WE ACTUALLY GOING: Who knows?
- It’s all about abstractions. Not about a roadmap. All the interesting features in 1.1 no idea he’d ever do.
- Probably not what some of you wanted to hear, so (shows roadmap of 1.1.x – bugfix, 1.2.0, then 2.0.0)
- Deprecation: 2.0 is where we settle the score. Get rid of the baggage. 1.2.0 will put warnings in the log file.
- If your app is working fine let it sit there.
- Rails about infrastruction, not about biz logic.
- Things going away (really becoming a plugin):
- Components (use plugins)
- JavaScript Macros
- Pagination (not everyone wants the same pagination)
- Rich has and belongs to many (use Join Models in 1.1)
- Action Web Service
- Plugin: saying no to ideas without really saying no. Do not burden core. Eariler he talk about features in Rails that they get lots of bug reports on but none of core team use or care about.
- Do more of:
- use HTTP features, like caching. How do I know when I want to expire the cache. acts_as_timestamp
- REST
- Google Web Accelerator guys morons. Designing for world that doesn’t exists.
- make a link that does a POST. Fix HTML problems (_Wish they could fix bloody HTTP auth_).
- exposing REST api. Need a single controller map two resources “/articles/” and then “/article/1”. Something committed last night.
- entities (”/article/1”) can be worked on via verbs
- _If you are interested in this go read this article on REST_
- Making the rest of Rails see everything as a REST-style request, and making browser base resquest look like REST to the framework.
- Optional. If you follow convention you get a lot of stuff for free.
- In SVN
- One more thing. Campfire scales because bits are written in C.
- Thus Armageddon, Push with AJAX. Show demo. Control browser from command line. Turned h1 green.
- Updated DB, and change propagated to another browser window.
- Uses reusable 1×1 flash to open a socket.to push RJS (_???_) down. Don’t have to write a line of Flash.
- I need a mac to use SubEthaEdit
Q&A:
- what’s diff between components and plugins? Size and if includes views and …, permission system is a component, not a plugin… too big. People spend too long on getting plugins up and running when they could write it themselves quicker. People coming to rails with battle scars of what Software Dev used to be.