Start with hello world and CI/CD

May 1st, 2019

When I decide to make a web app I start with the skeleton the framework generates and get it running through a CI/CD pipeline so it’s deployed and running in production straight from day one.

Deserializing optional date times with Serde

April 30th, 2019

As part of the CLI app I mentioned previously I used Serde to parse a JSON response from a HTTP API. The response has an optional date time value with a custom format. It took a little while for me to figure out how to handle it so I thought I’d write it up here.

I really like Rust's StructOpt crate

April 30th, 2019

I’ve been playing around with Rust for a while now and recently wrote a little tool that I wanted to run via the CLI. The Command Line Applications in Rust book written by the Rust CLI Working Group pointed me towards StructOpt which I liked using so I thought I’d put a little overview here.

My project idea appraisal process

March 9th, 2019

Like a lot of developers I have folders of half-completed side projects, test projects used to learn about something then abandoned, and a collection of unused domain names bought in the heat of the moment. This is not ideal!

Last year I did a retrospective on a side project I spent too much time on and came up with a set of project appraisal rules for myself I thought I'd write up.

Secret sharing with maths

February 1st, 2019

I'm currently working my way through Jeremy Kun's A Programmer's Introduction to Mathematics. One of the exercises in Chapter 2 asks you to create a web app to implement secret sharing using polynomial interpolation. I went a little overboard and made PolyShare. I put a bit more effort into the app than strictly required to answer the book question and this post goes into some of the details.

Terraform provisioned static site hosting on AWS S3 with CloudFront

January 30th, 2019

I recently setup a couple of static sites by hand using CloudFront in front of S3 for https. I decided the next time I needed to set one up I'd automate it using Terraform and Terragrunt and this blog post is a brain dump of my notes on that.

Which Elixir books should I read?

September 24th, 2015

tl;dr: Programming Elixir then Elixir in Action. Skip Programming Elixir if you're already familiar with functional languages, pattern matching, etc.

Microconf Europe 2015

September 5th, 2015

MicroConf Europe 2015 was without doubt one of the best conferences I've ever attended. The talks were great and so were the conversations with the other attendees. If you're interested in bootstrapping you should definitely get a ticket to a future one.

Teaching ember-cli to talk to phoenix sockets

July 4th, 2015

I ran into a little trouble hooking up websockets when playing with an ember-cli front end app and a phoenix backend server recently. I thought I'd document what I did to get them working for others trying this out. I make no claims that this is the best way to do things but it's working for me so far. If you know a better way please let me know in the comments or by email!

What are the different OTP supervisor restart strategies useful for?

April 28th, 2015

OTP Supervisors can restart their children in four different ways and to better understand which one to use in a given scenario I wanted to summarise a few patterns I've seen.

Quick Rails 4.2 app setup

January 6th, 2015

I read a great post by Graeme Mathieson that walks through how he sets up a new Rails 4.2 project from scratch. At the bottom of the post he mentions it takes him half an hour or so. I've been meaning to play with Rails Application Templates and figured this would be a good opportunity to see what they can do and if they can cut down this boilerplate time.

Erlang Factory Lite Berlin 2014

December 5th, 2014

Yesterday I went to Erlang Factory Lite in Berlin. It was a great day of presentations and chat about Erlang and Elixir. Highlights for me were hearing José talk about Elixir and chatting with Robert Virding at lunch after seeing his talk on Erlang.

Why is my test failing when I use cast?

November 13th, 2014

A little while ago Paul Wilson tweeted about some troubles he was having while converting an example from the Erlang and OTP in Action book to Elixir and adding tests. I'd just been doing the same thing and I wanted to expand on my reply to him here.

Why should I learn Elixir?

November 12th, 2014

I've been interested in Elixir since I first came across it in 2013 but didn't start learning it properly until recently. So why am I learning it now and why do I think you should too?