Last weekend the Global Personals development team dispatched Barry, Tim, Mat, Steve and me to the Scottish Ruby Conference. Set in the absolutely stunning Crieff Hydro hotel complex - located in Perthshire in the Scottish highlands. Unfortunately, whilst we didn’t get the opportunity to visit much of the surrounding area we did manage to take in plenty of inspiration from the fantastic talks given throughout the conference.
Between the five of us we chose to strategically divide our time and attendance between almost all of the talks given during the two days and three simultaneous conference tracks. I also managed to squeeze in an off-the-cuff lightning format talk on Celluloid - a concurrent object oriented programming framework for ruby that lasted around five minutes and was well received. Also serving as sleight practice for my upcoming talk on Celluloid at Euruko 2013 - the European ruby conference in Athens.
I’ll briefly summarise the talks we attended during the conference, in roughly the order they were given:
Keynote - Rachel Meyers on “Growing Programming”
The conference kicked off in style with a personalised view of growing one’s skills as a programmer, and how we can shape the community to enable this. I can imagine sales figures for the SICP book peaked shortly after.
James Edward Gray II on “The Patterns We All Need to Know”
This talk presented a neat summation of the most regularly encountered patterns in the wild. It was great to see their application in idiomatic ruby, although unfortunately the slides featuring code were all but unreadable from a row or two back. Thankfully the slides were published shortly after.
André Arko on “Deathmatch: Bundler vs. Rubygems.org”
An interesting glance at the evolution of Bundler and Rubygems.org. Many of us will remember the early days of bundler and how much time was spent Fetching source index. This talk covered the incremental updates that Bundler and Rubygems.org received and the consequential performance gains.
Natalia Buckley on “Thinking through making”
Natalia spends her time making. Making things. Making time for play. Making mistakes. It’s through this process of making that she learns. The most important thing I took away was to just get on and make. What you build doesn’t have to be perfect; it doesn’t even have to work. But through the process of making you learn, and the next time you’ll make something better.
Steve Klabnik on “Building awesome APIs with rails-api”
A talk on the rails-api gem. A slimmed-down flavour of rails designed for serving performant and maintainable APIs. Rather than providing any specific guidance for building sane APIs this talk covered tools, gems and standards available to API developers.
Tekin Suleyman on “Bootstrapping a Startup, a Developer’s Tale”
3 years ago, Tekin had an idea. He spoke to a few people and decided it was worthwhile building. Over the course of the next 3 years he built crowd.fm as a side project, spending hundreds of hours on it. After all that work and time, he’s come to the conclusion that he’s built a solution to a problem that didn’t exist. A really interesting yet cautionary tale of what it takes to attempt to bootstrap a side project into a business.
Kevin Rutherford on “Telling, not asking”
This was Kevin’s take on the Tell, don’t ask principle and how it is commonly misunderstood and almost impossible to achieve in a modern rails codebase. Kevin detailed his approach, constructed of a simple message bus and listeners responding to application events. A pattern that is prevalent in more enterprisey languages but not so commonly found in ruby. Kevin had a very unique speaking style that was dry and ever-so humorous. An enjoyable and enlightening talk.
Chris Kelly on “Down the rb_newobj() Rabbit Hole”
This talk had the potential to be quite a heavy subject to digest. Thankfully Chris guided us all the way down through MRI’s allocation implementation in a clear and concise style. In particular I found Chris’s slides to be very well presented. A thoroughly informative talk and one I personally found very thought provoking.
Erin O’Brien on “From burning desire to burning out: How to prevent the fizzle”
One of my favourite talks of the conference, Erin’s discussion of burn-out in developers was really eye-opening. She discussed the common signs of burn-out, and ways to attempt to handle it. With a background in psychology, she lent weight to her talk by backing everything up with research, but presented in an incredibly effective and accessible manner. Definitely worth the time to watch it when the video has been posted.
Jesse Toth on “Service Oriented Harmony”
Jesse presented a talk on her findings in the field when applying SOA architecture. It was an entertaining talk and resonated with much of our thinking at Global Personals since we apply SOA liberally. I do feel that Jesse somewhat side-stepped the principals and practices of testing, which to my mind is likely the most difficult concept to grasp in this field. However, this didn’t detract from the rest of the talk. I also learned shortly after that this was Jesse’s first time speaking publicly, which I would never have suspected.
Mike Moore on “MiniTest & Rails: Total BFFs”
Mike’s talk on MiniTest 5 and integration with rails was very entertaining. I did feel it was pitched too high for me personally but it served as a great introduction for those not so familiar with the MiniTest framework. Bonus points must also be given for featuring My Little Ponies.
Kerri Miller on “Failure for Fun and Profit!”
Kerri is someone who enjoys being a novice, and in this talk she ran us through the reasons why and how. Being a novice means you are constantly learning; learning means that you will generally be failing more often than not. She encouraged everyone to redefine failure from the big, nasty thing we generally think it is, but instead a necessary state before success. A really inspiring talk, with a bunch of awesome quotes, including “If you’re always achieving what you try, you’re only trying the achievable,” and “Good ideas come from experience; experience comes from bad ideas.”
Jim Weirich on “Given - Designing a Language”
Having never seen Jim speak in person prior to this event I was very much looking forward to his talk on the Given testing DSL. I felt completely engrossed in Jim’s inimitable and highly conversational speaking style. Given is packed full of beautiful, idiomatic ruby tricks and I learned a few new ideas I can see myself applying to my own code in the future. I was especially impressed with the clean approach to re-raising errors and preserving their original backtraces.
Chris Parsons on “Leading software teams well”
The difference between management and leadership at first may seem like nothing more than an alternative word. Chris explained just how different the two things were: just because you’re a manager doesn’t make you a leader and, conversley, anyone can be a leader, no matter how junior. A lot to think about in how to lead teams, including snippets such as the perils of job titles: in Chris’ experience they occasionally stopped people working on something, because it “wasn’t in their job title.”
Franck Verrot on “Be Wrong, but try things”
Franck’s talk was an eye-opener for me. I am a stickler for doing things The Right Way, and often agonise over a particular approach to a problem rather than experimenting with failure in the trial and error fashion. The talk was full of practical examples of failure leading to new understanding, particularly in the study of biology. An inspirational talk.
Mathias Meyer on “Cooking Infrastructure with Chef”
Mathias gave a high-level discussion on the benefits of infrastructure automation tools, focussing on Chef. He walked through the setup of the pieces of a basic infrastructure including application and database servers, and the deployment of these pieces into different environments.
Austin Vance on “Ruby the Arduino Way”
Austin’s talk was a fun and light-hearted look at the arduino kit and how simple it can be to interface with ruby. Austin’s creation was a t-shirt firing cannon. Very well received and scheduled cleverly - occurring just prior to the closing keynote.
Closing Keynote - Evan Henshaw-Plath on “Ruby History”
Evan’s talk detailed ruby’s progression from little-known and experimental, to the fully-fledged and immensely popular language it is today. The talk was humurous and very slick in it’s presentation. I felt it was the perfect end to a fantastic two days of conferencing.
As ever, much of the valuable discussion was performed in the hallways. I met up with some old colleagues and acquaintances and so many rubyists of whom I was internet-familiar but had yet to meet in person. The setting was perfect, the catering fantastic and conference as a whole felt very slick. Credit must go to the organisers, and I will definitely return next year, although hopefully as a speaker.
Thanks go to Global Personals for sponsoring our attendance to the conference. Did I mention we’re hiring? ;)