13 Apr 2006
Sorry fighting with apache during this talk so not quite as good notes as the last talk
Joe O’Brian on SOA
- clear your mind
- SOA is a pattern
- Rails not going to hide HTTP/HTML. Understand the underlying stuff
better than ASP/java guys.
- Let’s not rebuild everything (working with legacy stuff)
- working with legacy stuff
- Rails is agile (see picture)
- able to respond to change
- Well defined interface
- sometimes must use SOAP.
- idea of magically discovering service. Forget that.
- must be context free.
- XML is not evil.
I don’t know what the heck this guy was talking about except maybe “SOA is this idea you can use”
#canada-on-rails
13 Apr 2006
Watching 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.
Canada on Rails Campfire Room
Canada on Rails Flickr Pool
#canada-on-rails
13 Apr 2006
So…. banks suck. I arrive here late at night and misremember my pin, and they lock out my card. That feels good. Call up my bank and they are closed. Fortunately a call to Laura sorts out something that works. 40 Canadian pesos out of the ATM and I can get to the hotel.
Vancouver is this dark black hole. I’m sure this has nothing to do with the fact it’s night time. I’m sure it is always like this… dark. Lights on the edge of blackness. I fully expect to find a black hole out there in the morning.
Get off the airplane and someone behind me starts singing “Blame Canada”.
So, this thought went thru my head: Python = Snake, speaking snake is Parseltongue, Ruby = Red, Red = Gryphindor’s color, Harry Potter wears glasses, I wear glases, I also speak python and hang out with the Ruby guys…. so I’m the Harry F-ing Potter of Rosetta Stone?
Tomorrow I join the Royal Canadien Kilted Yaksmen or see David Heinemeier Hansson, one of the two, it’s becoming fuzzy.
12 Apr 2006
I’m in IAD airport on the way to Canada on Rails. I have gummi bears (Haribo, to be exact. the good kind), coke (I don’t drink caffeine often so lightweight there too), iPod, the Rails book and a laptop. Noticably missing is internet because T-Mobile wants $10 for the hour I would be here (note to self: find out of RS has an account with them).
The camera is in my checked baggage or I’d share one with you to share the dullness.
My rental car to get from the 'burg to IAD was an upgrade. Asked for compact, got the luxury (2006 Buick something-or-other). Very nice ride.
Next stop is Phoenix (!!), going to see if I can get Collaboa up and running replacing the svn swig wrapper with some Ruby DL code.
12 Apr 2006
So I have a new job that started two weeks ago. I’m now a web developer at Rosetta Stone . Their website is built using Ruby on Rails, so I’m someone is paying me a to learn a new language, can’t get any better than that.
Also the team I work with kick ass. Unlike my last few jobs where I was the only coder/techie person physically there, I’m part of a team of 8 people, all of whom bring their own style of hotness to the group (hot being the word of highest praise).
One of the things they do in a job interview is an IQ test. They are moving away from having a hard go/no go score when they give these out, but as you talk with people around the company you can feel the collective mental powers radiating everywhere. Worse some of them are married to each other and they will soon have brainaic children that will no doubt enslave the world.
I’ve spent most of the 5 weeks getting Trac up and running for our team and adding custom fields and reports for what we need to do. When I got to the project the team had three “todo” lists: product/sprint backlog in Excel stored in SVN (we use the Scrum team management method), Bugzilla for formal QA, and Quickbase (an ASP intuit offers for business forms). A mess. The backlog has moved into Trac, but I don’t know if trac can elegantly accommodate Bugzilla and the Quickbase stuff. We need very different fields for these tickets and trac has the same fields for all ticket types. Subtickets would be really nice too.
I have done some Rails stuff, and the main trouble there is deployment. We use Apache + FCGI in the production site, and the built in ruby web server for development, but we have two rails apps that make up our site. The few changes I’ve had to make spanned these two apps and made testing them quite a pain.
#career