The Archive

A long time ago, in a galaxy far, far away...
I used to write about Ruby, Rails and a bunch of other random developer related topics, you can find some of that below.

API first development

Ruby

API first development

APIs are core curriculum for any developer these days, whether it be building a JSON API to support interactive pieces of UI through AJAX, a…

Learn MoreNovember 20, 2017
I’m never using active admin again!

Rails

I’m never using active admin again!

I recently talked about our Vanilla Rails approach that we use in Alt Labs , in short it’s about minimising your dependencies and…

Learn MoreNovember 13, 2017
Real code: Testing a web crawler with RSpec

Testing

Real code: Testing a web crawler with RSpec

This is another post coming out of working on my side project Void . You often see articles teaching testing or TDD on an example topic (I…

Learn MoreOctober 17, 2017
Custom Rails error pages

Rails

Custom Rails error pages

This is the start of an ongoing series extracted from building Void – a bookmarking and reading list tool. Void is one of my side projects…

Learn MoreOctober 15, 2017
Vanilla Rails

Rails

Vanilla Rails

Vanilla Rails is something we have arrived at after several years of growing and maintaining Rails applications at Alt Labs . Update 9th…

Learn MoreOctober 08, 2017
Auto renewing SSL certs for free

Operations

Auto renewing SSL certs for free

I’m mainly writing this post for my own reference, I’m assuming most people have heard of letsencrypt.org and their free tool certbot for…

Learn MoreFebruary 24, 2017
PostgreSQL UUID primary keys in Rails 5

Rails

PostgreSQL UUID primary keys in Rails 5

In a recent project I have been using UUIDs as the primary key type with Rails 5 and PostgreSQL. This can be useful if your objects IDs are…

Learn MoreFebruary 22, 2017
The State of Swift

Swift

The State of Swift

Let’s start with a little context... I’ve been doing quite a lot of iOS development over the last couple of years, nearly all of my native…

Learn MoreFebruary 14, 2017
Using Vue.js + webpack with Rails 5 today

Rails

Using Vue.js + webpack with Rails 5 today

With Rails 5.1 we’re going to get built in support for using webpack for our javascript, allowing us to use more advanced frontend tools and…

Learn MoreFebruary 05, 2017
Lean JavaScript templates in Rails

Rails

Lean JavaScript templates in Rails

A little known Rails feature is built-in JST support and we can leverage this along with EJS to have a neat and tidy JS templating…

Learn MoreOctober 21, 2016
Search by proximity using PostGIS and Rails

Rails

Search by proximity using PostGIS and Rails

Searching proximity to a location is a task we have done before in a traditional database with some complex trigonometry algorithms. As we…

Learn MoreNovember 11, 2015
Manage cron jobs with whenever and capistrano

Rails

Manage cron jobs with whenever and capistrano

Keeping track of your apps scheduled tasks is usually a bit of a pain. It can be handled outside of your normal code processes such as…

Learn MoreNovember 06, 2015
A robot for music

node

A robot for music

Having chat controlled music for the office is certainly not a new idea , however I was a little disappointed when trying to set it up…

Learn MoreOctober 19, 2015
Clearance vs. Devise

Rails

Clearance vs. Devise

Thoughtbots clearance gem is an alternative to the more popular Devise gem that allows you to easily add authentication to a Rails app…

Learn MoreSeptember 04, 2015
How I use Turbolinks

Rails

How I use Turbolinks

For many traditional multi-page apps turbolinks can offer a great perceived performance boost to your end users, however it can be tricky…

Learn MoreJuly 14, 2015
Testing duck types

Testing

Testing duck types

I just finished reading Practical Object-Oriented Design in Ruby and I wanted to share one of the cool things I got from the last chapter…

Learn MoreJanuary 15, 2015
2014 year in review

Misc

2014 year in review

In April 2014 I left my full time job at Typecast with nothing more than some savings in the bank and 3 months contract work on Niice…

Learn MoreJanuary 04, 2015
Rails Deploy

Rails

Rails Deploy

Rails deploy is an opinionated set of ansible scripts that take the pain out of setting up and deploying Ruby/Rails applications. The basic…

Learn MoreJanuary 02, 2015
Production Rails apps

Rails

Production Rails apps

This isn’t a go-live checklist, just a couple of things that aren’t too difficult to setup and will give you a bit more peace of mind when…

Learn MoreDecember 19, 2014
Better Rails logging

Rails

Better Rails logging

When insignificant messages are clogging up your application logs it can be very difficult and time consuming to debug errors happening in…

Learn MoreOctober 13, 2014
Bundling bootstrap

Rails

Bundling bootstrap

I am growing tired of seeing css or javascript frameworks and libraries being installed with bundler. When working on a rails app I want to…

Learn MoreOctober 03, 2014
Tiny testing

Testing

Tiny testing

I recently started getting a lot of spam enquiries through my portfolio site . This began to annoy me after several days of junk emails and…

Learn MoreSeptember 23, 2014
Digital ocean cluster from $15/mo

Operations

Digital ocean cluster from $15/mo

With digital ocean you can get a VPS for $5 / month so why not get a few small VPS’s and start to separate out your server architecture to…

Learn MoreMarch 29, 2014
Vagrant

Operations

Vagrant

Vagrant is a helpful command line interface to various cloud and local virtual machine providers, most notably virtualbox. This tool allows…

Learn MoreMarch 14, 2014
Laravel 4 nginx config

PHP

Laravel 4 nginx config

I’ve seen a lot of complicated nginx setups for laravel and other major PHP frameworks. Below is the setup I use and I think it is a more…

Learn MoreFebruary 15, 2014
Self hosting Rack based apps

Ruby

Self hosting Rack based apps

I've been self hosting my own rack based applications (rails, sinatra etc) for some time, I want to show you my server setup and how to…

Learn MoreNovember 09, 2013
Testing sinatra APIs

Testing

Testing sinatra APIs

Sinatra is often a great choice for writing restful web services. I want to show you what I have found beneficial when testing APIs and how…

Learn MoreOctober 07, 2013
Turbolinks in middleman

Middleman

Turbolinks in middleman

Rails 4 now comes with Turbolinks enabled by default, I think this is great and would love to see more sites make use of this technology…

Learn MoreSeptember 14, 2013

Photography

Nikon d7100 review

I recently purchased a Nikon d7100, Nikons flagship APS-C DSLR, it has a lot of pro level features and is the best Nikon DSLR shy of moving…

Learn MoreAugust 10, 2013

Photography

Wee camera

Picked up a new camera today, a Sony SLT-A37 . I've only taken a few quick shots from the balcony in my apartment, but so far it seems…

Learn MoreFebruary 10, 2013
Way Less CSS

Web Apps

Way Less CSS

With the redesign of my blog a few months back I decided I was going to try out this mobile first thing everyone was harping on about…

Learn MoreFebruary 09, 2013
Jekyll

Jekyll

Jekyll

I've recently made a few tweaks to my blog, mainly stylistic and adding in a few web fonts, but the biggest change is a transparent one, the…

Learn MoreFebruary 07, 2013
Automating your tests

Testing

Automating your tests

Having a test suite is awesome, doing TDD is awesome too, but what if you make that really quick change and forget to run those tests? It's…

Learn MoreJanuary 08, 2013
Testing node.js apps with mocha

Testing

Testing node.js apps with mocha

A couple of days ago I wrote an article on Testing Backbone.js with mocha , this was a primer on doing TDD in one of the easiest…

Learn MoreJanuary 06, 2013
Testing Backbone.js with mocha

Testing

Testing Backbone.js with mocha

This is a zero setup quick starter to using TDD, it should take about 20minutes of your time max! Client side is one of the best places to…

Learn MoreJanuary 04, 2013
Architecture process

Development

Architecture process

I've long wanted to jot down the elements to my architecture process so that I could measure and improve upon it. I think once you have…

Learn MoreJanuary 03, 2013
Module loading

JavaScript

Module loading

So as I mentioned in my goals for 2013 I am working on a JavaScript framework, it has been really interesting so far and I am learning quite…

Learn MoreJanuary 02, 2013
Going forward, plans for 2013

Misc

Going forward, plans for 2013

So I have reviewed my progress for 2012, the first thing I have failed at is setting valuable goals. The biggest thing I took away from 2011 was focus, so it made made sense to me to set goals to focus on, however the taking away from 2012 would have to be value.

Learn MoreDecember 31, 2012
Wrapping up 2012

Misc

Wrapping up 2012

Going back to my post at the beginning of 2012 when I set out goals for the first time, it has now reached the end of 2012 and it's time…

Learn MoreDecember 31, 2012
Backbone.js conventions (part 1)

JavaScript

Backbone.js conventions (part 1)

Backbone.js is a very popular client side framework, it is very flexible and thus has many different ways of doing things. I've found so…

Learn MoreDecember 09, 2012
Don't ever fix a bug

Development

Don't ever fix a bug

We'll start by a basic definition of a bug . A software bug is an error, flaw, mistake, failure, or fault in a computer program or system…

Learn MoreNovember 03, 2012
Making things

Web Apps

Making things

If I were to put a label on myself within the category of engineer, that would be "technologist". I love researching and playing with the…

Learn MoreSeptember 29, 2012
Modular client-side development

JavaScript

Modular client-side development

From using node.js and sinatra quite a lot in the past few months it has really been evident that our client side JavaScript code and…

Learn MoreAugust 19, 2012
Trying BDD

Testing

Trying BDD

When I started out as a developer and to this day I am always seeking ways to improve my workflow and the quality of the code I write…

Learn MoreJuly 07, 2012
2012 is full of goals

Misc

2012 is full of goals

As this is the first time setting goals to measure myself against next year, I don't really have anything tangible to measure against from…

Learn MoreJanuary 15, 2012
What I’ve been up to

Misc

What I’ve been up to

I haven't posted anything here lately, despite me looking at a lot of cool stuff. So I guess this post is a small catchup of some of the…

Learn MoreSeptember 22, 2011
Working on large scale web projects

Web Apps

Working on large scale web projects

As you may or may not know, I work for Crafty Devil, a web applications design company based in Belfast. We have a pet project (turning into…

Learn MoreJune 08, 2011