NaNoGenMo 2017

I participated in this year’s NaNoGenMo, writing a procedural generation script to output a “novel.” This event is inspired by the National Novel Writing Month, in which writers pen a novel in November. I am an avid follower of the Procedural Generation tumblr and I jumped on...

Elixir Code Quality Tools

My Clojure Code Quality Tools post remains one of the more popular articles on this blog. Since then, I’ve been writing a lot more Elixir code. I thought it’d be fun to write a similar post on what to use with the Elixir programming language. By default, Elixir will...

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...

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...