Information Driven Architectures

Below are some initial thoughts on having a single Information API not just for applications, but for the entire host organisation. Throughout the below, I use the word “information” distinctly from “data”, with information being the transformation of data into something useful (for some value of…

Read this article

Monocultures

This is a post about programming, but I am going to draw on industrial agriculture and its resultant monoculture to use as an analogy for software development, so bear with me as I take some time to lay down a common context. The popular story is that subsequent to famine…

Read this article

Bitcoin FUD

TLDR - Cryptocurrencies are the future of currency, not of money. There’s a lot of talk about bitcoin these days, and from the tone of the article you can generally tell who’s got theirs and who doesn’t. The spectacular rise of BTC from a…

Read this article

Roll your own web framework in half an hour

i.e. Fun With ActionDispatch So, a long time ago, in a land far far away there once lived a powerful programmer and this programmer had created a web framework called Rails. Rails was a massive and monolithic framework and about as hard to tame as a dragon and so…

Read this article

rBus is now open source

Just a small note that the codebase that powers rBus is now open source. Personally, I believe that the problems of urban mobility are some of the most important problems of the urban age and the solutions for these cannot come from a single source. Also, rBus is inspired very…

Read this article

Extreme Decoupling FTW

After spending years writing fat, ugly classes, I suppose it is inevitable that the pendulum swings the other way and we head towards ‘wat? you got a class for that..?!?!?!?’ territory. For the moment though, the wins are huge and keep coming. Dependency Injection is just a big…

Read this article

Simple Activity Logging in Ruby

Activity Logs are one of the most requested (and consequently, most under-used) features in an application. Managers love the idea of having a full history of everyone’s activity, even though their startup will probably pivot before they have a chance to look at these logs. Jokes apart though,…

Read this article

Extract Workflow Objects From Fat Models

If you’re wondering why I’ve got fat-model obsession, there’s one simple reason - CodeClimate is a highly addictive and enjoyable way to learn just how much your code sucks while telling you where exactly you should be focussing your improvements and once you get…

Read this article

Breaking up Fat Models With Delegation

Hope everyone had a relaxing Christmas with loads of great food, booze and gossip. I know I did! So not being a classically trained CS guy, I have no idea what the name for this pattern is, but I find myself using it more and more to break up fat…

Read this article

Param Objects in Rails

In Ruby, everything is an object and this unembarrassed object-orientation gives Ruby much of its power and expressiveness. Being able to call methods on an Integer and override the behaviour of strings are just two of the awesome things that one can do due to this design decision in Ruby.…

Read this article