Home
subscribe

L'etat, c'est moi

Mere Complexities sells the consulting and development services of me, Paul Wilson.

Conferences

Organising Scotland on Rails
Speaker, RailsConf Europe '08

Archive

Nordic Ruby 2011 - Summary of Day 1

Nordic Ruby is a well crafted conference. The overwhelming impression that I have is of calm attention to detail. The organisers CJ and Lilly have done a superb job. The conference has been much more than just the scheduled talks, but they are what I am focussing on here.

Git Hub Flavoured Ruby – Tom Preston-Werner

Tom Preston-Werner gave us some concrete engineering practices and tools, honed during the development of GitHub.

Readme Driven Development is a simple idea: writing the Readme before writing any code for a project forces you to clarify the goals and do just enough planning.

TomDoc provides more structure to class and method documentation than RDoc in a more readable form that YARD. A nice feature is the ability to mark a method as part of a project’s public API.

Using Sematic Versioning, particularly for Gems, helps keep your clients from dependency hell. In a nutshell, semantic versioning is Major.Minor.Patch, and only major version increments may break backwards compatibility. This way you can use Twiddle Wakka in your Gemfile with confidence.

This was all good stuff, but the next idea is dynamite: Make Believe Open Source is a superb concept for modularising projects; rather than writing monolithic applications, pretend that every area of functionality is going to be open sourced, and split it into a separate module/gem. The Path element on a Bundler can be a useful way of getting started. I am looking forward to see how this works with Rails.

API Design Matters – Anthony Eden

Good APIs should be suffient, powerful, consistent, clear, convenient, and complete. They should demonstrate the Principle of Least Surprise, and be economical with concepts. The best API is no API, meaning if you can get away with (say) implementing Enumberable then do just that.

Bridging the gap – Using Javascript in Rails to write DRY rich client applications – Thorben Schröder

How do you eliminate duplication when you have similar code implemented in JavaScript in the browser and Ruby on the server? Jon Crosby addressed this with his 2009 RubyConf talk, settling at the time with JRuby and Rhino. Thorben demonstrated that this can now be done by embedding V8 in MRI, using therubyracer and CommonJS.

I can not help the (slightly) uncomfortable feeling that this leads us to writing the server side of web apps in JavaScript (or CoffeeScript).

The Limited Red Society – Joseph Wilk

A lovely short talk by Joseph, on using feedback provided by metrics to minimise the red part of the Red-Green-Refactor cycle. Joseph demonstrated Red to be synonymous with the Work In Progress concept of Lean: while the code is Red it can not be integrated.

Must It Always Be About Sex? – Joshua Wehner

Not only did Joshua call out the Ruby community’s Sex, Race, and Age imbalance. By citing research that demonstrates that more diverse teams perform better, he showed that the imbalance is harmful. Suggestions to mitigate the imbalance included anonymising job applications, and even GitHub profiles, to prevent (research demonstrated) unconscious bias based on applicants names.

This deserves a much longer post, but in the meantime it is well worth a look at Erin O’Brien’s talk at The Scottish Ruby Conference, Where Are All The Women.

Infinte Date – Finite Solutions – Randall Thomas

Maths, whisky, Bayesian Statistics, and recreating Bach. What more could a talk need?

Taking Back Education – Joe O’Brien

Joe argues that Computer Science education is largely broken, and how we should fix it, citing the wide educational background of many effective Ruby Developers and the apprenticeship programmes of EdgeCase and other boutique Ruby development shops.


I should write

It’s over 18 months since my last blog post, about RubyConf 2009. There’s a lot happened since then, including two Scottish Ruby Conferences that I jointly organise, RubyConf 2010 that I spoke at, and the rise of EdgeCase in the UK which I am very much part of.

I am not alone in replacing my blog, with a Twitter account. I do feel poorer for not publicly expressing myself in more than 140 characters.

Writing similar to taking physical exercise: once I stop it gets very hard (and embarrassing) to start again. Here goes an attempt to start again. Wish me success.