Menu Sidebar


New tools, in turn, alter the tasks for which they were designed, indeed alter the situations in which the tasks occur and even the conditions that cause people to want to engage in the tasks.

John M. Carroll

2015-06-04 09.51.25-1

How a keyboard changed what I look for in an editor

Lately I do the bulk of my coding on a Kinesis Advantage keyboard. Increasingly I’m also making use of the optional 3-switch foot pedal. It’s been interesting watching the effect this has on my priorities for editor keybindings. Every keypress or key-chord has an opportunity cost associated with it. Some are higher than others. Most […]

Emacs Reboot #2: Startup

After compilation completes it’s time to give the new Emacs a shot: $ src/emacs It starts up successfully, and makes a valiant attempt to load my existing Emacs configuration. I notice some warnings about missing Gtk3 modules in the output: Gtk-Message: Failed to load module “canberra-gtk-module” Gtk-Message: Failed to load module “globalmenu-plugin” The first is […]

Emacs Reboot #1: Beginnings

I’ve been getting the urge to do a full Emacs reboot lately. Inspired partly by the interesting things going on in Emacs 24, I’ve been wanting to rebuild my whole working Emacs working environment–evolved over the course of years–throw away the cruft, upgrade assorted extensions, and maybe learn a few things along the way. ´╗┐Oddly, […]

Older Posts

Virtuous Code

"The three virtues of a programmer: laziness, impatience, and hubris" — Larry Wall


News, notes, and commentary from Avdi, weekly-ish.

Books and Screencasts

RubyTapas Screencasts

RubyTapas Screencasts

Small plates of gourmet Ruby code.

Confident Ruby

Confident Ruby cover

32 Patterns for joyful coding.

The Making of

Confident Ruby cover

Watch me build an app in Sinatra and Rails

Objects on Rails

Objects on Rails

A developer notebook on applying classic Object-Oriented principles to Ruby on Rails projects.

Exceptional Ruby

Exceptional Ruby

The definitive guide to exceptions and failure handling in Ruby.