James Mead by James Mead

Week 168

At the beginning of the week, Tom seemed to have survived a stag weekend in Leicester dressed as a footballer sampling the delights of the Hotel Ibis. But James A was still away in Edinburgh catching up with his contemporaries from the University of Aberdeen, enjoying the climate and savouring the local cuisine. I believe these are the folk who all keep in touch using Murray’s 2003-vintage My First Ruby app. It’s somehow comforting to know that Ruby played a part, however small, in getting these folk back together.

Joining & leaving

We had a bit more discussion about how we might manage people joining or leaving GFR and how that would work with the cash the company keeps under the mattress for a rainy day. We all looked through a spreadsheet Tom had made to help demonstrate how his cunning scheme might work. It’s good to have something more concrete to look at and I think most of us a sympathetic to the approach Tom has taken.

Wad of bank notes

“Money” by TaxFix is licensed under CC BY 2.0

At Chris’s suggestion, he and I had a go at seeing what bonus Tom’s scheme would pay out now versus the calculation we did when Jase left. This was actually really useful, but not so much for the intended reason - it turned out we’d made a couple of errors in the calculation we did for Jase. One of the errors was that we’d used the corporation tax figure from our FreeAgent account. However, we should have used the figure in our annual accounts which our accountant had corrected. Anyway, it was good to catch this before we actually handed over the spondoolies to Jase. In the meantime I’ve suggested to FreeAgent that their user interface should somehow distinguish between accurate figures and rough estimates.


As is evidenced by the stories marked as completed in Pivotal Tracker, we’ve spent quite a bit more time working on project Sauron. Given that we’re not all always in the office, we decided that we would allow individuals to work on the project and submit Github pull requests from a branch for review by the others. This means we can continue to use the development of the app as a learning exercise, but still make progress when we’re not all in the same room. Tom wrote a handy script that allows you to merge a pull request programatically.

Mock object diagram

Now that we have an ActiveRecord-derived class in the project, it’s been interesting to discuss how best to test the logic in this class as well as code that makes use of the ActiveRecord API. Chris, James A & I spent a while chatting about whether we should mock code we don’t own and whether the mock commands, stub queries heuristic is useful. I found focussing on a concrete bit of code rather than talking in the abstract very helpful. More recently there’s been some discussion about things like the Single Responsibility Principle and whether its better to return an Enumerator rather than expose a collection. All good stuff.


Chris has done a bit more work on his bookmarking app - mainly playing with Twitter Bootstrap and learning more about the Rails asset pipeline. But he’s refusing to publish his code on Github - saying that if he publishes it, he’ll find it harder to throw away. I reckon he’s just shy. Anyway, hopefully he’ll publish it soon. He also mentioned that he discovered a bookmarking service that did some of the things he’s interested in building.

Active Places

Chris also met up with a chap who was interested in the work he did at and around the first Rewired State on scraping the data from the useless Sport England “Active Places” website 1 and using it to build a much more useful website.

House purchasing

I’ve spent much of the week immersed in the arcane paper-filled world of estate agents, financial advisors, accountants & solicitors. I must thank my long-suffering colleagues for putting up with my time away from the keyboard and for my frequent ranting about the inefficiency of the whole process. Hopefully we’re slowly getting somewhere, but it does feel as if the whole sector is ripe for disruption by modern technology.

Receipt printing

James A has continued to beaver away on his receipt printer project and he has an impressive pile of thermal paper artwork scattered over his desk. The printer has now flown the nest and is now perched autonomously on the window sill plugged into an ethernet connection winking its red & green LEDs at us from time to time. Earlier today we had an interesting few minutes trying to work out why a button wasn’t doing what James wanted. It was fun talking about pull-up resistors and it made me want to dig out my copy of The Art of Electronics when I get home.

Brittany Ferries

My other half & I have been contemplating a short break in Normandy and so I spent a bit of time trying to use the diabolical Brittany Ferries website to obtain prices for various combinations of dates and times. Unfortunately you have to go through 4 pages of forms to get to a price for one combination and then start all over again. Even though I was short of time, I got so frustrated I made a start on automating the process.


The short week was nicely rounded off by the appearance of Easter eggs on all our desks courtesy of our very kind visiting prospective author, Tom Stuart.

Easter eggs on desk

That’s all, folks.

– James.

  1. a website that’s supposed to help you find local sports facilities - it’s so useless it doesn’t deserve a proper link 

If you have any feedback on this article, please get in touch!

Historical comments can be found here.