like a virtual workspace manager for the shell

How did I manage to go for so long without knowing about screen? screen allows you to create several connection sessions to a terminal, switch between them, detach from them, then reconnect from anywhere. I’d previously had to to set up long-running remote jobs as background jobs, relying on nohup and various methods to prevent terminal output. But no more!

This page taught me all I know about screen: screen: Keep Your Processes Running Despite A Dropped Connection

seq for OS X

It has always irked me that OS X doesn’t have the seq command (I am easily irked). Brian Peterson’s old e-mail Re: seq from core utils has it, but the link to sh-utils doesn’t work any more, since the project has been archived. Here’s the new link: http://ftp.gnu.org/old-gnu/sh-utils/. Compile it as Brian suggested, and all will be well.

$ seq 1 12
1
2
3
4
5
6
7
8
9
10
11
12

Joy!
(at least 99% of you will be mystified why anyone would want this.)

More Gnu Smugness: Give me help when I want it

Following on from the ‘head -n’ debacle, here’s another annoying gnuism:

$ egrep -h
Usage: egrep [OPTION]... PATTERN [FILE]...
Try `egrep --help' for more information.

So I’ve asked it for help, it knows I’ve asked it for help, but it insists that I do things its way. The utility has even sequestered the ‘-h’ option to give me this useless message. It would have been much better to call the usage option whether I gave it ‘-h’ or ‘–help’.

Computers should do what I want, when I want it. In fact, someday soon I want a computer with a DO MY STUFF NOW, LOWLY COMPUTER key, that issues an NMI to make the computer return to what I want it to do. I think that’s what the Esc key was originally for, but all too often, the operating system thinks it has more important things to do than I have.

The ‘head -n’ debacle

Unix/Linux has a handy little tool called head that will print the first few lines of a file. Run without options, it’ll give you the first few lines, but called f’rintsance head -20, will give you the first 20. It’s worked this way since basically ever.

Now whenever I run it, I get the following smug little message:

head: `-N‘ option is obsolete; use `-n N‘ since this will be removed in the future

I don’t consider myself an old Unix programmer, but I know that there are probably 12 year old scripts of mine working in former employers’ offices far, far away that will need fixing if they ever get rid of the sane old `-N‘ option. For any sakes, why, man, why …?

The message is also rather ambiguous. Why would I want to use `-n N‘ if it will be removed in the future? I knew all along that I should stick with `-N‘. The right of the people to keep and bear heads, shall not be infringed, anyone?