ezyang’s blog

the arc of software bends towards understanding

Toolbox

Diagramming in Xournal and Gimp

Two people have asked me how drew the diagrams for my previous post You Could Have Invented Zippers, and I figured I'd share it with a little more elaboration to the world, since it's certainly been a bit of experimentation before I found a way that worked for me. Diagramming software for Linux sucks. Those […]

  • April 9, 2010

Ad hoc wireless

Hello from Montreal! I'm writing this from a wireless connection up on the thirty-ninth floor of La Cité. Unfortunately, when we reading the lease, the only thing we checked was that it had "Internet"... not "Wireless." So what's a troop of MIT students with an arsenal of laptops and no wireless router to do? Set […]

  • March 24, 2010

Five tips for maintainable shell scripts

When I was seventeen, I wrote my very first shell script. It was a Windows batch file, bits and pieces very carefully cargo-culted from various code samples on the web. I had already had the exquisite pleasure of futzing with pear.bat, and the thought of scripting was not something I relished; "why not write the […]

  • March 12, 2010

How to use Vim’s textwidth like a pro

There are lots of little blog posts containing advice about various one-line options you can do in Vim. This post falls into that category, but I'm hoping to do a more comprehensive view into one small subsystem of Vim's configuration: automatic line wrapping. When programming, automatic line wrapping can be a little obnoxious because even […]

  • March 5, 2010

Third-party unattended upgrades in three steps

unattended-upgrades is a nifty little package that will go ahead and automatically install updates for you as they become enabled. No serious system administrator should use this (you are testing updates before pushing them to the servers, right?) but for many personal uses automatic updates are really what you want; if you run sudo aptitude […]

  • March 3, 2010

Sup: Mail for Nerds

Update (September 1, 2012): This post is a bit out of date. I'm planning on writing an update, but the main new points are: if you have an SSD, the startup time of Sup is really fast, so you can easily run it on your laptop and you should use the maildir-sync branch, which gives […]

  • January 13, 2010

rxvt-unicode for gnome-terminal refugees

When I switched from Ubuntu's default Gnome desktop to the tiling window manager Xmonad, I kept around Gnome Terminal, although with the menu bar and the scroll bars removed. I changed from the default white to a nice shade of #2B2B2B (a hue that Sup originally introduced me to). Over the months, however, I got […]

  • January 6, 2010