I’m delighted to announce that I’ll be joining Sandi Metz to teach two [courses on Object-Oriented design](http://kickstartacademy.io/courses/practical-object-oriented-design) this summer in London.
A few weeks ago I asked on GOOS the mailing list about some other books that teach the same style of design. I’ve just put together a big order for the juiciest looking ones. Here they are: Concurrency: State Models and Java Programs by Jeff Magee Object Design: Roles, Responsibilities and Collaborations by Rebecca Wirfs-Brock […]
A few months ago, development of http://relishapp.comÂ reached what is a familiar but rather unpleasant plateau for me. Up until that point, it had been developed using conventional Ruby on Rails idioms, with controllers that talk directly to ActiveRecord class methods to make queries, then set instance variables to pass the results of those queries to […]
Agile software development is not really about burn-down-charts, unit tests, refactoring or code metrics or even pair programming. At it’s heart, it’s about building software that really works for the people who are going to use it. All those practices you read about are just tools that help you to develop software iteratively, so that […]
Metaprogramming in Ruby comes in for quite a bit of stick at times, the accusation being that code which modifies itself at runtime can be hard to understand. As Martin Fowler recently described, there’s a sweet spot where you use just enough to get some of the incredible benefits that Ruby offers, without leaving behind […]
One of the several great things about working for my current client is that their high public profile means it’s reasonably easy to get interesting people to come and visit us from time to time. Last week the mighty Martin Fowler dropped by to talk to us.