The 22th and 23th of June, it was the 2012 edition of Rulu aka Ruby Lugdunum, a two-day conference in Lyon. These sunny days were an occasion for @OriPekelman and me to see great talks and be in touch with the Ruby community.
All the talks where of high quality and very interesting. However some where more noticeable than others for me. So here is a little recap for those of you who couldn't be there ;)
Why our Code Smells
- Why some features are difficult to test?
- Why our tests are slow and how this can lead to poor quality code?
- Do we have god objects?
Answering these questions makes us able to detect problems in our code, like violations of the single responsibility principle, and thus helps us in the process of refactoring.
He finally gave a few great books references:
- Growing Object-Oriented Software Guided by Tests
- Refactoring: Improving the Design of Existing Code
- XUnit Test Patterns - Refactoring Test Code
- Clean Code: A Handbook of Agile Software Craftsmanship
Alex Koppel did not do a technical talk - well not technical in a developer sense. He explained why sleep is so important in our jobs. This comes from the fact that our work is essentially about thinking processses. And guess what? Sleeping affects our brain radically. So if you do not sleep enough, you'll be less productive and this will be hard to recover even if you overslept after a week of sleep deprivation.
So the lesson is, sleep well and you'll work better.
An old version of the slides are available on slideshare.
Lightning talks where very interesting and varied. Ori made a talk about Tony Arcieri's Celluloid, an implementation of the Actor model with Ruby. He told us that Erlang was a good model but not a good candidate for productivity and language niceties. That's why we need the same sane model in the Ruby ecosystem.
Here is a brief list of the other lightning talks I remember:
- « Capucine », a command line tool for using Compass, CoffeeScript and Incloudr in any project, without rails for instance
- « How Ruby saved my life », a talk about happiness
- « What Tony Arcieri did lately »
- « Mastering Tea », a talk about the passion of tea
- « pkgr », a tool to turn your Rails app into a Debian package
- « Devs, Devs, Devs », or why we have to remember and thanks the giants on which we are standing up.
RATFT (Refactor All The F***ing Time)
Refactoring is something truly important as it stops the « decay » of an application. However, knowing that you should refactor often is a thing, doing it is another one… Anthony Eden showed us, throught sample production code, how he drives this process. Slide after slide we saw how you go from an ugly class which violates the single responsability principle with no tests at all, to a couple of tested classes which are much easier to read and understand.
Something tells me this guy listens to his code smells :)
What I learnt from these two days
Something I learnt from these two days, technical aspects aside, was a tendency to unlearn the rails way. Indeed, I can see from a few talks that people try to step back from the Rails idioms when it makes sense. This can be summarized by a slide of Piotr Solnica which says about the fat cat ActiveRecord became:
I don't care if we can write a blog in 15 minutes, really.
But I do care if we can work on a project for 15 months and keep it in a good shape.
Share your experiences, even your failures
A few speakers shared more than successful experiences: they explained us some choices they made and why some where actually mistakes. This is something I consider as important, if not more important, than successful patterns and I thank them for that because they where not afraid to tell us about those too.
Moreover, not all the talks were purely technical but some were about how to live better within our jobs - and these were as interesting as the technical ones.
Ruby Community == Big Love
These two days were really really great! The RuLu staff was awesome and did a great job to give us maybe the better conference I've ever seen. This was my first pure Ruby event and what I can say is that the Ruby community is about love:
- Love of the language(s) and tools
- Love of our job
- Love of the community
Surely, I'll be there the next year for another great Rulu, and so will you, right?