The Chronicle

of a ColdFusion Expatriate

Why You Should Give Zsh Another Try

November 19, 2013

If you’re already a fan of “the Z shell” (zsh), you may not need to read any further. If, however, you’re like me and have spent years in the Bourne Again shell (bash), it might be time to re-evaluate your choice.

I have used bash for a long time and reached a fair proficiency level in it. I was doing things like looping over program output, filtering it, using utilities like seq and wc all the time. I could re-run commands from my history in more than one way and reverse-search them with Ctrl-R. None of this was news to me.

But then someone told me about this Z shell configuration package called “oh my zsh,” and I decided to dangle my toes into the waters of the Z shell and see what it’s all about. After all, the OS X terminal drops you into zsh by default; there must be something to it.

I’m never going back.

Test Complex Vim Settings Easily

October 24, 2013

Have you ever wanted to test a new value for a complex Vim setting, like comments, and been annoyed at having to print out the setting, memorize its value, and then type it back in? There are a couple of ways around this that are much more convenient, but I’ll show you a great trick for getting the current value of a setting to work from.

Type Like Optimus Prime the Mechanical Keyboard Renaissance

April 24, 2013

Set aside for the moment the fact that Optimus Prime’s defining characteristic is his ability to transform. Pretend, instead, that he’s just an enormous, sentient robot. That’s what your keyboard would be like if you had mechanical key switches in there. Maybe you already do and this is old hat; if that is the case, move along. But if you want to learn about Cherry MX Blues and the siren song of the Rosewills and the Leopolds, by all means, read on.

Why Python Is Your Tooling Language of Choice

April 8, 2013

Python is, by far, the language of your choosing when you need to build a toolchain of utilities that interact with local systems, servers, other software, running processes, and generally all things outside of your application development.

I leave out application development because I still believe that when it comes to server-side application code that lives for exactly one user request, the best language is the one you are comfortable with. It may be Python, but it may also be Ruby, PHP, Scala, Erlang, Haskell, or one of those new-age sparkly languages such as Go or Rust.

Yet, as you dig deeper into forking processes, maintaining a running state, cleaning up after yourself (I’m talking about memory, I will assume that you bathe), and generally acting predictably, Python is, without a doubt, your chosen language.

Why? I’ll tell you why.

C * Music Player Is My New Best Friend

April 6, 2013

Have you heard of C * Music Player, also commonly abbreviated as its command name, cmus? If you haven’t, you’re potentially missing out on your new favorite music player (at least, since WinAmp 2.x; ahhh, those were the days).

C * Music Player is for UNIX-like OSes, which essentially means Linux and OS X. You can usually grab it through your package manager of choice (apt in Debian-based Linuxes, Homebrew in OS X).

It looks a little like this:

That’s cmus running in a tmux session in iTerm 2, using the Zenburn color theme that now ships along with it (finally).

You might be thinking, “Ugh, a terminal-based music player? How limiting.” Not so. What if I told you that you could have global keyboard shortcuts and Growl notifications? Well, you can (at least in OS X). I’ll tell you how.