Raspberry Pi Office Art

As a fun project and a way to get familiar with the popular Raspberry Pi platform, our team decided to build a real life display that can hang on the wall and be used to display various team metrics such as pageload speeds, burndown progress, achievement counts, etc. Below you will find a tutorial on how to make your own...

JDI Mind Tricks

I have always used a REPL driven approach to Clojure development and this has been very productive, but at times I have really missed the old school approach of setting break points and stepping through code, examining variables along the way. While there are some very capable solutions that get me part of the way there (proto-repl, etc.), I...


I’ve struggled with what I should write about for my first e84 blog post. You see, I’m not your typical high-tech employee. I don’t have a computer science degree. I’m not a math nut. I’ve never solved a Rubik’s Cube. That being said, I’ve got experience ranging a wide gamut of disciplines that I’ve...

Functional Programming for the Functionally Challenged (Like Me)

In the previous installment of our introduction to functional programming we looked at reading values from nested data structures. In this final post we look at the flip side of working with nested data structures, updating them. If you have not read the previous post yet and are not familiar Elixir, you might want to read it now, as...

Testing with VCR and Token Authentication

If you are using VCR to record/playback HTTP requests for your Rails tests, you may run into problems if your cassettes use tokens to authenticate with those services.

Functional Programming for the Functionally Challenged (Like Me)

In the last post we looked at functional approaches to solving problems typically solved using loops in imperative languages. These problems centered around list-like data structures such as arrays or vectors. In this post we will look at more complicated nested data structures.

Functional Programming for the Functionally Challenged (Like Me)

This is the first post in a series dedicated to presenting solutions to common challenges that developers encounter when moving from an imperative programming approach to functional programming (FP). I will present a series of problems and provide solutions in both Java and Elixir, a functional language running on the Erlang VM.