When I started doing this stuff with Unix, I wasn't a very good programmer. I got really big into writing manual pages, so I wrote manual pages for all the great features we were going to do but never implemented. The fundamental problem with vi is that it doesn't have a mouse and therefore you've got all these commands. It's funny, the politics at Bell Labs. Having editing functionality everywhere would be great in the same sense that it would be nice to have history everywhere. But I got distracted. If I had just spent another day on it... I'm tired of using vi. I get really bored. There have been many nights when I've fallen asleep at the keyboard trying to make a release. I use the Xerox optica mouse instead of the other one because it is color coordinated with my office. Did you notice? This business of using the same editor for 10 years - it's like living in the same place for 10 years. None of us does it. Everyone moves once a year, right? I think some of these tools are overkill. I don't think the Macintosh software is of any value. You can spend your time making software small, or you can spend time making it functional and sensible. You can't do both. I'm lazy. I'm enjoying using other people's software now. At Berkeley for so long, all the software we were using was stuff I had something to do with and that wasn't fun. I don't remember. If you can figure out what should be and you get people to believe you enough that they will give you money, you can almost make it come true. It really doesn't matter what UNIX is anymore. Like many of my colleagues, I felt that I could easily have been the Unabomber's next target. The systems involved are complex, involving interaction among and feedback between many parts. Any changes to such a system will cascade in ways that are difficult to predict; this is especially true when human actions are involved. Nothing about the way I got involved with computers suggested to me that I was going to be facing these kinds of issues. I always expected my career to involve the building of worthwhile solutions to real problems, one problem at a time. In designing software and microprocessors, I have never had the feeling that I was designing an intelligent machine. My personal experience suggests we tend to overestimate our design abilities. Oops. The clear fragility and inefficiencies of the human-made systems we have built should give us all pause; the fragility of the systems I have worked on certainly humbles me. My continuing professional work is on improving the reliability of software.