My favourite talks from RubyConf 2014

RubyConf - San Diego Convention Center

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:

Isomorphic App Development with Ruby and Volt

This was a very interesting talk by Ryan Stout and his web framework Volt that runs Ruby on both the server and the client. It uses the Opal Ruby to JavaScript compiler which is apparently very good. Building this framework I'm sure is no easy challenge. But executed well it could make Ruby web development in the future a lot more productive with less context switching. A full stack web developer could get by only thinking about one language! It also means having the same code for validations and routing on both the server and client. It's still early days for Volt but definitely one to watch out for. Check out the speed he makes a to-do app! And if you'd like to play with Volt quickly clone it's todos3 app and get it's server up and running.

Testing isn't enough: fighting bugs with hacks

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. 

Epic intro music: BLE beacons in Ruby

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!

Stress Testing as a Culture

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.

Best,

Albert

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