Time Heals All Wounds.. And Then Kills the Patient
<Previous Next>
Wed Apr 13 19:32:45 2005
Arithmetic Mantra

Oops! Sorry about that, folks -- I just found a bug in my BLOG code that caused it to die inside the markup layer whenever I try to do a ordered list. It's fixed now. I still have some adjustment to do to use the new software -- the use of attributes still gets me almost every time.

I find myself wondering what it'd be like to be completely unable to communicate with other people except for very simple gestures .. how long would it take to lose one's job? House? Some people with damage to certain areas of their brain have something not entirely unlike this. The fortunate ones have family to take care of them -- the unfortunate? I wonder. Wards of the state? Quick and permanent trip to a nursing home?

Ahh, so finally at work I've moved all the NFS traffic between our two computational workhorses to a private gigabit network. This is very good. It'll be even better when the old, semi-retired third workhorse retires and I can stop exposing NFS to the external network at all. Contrary to what a lot of people think about NFS, I think it's great. It's very fast, not too tricky to set up, isn't terrible with how it preserves Unix filesystem semantics, and simple enough that debugging it isn't hard. It does have its downsides -- it's not very secure, one needs to be aware of UID mapping, and by default you'll never know if it's using UDP, TCP, or some combination of the two. Still, one of the things that a lot of people forget about the Unix philosophy, and why Unix works so well, is that each component is generally fairly small and simple, so understanding and debugging them is not hard. We may stack those components on each other arbitrarily to achieve the results we want though -- some people tunnel NFS over SSH, a VPN, or similar in order to add security. I keep wishing that the Plan9 or HURD folks, who take Unix to the next level in some ways, had enjoyed more success. I may have felt different when I was younger, but I've come to the conclusion that, as we try to extend Unix in new ways, Tanenbaum was perhaps correct in his pushing for a multilayered design. One of the Unix mantras is that everything is a stream of bytes, meaning that any structure we impose on data is our responsibility - the operating system does not care, but it also doesn't get in the way of our doing so. One of the ideas in Plan9 and HURD makes it easier to impose said structure on our data, letting us make user-mounted filesystems that are managed by processes the user might run. There are tons of things that could be done with this, from encrypting parts of our directory tree to being able to enter an automounting tarball with the "cd" command. Why can't we do this on traditional Unix? Will we ever be able to get there? It's an open question.