• Chrome, the Background Sync API and exponential backoff Feb 11 2018

    The Background Sync API promises to dramatically improve the web browsing experience for users who go offline or are on crappy connections. Where ServiceWorker has given us the ability to cache...

  • Dog food Dec 22 2017

    While travelling I like to keep a simple handwritten journal. I prefer doing this the old fashioned way, choosing pen and paper over a computer, because it’s nice to have a physical thing to hold and look back over, and it’s just so easy...

  • Stateful WebSockets with Elixir's GenStage Jun 8 2017

    A colleague recently asked me how I might go about implementing incremental search against a third party API. While this is a well documented problem, there are a variety of ways to handle it, and I thought it made a good candidate to…

  • What does the Elixir community need in a deployment solution? Apr 4 2017

    At the start of February I outlined a process for basic deployments of Elixir applications on AWS. There were a few holes in this, particularly around some of the shinier Elixir features, but before proceeding with tackling these I wanted…

  • Deploying Elixir on AWS Feb 9 2017

    If you spend any time around the Elixir community, it won’t be long before you come across mention of the state of deployments. As things stand at the start of 2017, they are a little on the rough side…

  • HTML parsing in Elixir with leex and yecc Jan 22 2017

    If you had the novel idea to try to implement a text-based “toy” web browser, where would you start? I asked myself this question in late 2016, and have often regretted it since. A responsible programmer

  • Personal CI on EC2 Oct 1 2016

    Personal projects may not always have a critical requirement for automation as part of the build process, but in a world where even static sites often want some sort of build step, getting things done without this...

  • Accessing asset-hashed assets with Middleman Sep 28 2016

    If you're running a blog using Middleman, attempting to use asset_hash in conjunction with Article Subdirectories, you're gonna have a bad time. The key to getting this to work is to use the source of…

  • Dockerizing Phoenix for Elastic Beanstalk deployment Aug 14 2016

    This project aims to create a simple and repeatable solution for getting up and running with dev and production Phoenix environments. This approach swaps out brunch for webpack (with sass and ES2015 support), makes use of Docker to allow…