It’s a hassle to have to switch from emacs to the shell, run unit tests, pick out the failure, switch back to emacs, navigate to the line, forget where you were supposed to go, switch back, etc etc. The whole process is much easier with compilation-perl.el. This handy bit of code sets up patterns for [...]
Read the rest of this entry »
Exploring zsh features made me want to figure out some of the history-editing wizardry. (Bash has similar history tricks, I just never bothered to dive too deeply into them.) If you want to experiment with history expansion a bit, you can echo the result instead of executing it: hostname:~/dir% ls /some/long/path/to/file_0.1-2_i386.changes hostname:~/dir% echo !?ls?:s/-2/-3/ echo [...]
Read the rest of this entry »
The items below are useful systems based on my experience working with a bunch of different software teams at a handful of companies over the past decade-plus. I haven’t bothered to list things like compilers, interpreters, libraries, etc. If you don’t have those, you aren’t making software… Source control. This almost belongs in the “if [...]
Read the rest of this entry »
Let’s say you have a half-dozen machines at work you want to log into. Instead of setting up a remote forwarding connection from each of those machines, you can have the connection from your main machine perform multiple forwardings instead of just one. This even works if some of the machines don’t support ssh.
Read the rest of this entry »
As I mentioned in a previous post on ssh configuration, your config file can specify a variety settings for each server. In fact, the Hosts you use don’t even have to exist! Consider the following snippet in your ~/.ssh/config.
Read the rest of this entry »
Local port forwarding is the same as remote port forwarding but works in the opposite direction. An example is the clearest way to explain…
Read the rest of this entry »
Ssh tunneling can be a bit mind bending at first, but it’s simple when you get used to it.
Read the rest of this entry »
Do you log in to several servers with different usernames via ssh? Save typing by telling ssh which username to use on each server.
Read the rest of this entry »
When you’re writing python, you don’t need a lot of debate over the minutiae of most coding standards. PEP 8 does that for you. Even better, there are some tools that make it really easy to stick to the standard. Why do this? Well, for one thing it makes code reviews easier when everyone follows [...]
Read the rest of this entry »
This post was inspired by recent experience with some horrible build scripts from the open source world — but I’ve seen enough in-house badness over the years that I wanted to establish some basic parameters for build scripts. This is a really broad way to divide the world, but I see two important categories of [...]
Read the rest of this entry »
From The Peanut Gallery