Advanced Namespace Tools blog
05 March 2018
History of the Advanced Namespace Tools
During the next few days, in anticipation of the 5-year ANTS-iversary of their first public release as a coordinated collection, I will be tracing the history of the different components that I package together as ANTS. This will probably be less code-focused and technical than most of the posts on this blog, but will hopefully still be of some interest.
Before Plan 9, a php-mysql CMS
Before I had ever used Plan 9, or in fact even heard of it, I developed an interest in how information on topics could be named and organized with the aid of computer programming. Discovering wikipedia in 2004, when it was still young and interesting and truly open and you could just type in shit about something you knew something about and it would be an improvement over nothing at all, I was interested in using something similar to organize a writing project I was working on. I discovered Wikipedia ran on free software called "LAMP" and set about to discover what this magical thing was. I had been involved in 8-bit home computers as a kid in the 80s, but I had no experience or knowledge of unix, so everything about linux was fresh and exciting to me, and a welcome alternative to standard consumer desktop operating systems. Within a few months, I had taught myself a bit of linux admin, and just enough coding to knock together my own LAMP-stack content management system. "A little knowledge is a dangerous thing." At the bottom of each page, it printed something like:
Your current location in Freespect data space: | Page type: hpages | Search field: pagename | | Search for: begin | Use format: spform |
"namespaces" of a sort, obviously.
Discovering Plan 9
Getting into linux and os-hobbyism in general rather derailed the original writing project that had stimulated my interest in the first place, and for several years I engaged in the sort of distro-hopping and os exploration that is pretty typical for people on the beginning of the unix pilgrimage. I had no real knowledge of history or traditions or design principles, I just downloaded random live cds, installed them, and screwed around. A hunger for variety led outward from the Debian family to Arch, Gentoo, Linux-From-Scratch, and eventually the BSDs and Open Solaris. By mid 2008 I was starting to feel like all of these OSes were fundamentally the same, just adding a slightly different flavor of admin/config to the same basic stew of applications. There was something truly excellent in the core of traditional unix command-line utilities they shared, but I wasn't nearly as satisfied with the various GUIs, either full desktop or various flavors of minimal window managers, and the systems as a whole seemed difficult to make into the kind of natural 'extension of mind' with clean yet flexible conceptual hierarchies that I would daydream about.
Yeah, and then I found Plan 9. I knew nothing at the beginning, and I downloaded the cd in a spirit of random curiousity. A small amount of research led me to a few catchphrases - "more unix than unix" "everything is a file" "network transparent" "9p protocol" - but I wasn't really looking for, or expecting, anything more than a few hours of mild entertainment screwing around with some weird old software. But then someone in the plan9 irc channel on freenode said to type "ns"...
POW! Literal revelation. An authentically life-changing moment. It was clear in a flash that Plan 9, unlike any other computer system I had ever interacted with, had a coherent unifying abstraction. a central concept that tied everything together. "Just give everything a name and make all the system resources accessible as if they were part of one big filesystem" - that was all I needed to see to convince me that Plan 9 wasn't something to play with for a few hours, but was in fact the only OS with a sensible conceptual foundation. At the time, I was unaware of lisp machines and smalltalk and other attempts at systems with a single unifying abstraction - but I remain convinced to this day that Plan 9 found the most useful organizing principle, the right mix of purity and practicality.