Tag Archives: Rub

eRubyCon 2008 Day 1

image I’m sitting here at the second Enterprise Ruby Conference (eRubyCon). There’s a couple of fun and interesting things that have happened this year.

One of them that’s exciting for me is that the whole event is being hosted at the Microsoft facilities in Columbus, OH. Joe O’Brien was looking for a facility so I offered up the office since we can get that for free. There are some minor facility issues, such as the internet access is fairly limited due to the Microsoft security policies. We got that mostly sorted by renting a number of cell card based routers from iBox2Go. It’s not a perfect solution because we’re at about double the recommended number of users per router. That’s caused network to be a touch spotty but it’s better than non-existent.

Another thing that’s a ton of fun is that we’ve doubled the number of attendees. The conference room here at the Microsoft office is FULL. Tomorrow I’ll show some pictures from the conference room. It’s really cool to see.

0815081326The whole event is going very well. Joe has been plagued with speakers having travel issues and the like. For example, Stu Halloway was supposed to do a lunch time keynote but was thrown off as his plane had mechanical issues. The great news is that this is an Agile conference and everyone is used to requirements changing mid-project and Joe was able to shuffle the speakers.

 – First up was Randall Thomas from the Engine Yard. He was talking about ETL (Extract, Transform, Load). He did a masterful job of making that important topic interesting and fun. It’s a fundamental topic but even Randall equated it to Bob Ross painting trees and it was tough to keep people awake talking about the best possible way to make one string into two and two into one…

– Next was Tom Mornini. I wish I had been able to stick around for this talk. He talked heavily about Vertebra, Scalability and Accountability.

Anthony Eden followed Tom with a session on Identity Management. It was interesting to hear his take on OpenID, InformationCard, SAML and how Ruby works with those. The good news for Ruby is that it does really well with and is leading the way with OpenID. The bad news is that the things that are done inside of an enterprise are a little less prevalent in the Ruby at the moment. It was a great tutorial on the state of

Giles Bowkett talked about Meta-Programming vs. Code Generation. He had a fun and deep tirade on something called Monkeypatching.

“A monkey patch (also spelled monkey-patch, MonkeyPatch) is a way to extend or modify the runtime code of dynamic languages (e.g. Smalltalk, Javascript, Objective-C, Ruby, Perl, and Python) without altering the original source code.” – http://en.wikipedia.org/wiki/Monkey_patch

This is meta-programming at it’s finest. He then went on to talk about meta-monkey-patching or meta meta programming… Somewhere in there I got a headache. That’s about the time that he brought it back to Code Generation. My favorite quote, other than “Here’s a completely gratuitous picture of Jessica Albert” (which did come with a gratuitous picture of Jessica Albert…) ” “Should I hire a programmer or should I just write one?”. He gave an example of a past job at NY Times where he left after he wrote a “mini-giles”. That’s a code generator that did much of what he had been doing until he wrote the generator. The “mini-giles” meme has really taken off since then and has been worked into a ton of the talks and conversations…

Stuart Halloway followed Giles with a keynote called “Ending Legacy Code in Our Lifetime”. He had one of the better starts that I’ve ever heard – “Legacy Code is like Porn. I know it when I see it. It’s ubiquitous on the internet. And like all porn, it’s ultimately unsatisfying”. (At least he has it on good authority that porn is ultimately unsatisfying). One of the things that Stuart points out is that code can be broken down to Ceremony and Essence. The Essence is what you actually want to get done. The Ceremony is the stuff that you have to do in order to have the Essence work. For example, if you have gone from “New” on an object to writing factories – the reality is the factory is Ceremony. End of the day, all you really wanted is an object.

Another great quote from Stuart was “Ceremony leads to fear. Fear leads to anger. Anger leads to pain. Pain leads to Ceremony.” The goal, according to Stuart, is to have as little ceremony as possible and have every line of code contribute to the Essence. And right now, Ruby is the closest answer as it’s got a fairly high Essence to Ceremony ratio.

His talk was chock full of great quotes – “What authority authorizes this in the Ruby world? – ME – and I’m Right”. It was full enough of great quotes that there’s a Stu Halloway Quote Tracker.

– Brian Sam-Bodden, always a great speaker, closed out the day with Refactoring with JRuby. He talked about the core of refactoring is having a great suite of tests. One of my favorite quotes from him was “Since I’m a Java consultant, I have a lot of work to do…”.

Overall, it was a great day. I really enjoyed catching up with a lot of the guys that I don’t get to see at the .NET community events. I’m hoping that most of these guys will be at CodeMash cause that will give me 2 times a year to hang out.