Sunday, March 28th, 2010 | Author:

[A note for casual readers: These notes are not meant to be objective representations of what different speakers said at Scottish Ruby Conference. They are my interpretations in my context.]

[Update 2010-03-29, morning: added more links. 2010-03-29, evening: re-phrased note on gender distribution and separated it from note on sexism, since I don't think of them as related and don't want others to think so. 2010-04-01: links to other summaries.]

Concurrency and real time are great to have and quite attainable if we step outside the comfort zone that Rails gives us. Thanks to Jim Weirich for the reminders and to Makoto Inoue and Martyn Loughran for valuable tips and tools: js-model, dragban, pusher demo, . Presentation here, and some background. And I really want to do some Erlang.

What we do is an art that is based on science and while the artistery has received a lot of attention lately, we can benefit from revisiting the science. Jim Weirich told us about Structure and Interpretation of Computer Programs. It’s available online and there is a mailing list to discuss the content and/or the exercises. I think Jim would have been able to sell 50 copies of the book on the spot if he had brought any.

Lifecycle management should be done with proper tools, not timestamps with funny names (approved_at, published_at, etc). And lifecycle is more than state machines, it’s also workflow and permissions. David Bock showed off Stonepath and hinted at Stonewall. He uses acts_as_state_machine but says that it should probably be really easy to use state_machine instead. (NB: A new version of state machine was released two weeks ago with a lot of important fixes!)

Ever since I read about ticgit in Scott Chacon’s Git Internals I have wanted to do something with git besides source code control but I always thought I’d need to learn 100 git plumbing commands. Scott demonstrated how to do very useful things with just four or five commands, so that’s something I’ll put in my toolbox.

Gwyn Morfey introduced a very useful image in his talk “Write Bad Code”. We may need to get into technical debt in order to avoid the area of death, just like we may need to get into financial debt in real life to avoid starving or bankruptcy. He also gave a good number of rules for classifying the situations where it is applicable and how to act in those situations.

Lots of people retweeted Tim Bray’s sentiment that “if your webapp doesn’t work on a mobile device nowadays then it doesn’t work”. I definitely think that is true in most cases, but I’m worried that it will be wielded like the Sword Of Truth in the future. It’s not black or white, and while most webapps should be written to work on a mobile device, I think there are loads of valid exceptions.

I read about CRC Cards (Class, Responsibility, Collaboration) many years ago and threw off the idea as a tool for people who needed something to hold in their hands while they learned about object oriented design and analysis. Sam Wessel ran a BoF workshop with Kevin Rutherford where we got to work through a simple analysis exercise. It was a real eye opener and the most valuable session of the conference. I learned two things:

  1. it is useful to have a class for the whole of the system and not just the parts, and
  2. I should learn about CRC. (I shall try to avoid the temptation to think that I can actually use it on my own just because I’ve sat at the feet of masters.)

I’m not a big friend of mocking and thus went to a BoF where Brian Swan and Kevin Rutherford debated mocks. Interesting debate, but according to show of hands at the end, I was the only person who changed their position to whatever slight extent. Apparently there is now a nicer syntax for setting expectations so that you can do the stubbing in the setup and the expectation checks in the actual it-clauses. And Kevin says that (contrary to Brian’s experience, and mine), he feels that he can refactor quite freely without breaking loads of mocks. I need to learn more about mocks or modelling, or both.

WebMock by Bartosz Blimke does the same thing FakeWeb, but better. It has support for regexp matching of urls, checks for POST data, and nice assertions. Worth checking out.

Redcar by Daniel Lucraft aims to be “a cross-platform programmer’s editor written in Ruby”. I couldn’t install it, probably because I have installed gems and rubies in too many ways on my laptop. Will need to clean up and try again.

Things I should check out: 12 hours to rate a rails application, Story mapper (big picture planning for Pivotal Tracker), Distributed Architectures with Rack (mentioned in Tim Bray’s blog).

Non-coding observations

  • When going to a country where it is hideously expensive to use my phone for data, I should bring an old phone that can run my normal sim card and buy a pay-as-you-go card for my iphone at the destination. Doubly so since there is really no reason to believe that anyone can ever create a wireless network that can support 300 developers at the same time, all the time.
  • RubyConf India had 28 female attendees out of 400 total; Scottish Ruby Conference had slightly less, I think.  I wonder what we can do as a community to raise that percentage.  I wonder what we can do as a society.  I wonder what I can do.
  • I also noted that a few presenters thought it appropriate to portray Ruby developers as geeky manboys and women as some kind of more or less attainable prize or decoration. That is so not cool.
  • Quality of presentations vary from marvellous and eyeopening to YOU HAVE ROBBED ME OF 45 MINUTES OF MY LIFE AND MADE ME LOSE FAITH IN HUMANITY. Unless the presenters are well known, I should always find someone who can vouch for the presenter beforehand, or at least talk to the presenter to find out what I can expect. In the choice between an interesting presentation and an interesting presenter, prefer the latter.
  • If I don’t manage to do the above, I should make sure to find a seat where I can sneak out of the room without looking rude.
  • Considering that the lack of equal opportunities for men and women is a far greater problem than my having 45 minutes ripped from my day, I’m forced to make the observation that I have grown slightly numb to male chauvinism. I don’t like that.

Links to others’ summaries:

Tags: ,
Category: Programming, Ruby
You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

12 Responses

  1. Hey,

    what went wrong when you tried to install Redcar? Email me and I’ll see if we can get you sorted.


  2. 2


    Interesting stats about the women attending RubyConf. I see that Sarah Allen and Sarah Mei are giving FREE Ruby on Rails programming workshops for Women and their friends through

    The sessions are aimed at introducing more women to programming and apparently are working really well.

    Things are looking up and I certainly hope that she can help to break the male programmer stereotype.


  3. 3

    “Ever since I read about ticgit in Scott Chacon’s Git Internals I have wanted to do something with git besides source code control but I always thought I’d need to learn 100 git plumbing commands. ”

    I was fortunate enough to attend Scott’s Git Ninja Training at rubycon2010 – learned some new tricks. Guy is an amazing speaker and gets his points across in a fun and entertaining way.

  4. 4

    Re: “RubyConf India had 28 female attendees out of 400 total; Scottish Ruby Conference had slightly less, I think. I wonder what we can do as a community to raise that percentage. I wonder what we can do as a society. I wonder what I can do.” I am curious to know where this huge concern on the sparseness of the female attendee population stems from :-)

  5. 5

    @Sarah: I dare say your guess is the same as mine. I, for one, would hate it too if there were too few women in my industry.

    But I think the reason why there were very few female attendees in conferences is that (and this is a sad reality), while there are more of them in the industry, the people who take care of their kids when they leave home for their everyday jobs are unwilling to watch the kids so that mommy can go to a conference.

  6. 6

    Interesting comments about last years conference David. I found your post when looking for information on the 2011 conference that took place last week…did you attend?

    I had to smile when I saw the other comments here about the lack of female attendees, because one of this year’s talks was in fact “Where are all the women?” by Erin O’brien :)

  7. 7

    I wonder, if the proportion of female attendees at the Scottish Ruby Conference, actually reflects the proportion of women who are engaged in Ruby On Rails programming? I doubt it.

    It is probably more a reflection of the percentage of programmers who are in a position of power at their employer to enable them to get off to a conference and, as Andy says, the fact that some women might find it difficult to go to a conference when they might not be other find someone else to take over their child-care role.

    Perhaps conference organisers should give more consideration to delivering their conferences are more female friendly mode like Web conferencing?

  8. 8

    Interesting take on the conference.

    That’s a great tip about how tog et round data problems when overseas, by taking another phone and getting a local sim. Definitely going to try that, as got hammered on data charges last time I was overseas.

  9. 9

    Do you have any statistics from the most recent conference on the west coast? I would be very interested to see if the numbers have come up in favor of women…would be nice to see more of us taking over this industry :)

  10. 10

    The more females in programming at these conferences the better. I think you should begin a group especially for women and co-ordinate conference attendance.

  11. 11
    Ben Stoves 

    Hello, thats a really interesting post. The part about 28 out of 400 women attending the RubyConf caught my attention. The attendance rate seems greater than in other countries.

  12. 12
    Sean Cavanaugh 

    Sandra, (Comment #7)

    You said, “Perhaps conference organisers should give more consideration to delivering their conferences are more female friendly mode like Web conferencing?”

    Perhaps some women find it hard to attend due to child care, but isn’t that a little assumptive. To assume that child care is a major issue assumes that most of these women have children.

    Two points:

    1. Would web conferencing not also be beneficial for men? They would have less travel expenses and far less time away from their families if they have them.

    2. Isn’t a huge point of conferences to interact with others. I think a huge part of the learning process is being around a collective body of individuals all focused on the same goal. This not only allows for the building of ideas, but the forming of business relationships.