Looking for work

Jeff Terrell
May 1, 2018

I have an exciting new job lined up on July 1 (stay tuned for that announcement update: see announcement here), but I have about a month and a half free between now and then. Anybody have a project they could use my help on? I specialize in Clojure[script], data analytics and visualization, and Javascript, and I've been known to work on Rails and other projects as well. You can find my résumé here and my LinkedIn Profile here.

Here's a summary of my skills:

I am a versatile programmer with a deep bag of tricks and an eye towards beautiful, maintainable code. I learn quickly and communicate well; I am disciplined and responsible; and I will be the sort of freelance programmer you would hire again and again.

Continue reading →

New Website

Jeff Terrell
April 30, 2018

I've launched my personal website on jeffterrell.tech. It's powered by the Cryogen static site generator, written in Clojure, and hosted for free without ads by Netlify. (Thanks, everybody!)

I've moved the posts I wrote for the (now defunct) Altometrics Blog here. I hope soon to be linking to more of the content I've created over the past couple of years, like Medium posts and YouTube videos, so stay tuned. Until then, you can read about this website.

Continue reading →

Docker's dirty little secret

Jeff Terrell
June 6, 2016

Docker isn't what I thought it was.

I thought it provided a way to run docker images on any host that supported docker. As it turns out, that's not true.

I first encountered something fishy when I found this docker image on Docker Hub, whose description said, "FreeBSD Docker host is required to run this image." I thought, "How is that even possible?" And sure enough, I could run the image just fine with a FreeBSD host. But when I tried to run it on my iMac, it silently failed. How could this be?

Continue reading →

Histograms: an anti-rationale

Jeff Terrell
May 6, 2016

Or: Why Histograms are the New Pie Chart

Introduction

Although pie charts are commonplace, those skilled in the art of data visualization disparage them as a poor vehicle for conveying information. Wedges, the unit being compared in a pie chart, are not something the human visual system is designed to compare with much accuracy. Furthermore, many good alternatives exist, such as bar charts, that lose no information and are easier for humans to digest accurately.

I argue that histograms are more akin to pie charts than bar charts. In other words, they do not play well with the human visual system, and a good alternative exists. This article examines the primary flaw of histograms.

Continue reading →

A few tips for writing macros in Clojure

Jeff Terrell
April 29, 2016

Abstract

Macros are powerful metaprogramming tools, but they can be difficult to use well. In this article, I share several tips for creating correct, legible, and useful macros in Clojure.

Introduction

Macros, in the Lisp sense, are in many ways the ultimate metaprogramming tool. In Lisp, not only is the parse tree explicit in the source code (which is the point of the parentheses), but the code can be treated simply as data. Macros, which transform code, are thus, in Lisp, merely transforming data. And functional programming techniques excel at transforming data.

Continue reading →