Thomas Mayfield bio photo

Thomas Mayfield

Polyglot programmer who loves the weird beautiful chaos of humans building software together. Currently spending most of my time in Ruby and Javascript, while dabbling in Clojure and Elixir.

Twitter Github

2015

Extracting Testable Javascript From jQuery Soup

I’m not sure where the phrase “jQuery Soup” originated, but it’s an apt description of a failure mode that Javascript...

Composable Components: Comparing Angular and React

Both Angular and React think you should be building client-side apps by baking new behavior into the structure of the...

Lyeberry: a new search backend for Literate Minuteman

Over the last week, I rolled out some big improvements to the way Literate Minuteman searches for books behind the sc...

Emacs and Evil-mode: Field Notes

Back in December, I started experimenting with getting Emacs set up to use Vim-style modal editing. I’d begun studyin...

Make your Rails background jobs as small as possible

I recently ran into an issue with Literate Minuteman that reminded me of the value of keeping your Rails background j...

2014

2014 Year End Notes

Another year, another time for rambling retrospection and course adjustment.

Relaunching Literate Minuteman

Today, I’m relaunching an old project of mine with a new coat of paint and a bunch of new goodies: Literate Minuteman...

Fixing conflicting Vim plugins with NeoBundle

I started messing around with Clojure this weekend and quickly discovered that something in my Vim setup was causing ...

2013

Postgres connection errors after upgrading Ruby

After I recently upgraded Ruby 2.0.0 from p195 to p247, I started getting this error when starting some of my Rails p...

Print-friendly bookmarklet for programs on TheSquatRack.com

One of my hobbies is repeatedly picking up heavy things and putting them back down.I wanted to be able to print out s...

2012

Introducing Literate Minuteman

It’s a little odd to be writing an introduction to something I’ve been actively working on and using for the better p...

Notes on Haskell: Seven Languages In Seven Weeks

I’ll admit I approached Haskell with a bit of trepidation: the language has a tongue-in-cheek unofficial motto of “av...

Notes on Clojure: Seven Languages In Seven Weeks

I’ve been looking forward to digging into Clojure ever since I saw Rich Hickey’s keynote at RailsConf2012. I’m still ...

Notes on Erlang: Seven Languages In Seven Weeks

Erlang’s syntax and semantics feel like modern Prolog. It’s another almost-purely functional language, with all immut...

Notes on Scala: Seven Languages In Seven Weeks

After Prolog’s brain-bending, it was a bit of a relief to tackle Scala and return to a more familiar general-purpose ...

Notes on Prolog: Seven Languages in Seven Weeks

A quick note on setup: on OS X Lion, I had to install GNU Prolog with brew install gnu-prolog --use-gcc to avoid comp...

Notes on Io: Seven Languages In Seven Weeks

I realized recently that though I’d learned a number of new technologies over the last few years, it had been far too...

Backbone Views and the Law of Demeter

I’ve been getting more and more excited about Backbone.js over the last few months. One of the greatest things about ...

Compiling Javascript templates with Guard

Yesterday, I released the first version of guard-templates, my Guard plugin for compiling Javascript templates as you...

2011

Converting JPEGs to multipage PDFs with ImageMagick

Because I always forget when I need this:convert -adjoin *.jpeg foo.pdf