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 ls /some/long/path/to/file_0.1-3_i386.changes
In this case, [...]
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 you [...]
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 the [...]
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 build [...]
Read the rest of this entry »
This is a rundown of the things you should have in your toolkit — doesn’t matter whether you call yourself a software engineer, programmer, developer, code monkey, etc.
Editor
You must have an excellent editor. It should slice, dice, puree and mince, all with minimal effort. Seriously, it should have support for searching across files, “tags” (jumping [...]
Read the rest of this entry »
From The Peanut Gallery