I spent the week of July 25th in the Oregon Convention Center. No, it wasn’t a secret SQL Server event; I was at OSCON. OSCON is the Open Source Convention hosted by O’Reilly (you may know them as the publisher with animals on most of their books). The best part is that I wasn’t just attending – this year I was one of the small number of speakers who were selected to speak at OSCON (only 1 in 7 were selected).
Speaking: Refactoring SQL
I spoke about Refactoring SQL (PDF slides). I’ve given this talk a few times in the past and this was by far the most comfortable I’ve been with the material as well as the most nervous I’ve ever been. The room I was in seemed like a cavern, but could probably hold around 300 people. By the time I started talking, it was around 40% full.
I’ve received 3.33 stars out of 5 over 9 ratings. I’m secretly hoping more people will pop in and rate me a 5, but I’m not holding my breath. A few people didn’t learn anything in the talk – I’m sorry. A few people learned a lot – WOOHOO! A lot of people said they loved my slides – hell yeah!
To everyone who attended my talk: thank you. I appreciate it. The slides are online, so download them and take a look. A few people stuck around to ask questions, offer suggestions, and just say “thanks for presenting.” A double thanks to you folks.
OSCON was split into three separate conferences this year – the main OSCON track (Wednesday through Friday) and then two new mini-conferences on Monday and Tuesday (OSCON: Data and OSCON: Java). As a speaker, I got access to the entire week, so I went hog wild and attended every session that I could.
Instead of writing up every session that I attended, I think it’s better to run over the themes that I noticed as I went from presentation to presentation.
The First Theme: Technology Doesn’t Matter
You might think that speakers would be pushing their favorite technology, language, or library through a technology conference. In this case, you’d be wrong. Throughout keynotes one message was clear: technology doesn’t matter. There was a focus from Microsoft, Google, and a host of other companies that the technology stack wasn’t as important as choosing the right tool for the job and making your data available through well-documented APIs, protocols, and standards.
That message continued outside of the keynotes. Very few presenters gave overviews of their favorite language, library, or feature. Almost every talk I attended was about how to solve a problem.
The Second Theme: Never Stop Exploring
One of O’Reilly’s biggest pushes is that we never stop exploring. The keynotes were full of speakers who challenged what they knew and what they were told. Ariel Waldman’s talk on Hacking Space Exploration gave examples of how we could involve ourselves in space exploration every day – from teaching kids about science, putting your own astronauts into orbit, to getting a job at NASA. Many regular sessions covered how companies solved problems, or came up with new products, by continually exploring the world of software, hardware, and human interaction.
The Third Theme: Simple is Good
Simplicity doesn’t always sit well with people. We want more features, more bells, more whistles, and more fins. Complexity leads to software that’s difficult to maintain, difficult to operate, and difficult to get people to use.
Etsy are famous for releasing code frequently. One of the ways that they’re able to do this (apart from being crazy) is by releasing the simplest code possible. By deploying simple solutions, Etsy are able to carefully monitor their releases and make sure that things are still going well by only shipping simple changes. By focusing on the smallest unit of code possible, they can isolate bugs and roll out changes 30 or more times a day.
The Fourth Theme: Monitor Everything
Humans generate huge amounts of data. But it’s our interactions with hardware and software that generates even more data. Every time you hit a web page, tens or hundreds of requests are made to load images, read from external web sites, and do who knows what else. All of those interactions are logged somewhere. The only way to know when anything is going wrong is to monitor everything.
There are a lot of frameworks that we can use to monitor software in the application tier, and there are a lot tools out there to let DBAs monitor the database as well. In order to have an accurate view of a complex application, it’s necessary to instrument everything. SQL Server has hundreds of instrumentation points, Windows has even more. OS X alone has around 60,000 instrumentation points. Shouldn’t we be adding them to our application as well?
It turned out that a few people I know from Basho were at the conference. Kendra and I met up with them before things started and I got to make a few new friends at Basho. It’s always fun to get together with geeks and talk about whatever comes to mind. Throughout the week, I met a lot of great people, both from the Portland area and from around the world. One of the best things about conferences is that you get to rub elbows with luminaries in your field and make friends with people like you, who are just trying to do their job from one day to the next.