Home

Behavioural Interfaces

When it comes to designing abstractions interfaces are a fundamental tool in a developer's arsenal. Through my recent ventures into the Go languages I have begun to change my approach to how I use interfaces to a more behavioural approach, for example rather than having an interface to represent a thing such as an animal or a user, I instead aim to represent the behaviours that those things can do; walk, talk, login and so on.

Five Tips to Wake Up Earlier

Everyone has seen the videos about how every CEO wakes up at 5 am. It is sold as being the singular thing that will change your life. Not only will it will open the path to enlightenment, it will make you superhuman and not to mention you'll be a millionaire by year end. Regardless of what you have been sold, taking advantage of your morning can be invaluable. There are far fewer distractions to hinder your productivity and from personal experience it is just extremely peaceful when everyone else is sleeping.

Your IDE Is Not an Excuse for Unreadable Code

I was reviewing some pull requests recently and I got into a little debate. Just before I go into what that was exactly let me prefix this with: as a developer I am a very strong believer in writing clean, readable code. From top to bottom it should read like a story and if I handed it to someone who had never coded in their life, I want them to be able to understand roughly what the code is doing.