Software

Plan 9 and Inferno
My operating system of choice is of course Plan 9 from Bell Labs. It is a new operating system from the room where Unix was born. Everything was redone, so the overall result is much cleaner and a lot easier to use, and especially easier to write programs in.

Brian Kernighan has written, ``Plan 9 is not UNIX. If you think of it as UNIX, you'll often be frustrated because something doesn't exist or works differently. If you think of it as Plan 9, however, you'll find that most of it works very smoothly, and that there are some truly neat ideas that make things much cleaner than you have seen before.''

Plan 9 can be downloaded for free from Bell Labs. Vita Nuova sells printed manuals.

It's set-top box inclined cousin, Inferno, can be downloaded for free in binary form from Vita Nuova. That also includes the sources to the build tools (mk, 8c, libraries), but not to Inferno proper. Source subscriptions and printed manuals can be purchased from Vita Nuova.

More Plan 9 information can be found here.

User Interfaces
Sam is Rob Pike's graphical text editor. It is wonderfully simpler and more pleasant to use than vi or emacs. It presents a clean, consistent, and simple graphical interface that is augmented by a command language akin to ed and sed. There is a generic Unix distribution that works on lots of platforms. There is also a BSD/OS tar.gz file that compiles ``out of the box'' under BSD/OS. Sean Quinlan has sam running under Windows 95 and NT (and you even get a free rc for Win32 out of it).

If you have to cope with using Windows 95 or Windows NT but would rather be using Unix, you will probably be very interested in U/Win, David Korn's ``Unix for Windows'' libraries, development environment, and binaries. Also of note is the Cygwin-32 project, a free port of the GNU utilities (including gdb).

If you have to cope with using Unix but would rather be using Plan 9, you will probably be very interested in some free Unix implementations of Plan 9 programs.

First, take a look at Sam above. Next, there is 9wm, an X window manager that looks a lot like , Plan 9's window manager. You'll also want 9term, an xterm replacement that makes you feel even more like you're in 8½. Further, Gary Capell has created (and now Ozan Yigit maintains) wily, a Unix lookalike to Rob Pike's acme editor and windowing system.

And now that you have a window system and command window that looks like Plan 9, why not add a shell? You can get source to a Unix version of rc here. If you want to take it one step further, you could use es, which is approximately rc plus Lambda calculus. For a nice introduction to all this, see Arnold Robbin's article.

Before there was Perl, there were a million variations of awk. And before there were a million variations of awk, there was the one true awk. You can download Unix source or a Win32 binary from Brian Kernighan's web page.

Internet Software
If you don't like BSD sendmail, you finally have a decent alternative. Daniel Bernstein's qmail is a wonderful Unix mailer that is marvelously easier to set up than BSD sendmail, although it takes a while to figure out where various things are: the configuration files are spread out over lots of places.

Another wonderful mailer (that would require a little bit of porting effort) is Upas, the mailer for Research Unix and Plan 9.

Unfinished
These are unfinished programs that might be useful as starting points for other projects. Most of the code is written using the Plan 9 C libraries, but conversion to more typical platforms should be very straightforward.

8i An 8086 emulator, good enough to simulate the VGA BIOS extension calls. Too slow to actually change VGA modes though. The table in decode.c is useful.
86a A table-driven 8086 assembler. The eventual goal was to be able to write PC bootstrap code with it, but it never got that far.
86b A table-driven 8086 or 80386 assembler. This one initializes its tables from a simple text file describing all the instructions.
palm Tools for connecting to a Palm Pilot (or later) over the serial port. There are many versions in various levels of unfinishedness. I stopped using my Palm, so I lost interest in working on this.


Wenn ist das Nunstück git und Slotermeyer? Ja! ...Beiherhund das Oder die Flipperwaldt gersput!