A new look

You might notice that this looks a little different. I’ve switched to a much more modern, cleaner theme for my blog. I’ve also redirected all of the old /blog/ subpaths to their new locations (Sadly, it seems GitHub pages does not support permanent redirects with any sort of config file,...

Why build intelligence augmentation tools?

In a past blog post I talked about the concept of intelligence augmentation. The idea of building software to augment intelligence has been around for some time. That post covers its history more than this one will. I’ve noticed that software developers I know (myself included) will have a...

My current setup: Habits tracking

In the past, I blogged about how I used Lift.do (now coach.me) to prompt for habit-forming. Learning how to form new habits is one of the key tools to focusing on your growth and the ability learn more. You might recall from that previous post that I refer...

Mining for computation on the beach

The introduction to Writing GNU Emacs Extensions introduces Emacs by talking about plumbers. “Plumbers?” you might think. The thing it wants us to think about is whether plumbers make their own tools. Plumbers buy pipes and fittings in standardized sizes. They depend on the International Building Code and...

Clojure Data Science: Sent Counts and Aggregates

This is Part 3 of a series of blog posts called Clojure Data Science. Check out the previous post if you missed it. For this post, we want to generate some summaries of our data by doing aggregate queries. We won’t yet be pulling...

Clojure Code Quality Tools

I work with many programming languages on a daily basis. As a polyglot programmer, I’ve come to appreciate tools that help me follow best practices. For JavaScript, there’s the excellent jshint. When I need to verify some XML, there’s xmllint. In a Ruby on Rails project, I can...

Atreus: My Custom Keyboard

Last year I wrote about about building chording keyboards and USB foot pedals. At the time, using the Teensy micro controller as a USB HID device was possible, but it still required a lot of research. There was no good central resource for knowledge about building keyboards....

Housekeeping: Imported Coderwall protips

As part of my continuing effort to archive content I’ve created to this blog, I’ve migrated all of my Coderwall protips. Here’s a quick list of the posts: Indent and Colorize HTML Strings in Pry November 14, 2013. git fml September 3, 2013. Minsky’s Circle...

Clojure Data Science: Refactoring and Cleanup

This is Part 2 of a series of blog posts called Clojure Data Science. Check out the previous post if you missed it. Welcome to the second post in this series. If you followed along in the last post, your code should be ready...

Clojure Data Science: Ingesting Your Gmail Inbox

This is Part 1 of a series of blog posts inspired by the exercises from Agile Data Science with Clojure. You may be interested in my review of the book. For this blog post series, we are going to use your Gmail inbox as...