Novelty, Invention and Innovation
Personally, I think TermKit is awesome. I was skeptical at first, but the idea grew on me more and more. I’ve become very interested in novel power-user interfaces, and it seems I keep finding more posts along the same line–describing hypothetical tools and shells. I rarely read comment threads, and I wish I never read the reddit comment thread for this posting–people sure are vehement about changing the Unix Way. I don’t mean to disregard their viewpoint; the Unix philosophy is amazing and versatile and has stood the test of time. Defending something that works well against modernizing with every popular fad is respectable, and discussion from both sides is necessary. However, when the conversation turns to comments such as “Don’t you dare to change and ‘improve’ my terminal,” the credibility fades dramatically.
Is Unix the pinnacle of computing platforms? To think that we have hit our maximum potential seems pessimistic to me. I like to think there is an even better way out there. A new paradigm and a new philosophy that improves on the Unix Way. This may be my chemist side showing, but I deeply believe that we need to encourage experimentation and exploration. Plan 9 and Inferno did not gain wide acceptance, but they tried some new things that have already been adopted and more I think are worth adopting. I think the adoption of procfs/sysfs and the prevalence of plan9port is evidence of that.
I find it comical that despite TermKit being built and emphasized as a layer built over the userland and not a replacement, people still felt threatened by it; as if it’s presence alone would forcibly tear their shell away from them. I call that unjustified paranoia, and also stifling to invention and innovation.
As for the direction I’d like to see things head? Functional programming languages with good parallelization, structured pipes (I like JSON in this regard, or just plain s-exprs), hypertext terminals, and transparent network access via filesystem namespaces (or single system image approaches, like what DragonFly BSD is hoping to accomplish).
I’m hoping to experiment in my spare time with the easier parts of that list, and I’m sure it will be fun. If I’m lucky, maybe I’ll get a long comment thread going too.
This opinionated, fact-void post brought to you by a chemist, who uses computers to get shit done.
Update 12-14-2011: I should mention I have been meaning to learn to use acme as inspiration for some of the above interface ideas, and realized that what I wanted has already been done (sort of). Reading the introduction to Rob Pike’s “Acme: A User Interface for Programmers” states some of the changes I’d like to see. Also, on suckless.org project ideas, the one for a “Yet another less sucking editor” describes the desire to fill a gap between acme and vim.