Two weeks ago I had the pleasure of participating in an Emacs-themed
Google Hangout arranged by Sacha Chua, in which several of us
Emacs geeks got together and discussed what we’ve been working on,
questions we have about particular packages or workflows, etc.:
I’ve been playing with Emacs in the evenings lately and writing a lot
of Elisp, and I just finished a little Emacs package for quickly
manipulating textual checkboxes ([ ] / [x], etc.) in buffers, like
a simple version of org-mode‘s task manipulation, but available
everywhere. It’s called checkbox.el.
From 2006 to 2009 I worked for a company called Tektronix on the 9th
floor of a curvilinear glass-and-concrete tower in Richardson,
Texas. My division built network monitoring solutions for Fortune 100
companies like AT&T “that enable[d] network operators to more
strategically and profitably operate their businesses”—which sounds
like fairly memorable work, but more than anything, I remember the
I’d park my car in the underground parking garage and climb the two
flights of concrete steps towards the ground floor lobby. And waiting
for me daily at the top of the stairs was one of the most poignant
lessons in design that I’ve ever received. It was a plain door, hinged
outward, with a metal push plate. And six inches above the plate,
the paint was worn off the door from years of pushing.
I was trying to debug a Resque job recently and I was actually quite surprised to find that it didn’t print backtraces on exceptions. Now, in production you’re definitely going to using an exception tracker like Honeybadger or AirBrake, but you probably won’t be doing so in development, so there’s nowhere at all to view backtraces when things go wrong. I threw together a tiny gem to dump them to the console like you’d expect: resque-backtrace.
Kris Jenkins wrote a great post last month about
rapidly navigating Clojure files in Emacs using
Helm–definitely check it out. Helm is near the top of my
list of Emacs extensions I need to explore, but in the meantime I
thought I’d point out that’s there actually a great solution for this
use case in a stock Emacs installation–imenu-mode.
One of the coolest things about Emacs is that it’s self-documenting. What this means is that for any piece of functionality in Emacs, we can ask the editor about that thing. We can ask it to tell us about any function (C-h f), variable (C-h v), key binding (C-h k) or even the mode(s) we’re currently in (C-h m). Most of the time this documentation is comprehensive and heavily cross-referenced. If you’re not using these commands, you absolutely should start today.
I share my Emacs configuration on GitHub, but the truth is that most of the fun stuff happens in my experimental.el file (mentioned previously), which I don’t share. It’s growing rather large and some of the contents are fairly mature so I’m going to going to work on moving more things into my stable config and I may as well share them along the way.
One little utility I’ve grown quite fond of is my show-buffer-file-name utility:
Apple’s pace of development is a curious thing. At times like the iPad launch, Apple seems completely ahead of the game. At other times their rate of advancement seems frustratingly slow. Apple will lead the way on faster WiFi standards, better displays, better battery life, voice control, or even new device classes, but not issue fairly basic updates to iOS’s home screen or photo viewer for years. At first blush this seems inconsistent.