HTTPoison and Decompression

01 June, 2019|11m Read|elixir

I learned the hard way that the popular HTTP client for Elixir doesn't automatically decompress or re-encode responses. I had to fix it myself.

Ruby, Rails, and CircleCI 2.0 Workflows

26 August, 2018|Original Publishing|14m Read|ruby

Know your tools -- CircleCI 2.0 Workflows

Querying an Embedded Map in PostgreSQL with Ecto

09 March, 2018|Original Publishing|5m Read|elixir

Structs and maps are easy to work with in Elixir, but if they are stored in the database as JSON and accessed via an Ecto Schema, it's not as clear how to query them. We're going to explore how to do that, and make it clear and easy.

Testing Random Data in Emails with Bamboo

16 October, 2017|Original Publishing|2m Read|elixir

Testing a scenario where an app sends an email is easy, but how do you test something random in an email, like a password reset token? When we test a function that intentionally returns random data, it's a little tougher.

Lessons From Using Phoenix 1.3

01 August, 2017|Original Publishing|11m Read|elixir

Phoenix 1.3 introduces contexts, which has been met with some resistance. I've developed an application using it and learned some lessons.

Simple Phoenix Text Inputs with Formulator

30 June, 2017|Original Publishing|2m Read|elixir

Ugh... three lines for a simple text input for a form in Phoenix? How about one with Formulator?

Introduction to Elixir, Phoenix, and Umbrella Apps

06 February, 2017|1m Read|elixir

Introduction of Elixir and Phoenix for a local coding boot camp. Slides

Developer Life After A Bootcamp

28 March, 2016|1m Read|life

What a boot camp developer can expect after graduating their course. Slides


24 September, 2015|6m Read|life

Refactoring is scary. I've seen some comments on Twitter indicating that it's generally something really risky, sending tremors through the rest of the team. It's true, it's risky, but it's generally for the better. But I often need to refactor something a bit more scary: life.

Syncing an External USB Drive with a Network NAS

02 June, 2013|8m Read|bash

I recently bought a MacBook Pro with a limited 256GB SSD. It's great, btw, but it requires me to now store all my music, movies, and archival-type files on an external drive. It scares me a bit to have all that stuff on a single USB-powered drive, so I also set up a network NAS that contains 2 mirrored 1TB drives (I salvaged these from my desktop that I sold to buy my MacBook). Enter problem: I'm lazy. I don't like manually backing everything up. I just want to manage the stuff I put on the external drive, not the NAS drive. Enter solution: BASH script, and launchd.