I've recently returned from San Diego, California where I attended RubyConf and I'd like to share my experience. Overall the conference was awesome and I learnt a lot. One of the big values of visiting the conference was experiencing the community behind the language. Chatting with other Rubyists, core contributors and even meeting Matz the creator. It made me appreciate what it's all about and made the long plane journey from London worth it.
Videos of all the talks have recently become available on Confreaks and here are some of the talks I found especially interesting:
Interesting talk by Paul Gross about an additional strategy to fighting bugs. He references bugs such as the Mars Climate Orbiter which crashed due to ground based software that returned an output in the wrong units. And the Knight Capital $440 million trading loss due to some redundant code that interacted with the system. Writing tests and having testers is great but bugs are inevitable. He references Rails and talks about strategies, hacks and monkey patches to reduce bugs. For example Paul works at Braintree and as a security measure they don't want developers writing code that will look up customers unscoped, they must always look up the the customer through a merchants has many relationship with customers. So they added a "scoped find hook" which will throw a runtime error if a dev writes code that looks up a customer unscoped.
Christopher Sexton explains how we can play with Bluetooth Low Energy beacons and Ruby. Imagine a Raspberry Pi running a Sinatra app connected to a speaker and an BLE beacon next to the entrance of your office. The BLE beacon simply emits a UUID. And when a mobile with his iOS app built in RubyMotion receives this UUID it posts to the Sinatra app running on the Raspberry Pi . Which in turn can play that member of staffs theme tune. When I get the time I'm keen to buy a beacon and get my Raspberry Pi up a running. I had the idea to get the Sinatra app to allow us to post funny quotes we heard our colleagues say. And then when someone walks in the door it could announce one of their quotes!
João Moura talked about integrating stress tests as part of the build process for a 2014 World Cup app. He recommended cloud based load testing loader.io, it provides an API that a continuous integration server could use. This is especially interesting with regards to e-commerce platforms where slow page loads can lead to a surprising decline in revenue.
When somebody has learnt how to program a computer … you’re joining a group of people who can do incredible things. They can make the computer do anything they can imagine.
Sir Tim Berners-Lee, inventor of the web