Hints for writing Unix tools
Great article.  The other thing I've always wished for command-line tools is some kind of consistency for flags and arguments.  Kind of like a HIG for the command line.  I know some distros have something like this, and that it's not practical to do as many common commands evolved decades ago and changing the interface would break pretty much everything.  But things like `grep -E,--extended-regexp` vs `sed -r,--regexp-extended` and `dd if=/a/b/c` (no dashes) drive me nuts.<p>In a magical dream world I'd start a distro where every command has its interface rewritten to conform to a command line HIG.  Single-letter flags would always mean only one thing, common long flags would be consistent, and no new tools would be added to the distro until they conformed.  But at this point everyone's used to (and more importantly, the entire system relies on) the weird mismatches and historical leftovers from older commands. Too bad!