Oredev 2011 - review
Wow! It was a packed three days in Malmo, Sweden for Oredev 2011. A great event which I thoroughly enjoyed. The information is still running around my head, and there's so much I want to dig into I've no idea where I'm going to find the time. To help me remember more than anything else, here's my Oredev experience in brief:
Day 1
The morning keynote was by Alexis Ohanian, the co-founder of Reddit. An amazing talk with so much passion and energy and truly inspiring about putting the customer front and center to build better apps. One great quote:
The world is not flat but the web is.
Onto the sessions, I start with Seb Lee-Delisle showing us some cool Javascript and Canvas live programming. He's also a co-presenter of the Creative Coding podcast which I've now added to my podcast playlist!
Next up Chris Patterson of Topshelf and MassTransit fame (I love these tools by the way!) talks about developer productivity, followed by Seb Lambla with a walk through ReST using a unicorn called Resty Galore going on a James Bond-like adventure. Trust me, the analogy worked!
Phil Haack continues the afternoon sessions talking about MVC4, HTML5 and jQuery mobile. It almost came to an abrupt halt when the WiFi network was slow and pulling down the dependencies via NuGet which wasn't working. But Phil is a pro and he found the jQuery library locally to get back on track.
My first functional language talk of Oredev was by Heiko Seeberger on Scala. I have played with Scala but this was a really good intro into the language and something I will see if I can continue in the weeks and months ahead.
The last session of the day was on Node.js. One of the possible uses is the server-side for WebSockets. So I'm thinking on trying this out with something like SignalR + Node.js to do something interesting. What that might be I'm still a little sketchy!
The day rounds out with a closing keynote, this one by Neal Ford from Thoughtworks about "abstraction distractions". Another thought provoking talk:
don’t mistake the abstraction for the real thing!
Day 2
Dan North's keynote starts the day talking about "embracing uncertainty". In short, we are optimising for certainty
we'd rather be wrong than uncertain.
Another excellent keynote but a word of warning: we will fail! Dan explained how we can change by embracing uncertainty, but then goes on to say we won't because of attribution bias, confirmation bias and bias bias! Too bad.
Tomorrow Dan has a talk continuing this theme: I make a note to be sure to make it to that session!
The next three sessions follow a bit of a theme: Greg Young talking CQRS, Event Sourcing by Rickard Oberg then all about Enterprise Service Bus with Udi Dahan. Greg's was the only talk I went to where there was no presentation (powerpoint or otherwise)! It was just him talking for 45 minutes. It was undoubtedly quite a feat, but for some reason this was probably my least favourite talk of the conference. I think I need to learn more about CQRS and then I'm sure what Greg was talking about would make sense.
Into the afternoon Marc Gravell gave us the inside scoop on how Stack Overflow pushes .NET performance up a notch. Making distributed teams work was the next up, but I'm still to be convinced that distributed teams work well. The day rounds out with Mark Rendle showing us WinPhone7 and Azure. Pretty cool stuff, but my head is now starting to hurt.
Day 3
Same as the previous two days, we start with a keynote, this one from Jeff Atwood from Coding Horror and Stack Overflow. He gives us his thoughts on community along with parallels with gaming. Good stuff.
Glamour and tech perhaps don't go hand in hand, but F1 is certainly glamorous so I go to hear about software development in F1 by Luca Minudel. Interesting work. Java7 is up next with Mattias Karlsson leading us through the new features shipped and also what we can expect in Java8. The big question for me is how is the Oracle - Google case going to pan out? Uncertain times.
Following on from day 1's Scala session, the next two sessions continue the functional theme: Functional Javascript by Anders Janmyr then a real treat: Simon Peyton Jones introduces Haskell. It was an awesome talk. I don't know that I really "get it" but it was awesome!
Before the final keynote, the last session is that continuation of Dan North's keynote; this time he talks about the patterns of effective delivery. Perhaps as a side-effect of the keynote, this session was absolutely packed: standing room only. Dan doesn't disappoint and gives a fantastic talk. Just to give a flavour, he talks about a pattern called "spike and stabilise". He mentions the team he's working on isn't afraid to copy and paste a chunk of code even though at the time you're clearly violating the DRY principle. But as the code evolves, duplication is removed: "you eventually become DRY". It can be OK to start a little wet then become DRY over time. Fantastic.
I have to add another one of his stories about the Dreyfus model of learning and being an Expert. Consider a recipe book. There's a detailed recipe for a chocolate cake that lists all the ingredients, weights and measures then the next section there's a recipe for ginger cake and it reads: 'like chocolate cake but with ginger'. Wow. That's what it means to be an expert at something; it’s not just about following rules, but having a intuition about how it will work.
It's sad, but there's has to be an end. The closing keynote though finished on a high with Amber Case on anthropology and the future of the interface. The one outstanding story from the talk was about Steve Mann who has gone the whole way with augmented reality and wears his computer. Instead of seeing advertisements on the street, his software overlays stuff he cares about, such as notes or shopping lists. Really crazy stuff.
My flight doesn't leave until Saturday morning so I get to stay in Malmo for one more night. An excellent trip; now time to get some sleep and actually start playing with some of the stuff I've heard about!
