That's Dirty
(read: "I'm an Amish user")
(Also note that bashing other people is generally stupid and some people may find this mean.)

This page is an attempt to solidify the many comments I have made regarding the cleanliness of (and my preferences for) differing unix utilities. There are only a few programs on the list I would never use (I've installed linux packages just to avoid using pine), but I figure that publishing my preferences will lead to my learning more about programs that I currently "despise."

I have recently been pointed to a rant against C++ by Keith Adams (kma) which I am tempted to completely agree with, except that I don't know enough about C++ due to my general efforts to avoid it whenever possible.

Now to do this without tables...

Soren's Unix Preferences

tcsh
I almost put emacs first but emacs has more use than tcsh (M-x vip-mode and colors are nice though check out gvim and maybe we'll convert you to the good side--awh, heck, I don't even like vim very much). tcsh is based on csh: perhaps the most useless shell programming tool in the world. I started to hate it when I found I couldn't redirect stderr (how is anyone supposed to use find in dirs they don't own without 2> /dev/null???) and then I was directed to this document. I recently discovered that not only does the "vi"-mode of fail to do searching intelligently (/ goes the "right" way) but it also does not have xp for swapping characters.
Soren uses ksh. bash is acceptable if you are a tab-complete weany. (hey, pdksh has a tab-complete option!) Another thing I remembered later: tcsh doesn't use the kernel's tty line driver so a) it has to cross the kernel / user boundary for every letter you type (try running truss or strace on your shell [$$] today) and b) it doesn't have ^W support. Both of these seems to be due to 'emacs' mode editing ... even my beloved ksh is forced to trap on every character after a 'set -o emacs.'
pine
Slightly less useless than tcsh, but probably less useful to mad-hackers than emacs-19, pine is one mail program that trivialized unix email and editing, but sacrificed speed/robustness. Its maintainer on this system had to fix a bug where pine crashed reading /u because it ran out of space in its buffer for filenames...somehow based on the size of the directory...ohh wait, that is automount swilliness. For some reason, people in Brown CS are enamoured with this swilly, slow program despite the existance of several better mail readers. For those who want a menu-driven interface, I suggest elm or mutt (even threads your mail!). Soren uses mail (the copy in /usr/local/bin...the one that prompts for a subject...).
emacs
escape-meta-alt-control-shift should not be my editor. I also don't need my editor to be turing complete. I still believe in "small is beautiful". emacs-19 is acceptable but I, Soren, as a vi lover, use vi. No one should use pico after reaching unix puberty. If you are interested in vi and don't know where to start: try brown.cs.vi. Or, check out a page you might have found via my "4-letter word" link on the my home page.
acroread
Since I have received approximately 100 questions about "why didn't this print" as a direct result of poor acroread defaults, I was led to find a better program. The latest version of ghostview (the classic postscript viewer) not only read pdf, but prints correctly, starts faster, and has a prettier interface (IMO) than acroread. Soren calls up ghostview with gv. I hear you can select text in acroread...still USELESS (well, maybe not entirely, but man PDF feels slow).
less
I have to admit that my PAGER was once set to less because the only program (besides ph) that I run that uses the PAGER is man and I liked reading man pages with less. Using less -X -e is essential so that email addresses gleaned from ph are not lost when you want to type the mail command. But more is the original utility and I like a program that acts like cat when a file is not bigger than the screen. Old machines often see a lag when loading the bloated less binary. Hitting v in more or less is cool. I also admit scrolling back off pipes is cool, but do you have any idea how much memory that must require?

Please mail me if I have made any errors or if you think there are salient points to any of these programs that I might have missed. Thanks for reading... :)