QCon London – Summary

All in all, QCon London this year was amazing. I find it interesting that from the first time I attended QCon I thought they were exceptionally good. And every time they keep getting better. Of course, it is fantastic to be able to meet all these great people at the conference, and you get lots of chances to hang out with them, ask questions and have discussions. But if you take a look at the presentations offered, they all feel very fresh and the quality is consistently of a very high level.

I think the system of having track hosts that put together their own track is a fantastic idea, and I think it might be one of the reasons that there are ALWAYS more than one presentation going that you want to see.

The fact that the QCon crew from InfoQ and Trifork are all lovely people is not a negative either.

If you haven’t visited QCon, I really think you should. It is really very good, and I’m privileged to have been asked to present there more than once. I always have a great time and I hope I will be able to continue to come back there.

QCon London – Friday

The last day of any conference can sometimes get a weak schedule, since many organizers feel that people have a tendency to be wiped out after all the previous days of conference, and won’t be able to focus as much on the last day. Luckily, QCon and JAOO never does this – the last day is generally at least as strong as any other day. This time around I felt it was a very good day indeed. I saw Stefan Tilkov do a very deep presentation on his thoughts on the balance between generic and specific in architecture and development. Stefan shared his long experience in a funny and thoughtful way that contained lots of interesting insights. After that I managed to catch the last 10-15 minutes of Joe Armstrongs talk about Erlang. This talk was focused on systems that never stop, and Joe’s presentation was based on this, which changed the focus a bit. Sir Tony Hoare was in the audience during this talk, and one amusing moment was when he asked Joe a question about the tradeoff between timeouts and failing fast. Great stuff. This only happens at QCon and JAOO. (As an aside, the evening before I got the chance to sit down and have beers with Steve Vinoski, Joe Armstrong and Rich Hickey. This never happens at other conferences either.)

After the presentation, Hoare asked me if I was interested in being part of a panel during his after-lunch presentation. The presentation was about null references, which Hoare calls his billion dollar mistake. To be fair, I think it was one of those inevitable things, that would have happened sooner or later anyway. Ulf Wiger became part of the discussion, and presented a much better defense than my point about inevitability.

In the DSL track, Amanda Laucher gave a good overview about what Oslo is and why you might want to use it. What I was looking for here was just enough of a look at the tech to see if this is something worth investing more time in. My conclusion was that at this point in time, it doesn’t seem to give me much new that would help me. Especially the Mgrammar stuff seemed to be a not-invented-here copycat of Antlr. Martin corrected me about that, though, by pointing out that Mgrammar actually handles GLR grammars. My intuition is that ANTLRs LL(*) would be able to handle most of the same parses, but that’s not something I would bet money on. Mgrammar also doesn’t need semantic predicates to avoid left recursion, which can make the grammars more readable.

The last time slot of the day I spent doing some hacking, and peeking in at Glenn Vanderburgs presentation on DSLs in Ruby, which gave a good overview of the available techniques.

The day ended with the totally hilarious Bullseye panel, where my totally insane colleagues Dan North and Jim Webber hosted a gameshow combining darts and zany questions to a panel of Michael T Nygard, Ian Robinson, Martin Fowler and Steve Vinoski. To many great moments to even start to describe, but if I had to choose one, it would probably be Ian Robinsons answer to the question about what tech has the worst man boobs. Ian’s response basically said that the problem wasn’t the man boobs, but that he couldn’t actually get close enough to touch them without lots of clothes getting in the way. Lovely metaphors there.

QCon London – Thursday

I started the second day quite late. There were a few sessions I wanted to see there but not enough to get out of bed early enough. After lunch I saw parts of David Pollaks talk on Lift. Lift is definitely impressive – you can achieve very powerful things very quickly with it.

After that, I saw Rich Hickey talk about Persistent Data Structures. This was without doubt the best presentation at QCon this year. Rich spent lots of time talking about identity, state and value. It was very good – you should go to http://qconlondon.com/london-2009/schedule/thursday.jsp and take a look at the slides for it. It is pretty deep stuff. I heard many other people share my opinion of the quality of this talk. QCon and JAOO could do much worse than getting Rich back for the next time.

Overall, I spent most of the Thursday having chats with interesting people instead of watching presentations. It was a good day in many ways, especially due to Rich’s talk.

QCon London – Wednesday (Emerging Languages)

The first day of the proper QCon conference started out with Sir Tony Hoare doing a keynote about the difference and overlap between the science and engineering of computing. Fairly interesting, but the questions and answers were much more interesting stuff. One of the more interesting points made by Hoare was that in his view, a full specification is a generalization of testing. After the keynote I started out my track called Emerging Languages in the Enterprise. I introduced this track, doing 15 minutes of talking about my views on programming languages. The slides for my piece can be found here: http://olabini.com/presentations/ELITE.pdf. My talk was made much more interesting by Tony Hoare being in the front row. That made the whole thing a bit more daunting, obviously… =)

I then spent the rest of the day in my track – which was very good. I am very happy with all the presentations, and felt the track was a great success. First of was Michael Foord, talking about IronPython, and how Resolver uses IronPython to create a great product. Some interesting lessons and information there.

After lunch Jonas Bonér talked about Real-world Scala. The presentation gave a good grounding in Scala without looking at all small details – instead Jonas talked about more high level concerns and styles.

After that, Rich Hickey did a great presentation about Clojure. Rich did a great presentation, talking about Clojure from the ground up. It was very well received.

Martin Fowler did a fantastic presentation on ThoughtWorks experience with Ruby. The room was packed for this.

The final presentation in my track was Attila Szegedi talking about JavaScript in the Enterprise. This was also a great presentation, and gave me some new insight into what you could achieve with Rhino.

All in all, the full track was excellent, and all the presentations achieved pretty much what I hoped from them. I learned a lot from all of them.

After the final session of my track, Martin Fowler and Zach Exley did the evening keynote, talking about how technology helped the Obama compaign. Very interesting stuff too. At the end of the day, a very good day at QCon.

QCon London – Tutorials

The first two days of QCon London were tutorials. I didn’t actually spend all my time there, since I had to get back to our office at some times too. On the Monday, I attended Jim Webbers tutorial called GET connected, which talked about different ways of using the web for distributing and separation functionality, where REST style SOA is part of it, but also other things like POX. It was a very information rich session, and in the end Jim had to skip several things that I would personally have been interested to find out more about, such as different ways to handle security, and so on. At the end of the day, it was a very good tutorial, but the material was really too much for one half day.

I spent the rest of the day in the office, reconnecting with lots of colleagues. Lovely.

Tuesday I spent running between several tutorials. The morning was mostly in the Advanced Ruby tutorial by Sam Aaron, which was overall very good content. I think I might have ruined it for Sam a bit by sitting there and being annoying. The only thing that could have improved the tutorial would have been some more advanced material in the pieces on functional programming – not that the material Sam was using was bad, it was just a bit more basic than the rest, which made it feel a bit uneven.

In the afternoon, I spent some time in Dan Norths tutorial on BDD. His material is riveting and very useful. In fact, it was so riveting it was hard to find a place to sit, so I ended up not staying the whole time. I then sat down for a while in Joe Armstrongs tutorial on Erlang. Also good stuff, but it was material I already knew. So at the end of the day I went back to Sam Aarons talk on Ruby Aesthetics, which ended up sparkling several really interesting discussions.