Greetings! I'm Adam and I'm a UK-based software developer & designer as well as being managing director of aTech Media, Viaduct & Dial 9.

Memoization in Ruby

Memoization is a technique employed in many languages which allows you to cache the results of slow or expensive operations and return the cached result whenever the method is subsequently called. I don't think there's a single application I've written which doesn't make use of memoization in one way or…

Local gems for local apps

If you're a keen gem developer like myself and you regularly use them in your other applications, you may find it useful to know of this quick tip. It allows you to use local copies of your gems in your apps while still allowing other devs on the project to…

Auto Permitted Attributes in Rails Forms

I'm sitting here at PHP South Coast, surrounded by PHP developers and I'm writing some Ruby. I've come up with a nice little gem to avoid the extra work involved in listing permitted attributes when creating new objects from a Rails form. You know what I'm talking about... class UsersController…

Staytus - an open source status site

Staytus is another open source project I got off the ground a few months ago. It provides a content management system for managing service statuses for your network or web application. We use it ourselves for the Viaduct and Dial 9 status sites. I haven't really had much opportunity to…

Budgets

A couple of weekends ago, I found myself needing some sort of application to manage the annual budget for aTech but also manage my personal monthly budget. I tried to create an Excel spreadsheet but found it wasn't quite powerful enough so I made a little Rails app to handle…