PhpRiot
News Archive
PhpRiot Newsletter
Your Email Address:

More information

Revamping my development toolchain

Note: This article was originally published at Planet PHP on 17 April 4120.
Planet PHP

It used to be that once a year I would take a good, hard look at the tools I used and endeavor to learn something new or change my workflow with those tools. However, I've been living the #startuplife for the past two years, so it's been about three years since I last addressed my development toolchain. I decided to come up for air and take some time this weekend to rectify that by addressing five main areas: my terminal emulator, my shell, my terminal multiplexer, my IRC client, and my color scheme-yes, even my color scheme! In addition, I decided to push out my updated Octopress-powered blog, even though things are still a little rough around the edges.

Switching to iTerm2

I've been a long-time user of Terminal.app, but I had been hearing good things about iTerm2. I actually used iTerm (version 1) years ago, but I switched back to Terminal.app for reasons I cannot recall. Nevertheless, iTerm2 has come a long way, and I wanted to take advantage of some of its functionality like split panes, better full-screen support, etc. So, that was the first major change I made to my tools.

Ditching bash for zsh

Bash has been my favored shell since I began using Linux about fourteen years ago. I'd never given much thought to using a different shell, and to be honest, switching shells always seemed a daunting task. I thought I'd have to relearn my way around the shell, and everything I took for granted with Bash would be non-existent in a different shell. Fortunately, this is not true. As it turns out, zsh aocan be thought of as an extended Bourne shell with a large number of improvements, including some features of bash, ksh, and tcsha (Wikipedia).

I was able to switch to zsh without ditching my knowledge of bash. As a result, I've gained all the advantages of zsh, which include advanced customization and scripting capabilities, while continuing to provide most (if not all) the same functionality and commands I'm used to in bash. I have much more to learn, though, so if you have tips and tricks, please share.

If you're interested in switching to zsh, I recommend checking out oh-my-zsh. It's a framework for managing your zsh configuration, and it contains lots of goodies. In addition, there are great posts by Mark Nichols and Jon Kinney that will get you quickly up-to-speed with oh-my-zsh. The latter post has the awesome title aIt's not enough to bash in heads, you've got to bash in mindsawith ZSH.a

Using tmux instead of screen

Generally, I've really only used screen when I started noticing that my connection to a remote development machine was getting sluggish or I wanted to keep a constant connection to IRC, but tmux has opened my eyes to so many more possibilities that a multiplexer can offer. I've just only started using it, so I can't say much about it, but I encourage you to read Hawk Host's two-part post on tmux.

Moving back to irssi

I used irssi in a screen session for years. Then, I decided I needed Growl notifications from my IRC client. I quit using irssi in favor of Linkinus. I've used Linkinus for about two years-together with the IRC bouncer znc for some of that time-but I've continued to miss the flexibility and functionality of irssi. On a whim, I decided to switch back to irssi, but it wasn't without so

Truncated by Planet PHP, read more at the original (another 3144 bytes)