All posts made in Jul. 2001:

The Open Hyperdocument System Project aims to build a "technology for enabling dynamic, distributed collective knowledge work". Backwards compatible, it uses the current technology of the web to build features like never-breaking links and transpublishing. See the quick story for more.

Lifestreams, a data storage model (use the cached download links in the top right to read the paper). This concept has two parts:

One: All your documents are organised chronologically. Incoming email will appear at the 'now' point, reminders and to-do lists exist in the future. This is the pure Lifestreams part.

Two: Folders and organisation is really done by dynamic searches, for example you could specify a substream that is 'Email from this person' and it would appear as a persistent folder with live updating. This part is used in many next-generation UI concepts.

See also: Lifestreams in Wired: "According to David Gelernter, the desktop metaphor is obsolete. He wants to move beyond space - to time."

Ritchie Neville is dead.

The shock of it is bad enough, the abrupt halt of conversation as the phone is snatched away, the smack round the head as the cyclist goes past. But the worst thing, even apart from the ten horrible minutes with a helpful stranger trying to find my glasses, even apart from my flatmates telling me who to phone, or telling my mum, or walking home sans commication sans information, the worst thing is not being able to see.

ZigZag... hypertext implementation by Ted Nelson, from whose head sprung Xanadu. I've had an insight about this today, and I'd like to remember what it is, so I'm going to try and explain the application. This tutorial is surprisingly good, but I'll go further here.

ZigZag is like a spreadsheet but infinitely generalised. In a spreadsheet there are two dimensions, rows and columns. A cell is always in both of these two dimensions. In ZigZag a cell can be in many dimensions, but you're not limited to two. In the terminology of ZigZag, a cell also has a rank, which tells you how far along the dimension it is (this is like how far down a column you are in a spreadsheet). A dimension (essentially just a list of cells) can even loop round on itself, and a cell being in one dimension doesn't at all affect its ability to be in any place in any other -- there is no spatial quality in ZigZag. The final big generalisation is that you can declare dimensions yourself. There's a good indication of all of this in a diagram in the zzProperties section of the tutorial, but I really do recommend you read it all.

So how does this apply to hypertext? Xanadu and World Wide Web are both hypertext applications but Xanadu can do things like transpublishing, which in a very basic sense could mean that a block of text can be included from anywhere on the "web" (web in a generic sense, not the www) in another page -- that is, included live, so changes, annotations, micropayments for viewing and so on, are carried along with it. Now, this is an important bit: What Dirk is to World Wide Web, ZigZag is to Xanadu.

Really, that was important. A lot of what we do on the www is nodes-and-arcs, or words-on-sticks, or simply just the interconnectedness of all things. I promise you a lot of the stuff that's made you go "shit that's so cool" is just this. At it's fundamental level is a relationship I've called, in the past, the linkbit, which is the node/connection/node triplet (the www is actually simpler than this because it only allows for one kind of connection). Why is there a lot of this stuff around? Probably because the www itself works like that and it's infected our imaginations.

Now ZigZag, Xanada, and by implication the truer forms of hypertext (such as the Memex) are more far reaching than this -- they follow trails.

I'm just going to explain an alternative way of looking at ZigZag and then I'll tie it back in: Think of ZigZag as a collection of nodes. A dimension then is just a piece of string going through many nodes, and the rank just the order in which they're on this string. Or instead of string, read trail. The fundamental unit of a better hypertext is the trail, an expanded linkbit which is basically a node/connection/rinse-and-repeat list.

Trails are an useful navigational aid because you can follow other people's trails; you can see entry and exit points; you can construct a list of several pages leading to a greater understanding than just pointing at one. You can see where many trails merge, popular browsing routes, places off the beaten track maybe. Trails provide context.

So that's my insight: ZigZag is trails, and ZigZag isn't something special and on its own. It's part of a greater idea because the idea came from the same school of thought as Xanadu.

Why trails aren't happening on the www: Because although the W3C are working on new kinds of links, they're still based around the linkbit, just making the nodes more specific and the connection types more varied.

Why trails are happening on the www: Despite what I just said, they are coming about in a limited way. This harks back to something I said before about weblogs. Imagine all the posts in all weblogs in a single space. All the posts are nodes. Then a weblog is a trail through this place, ordered chronologically. In the words of ZigZag, a post is a cell, a dimension is a weblog, and the rank is the date. And this gives us ways forward: Think about when dimensions/trails cross and you could follow other people's routes. Categorising posts is just another way of setting dimensions, and commenting on somebody else's post is transpublishing. So we're getting there, in a fashion, and maybe it's possible to bring in trails by the backdoor with RSS and all the rest.

Another thought: Trails effectively turn the web into a map, instead of just a connected graph. And if it's a map, then we can use the universal interface. How would the web change if you could be at a page and navigate around by typing "follow interconnected_weblog" or "nearby"? Wouldn't that be a worthy addition to the Back button?

"At first there were attempts to add some kind of interesting new spin on the formula. One of the guests is a plant. One of the guests is a vegetable. One of the guests is just an irremediable shit. None of them worked."

Dan is oh so very topical today at Big Upsideclown. Unable to cope with reality (tv): Bigger, Better, Brother.

Wow, that Googlematic MetaFilter thread has been great. There's been great thoughts, a web-browsing AIMbot called metalynxbot has been written, and some cool links have come up -- including, E Ching, I Ching readings across many wireless platforms.

Calvin & Hobbes is Fight Club [via MeFi]. Two of my favourite things.

The globe's eight doges: Pravda disses the Western world Russia style. "Shortly before they departed to their palaces of intransigence..." Brilliant.

Sounds of Passion. Wow. Check out that track listing. [via pants.]

Okay then, so Googlematic fell over really badly. I'm rewriting it and hopefully it'll be back up in the next couple of days.

...or maybe not: "Your client does not have permission to get URL /xml from this server. See the Terms of Service posted on" Seems that they're on to me, and have blocked my IP (the Terms of Service prohibit any kind of automated querying or reformatting of the results). Oh well, it was fun while it lasted. Guess I'd better write something else next time.

[clarification: My script received that response when trying to access /xml -- it wasn't a direct message or anything. I've mailed Google to say what the script was doing. Let's see what they say.]

A paper exploring the most widely used program pattern and high-level software architecture of them all -- the Big Ball of Mud: a "haphazardly structured, sprawling, sloppy, duct-tape and bailing wire, spaghetti code jungle", and also the way a lot of projects end up, for reasons given in the essay. Funny.

(A little 'site news: Googlematic had a mention on MetaFilter today. The bot's holding up fine, which is good.

And since blackbeltjones linked to it, I had the incentive to add commenting to my note The sameness of interfaces. Just in case, y'know, anybody wanted to say anything.

Message ends.)

Infobot is a Perl 'bot that sits on IRC, answering basic questions and looking things up on the web. The Infobot Guide has more.

Okay then. Do you use AIM? Do you use Google? Then try messaging this week's project, googlematic. I'll leave it running until the server falls down. Have fun. (Oh, you can AIM me on metadirk, should you desire.)

(And as much as I'm loath to admit it, I was chatting with Tom while I was building the AIMbot for other reasons, and it was his idea to hook it into Google. Although I'm sure I would have thought of it eventually...)

"For some months now I have been aware of people looking at me differently, strangely. Perhaps it's the new glasses, the built-up shoes, the scarring. It could be any number of things."

New Upsideclown for a brand new week. Somebody's been asking Victor, You're not going to put this in a clown are you? (marks out of 10 included).

Oh now, baby, this is good: the Tree of Life Web Project (beta). Tree view at each level (as a Java applet), copious links to more information and papers, doesn't use the taxonomy I learnt at school but a more flexible groups and leaves system. Man oh man. The technical description hints at open sourcing the whole thing in the future (the data too? Please!), but the coolest thing is navigating the tree to find, say, Homo sapiens -- start from the Root of all Life and work your way along. Brilliant.

Okay then, so I vaguely remember from school the divisions of biological taxonomy: Kingdom > phylum > class > order > family > genus > species. And I can find the top level Five Kingdoms: Monera, Protista, Fungi, Plantae, Animalia. But where can I find the entire thing? I mean, I'm sure scientists are working on this the whole time, the whole shebang, the entire Tree of Life itself, I want to read it. But I can't find it. Where is it? Does it even exist? Do we have any biologists in the house? Could ya let me know?

Peeple of zee wurl, relax!

Looks complicated, but quality and being updated (the other Perl modules I've found to do the same job are either old, or a little buggy): Net::AOLIM is a Perl module that can act as an AOL Instant Messenger client.

Order a Ninja Burger, why don't you?

This paper on a Zooming Web Browser is part of an enormous network of citations to papers about networks, interfaces, and information presentation. (The network, by the way, is an enormously fun way of browsing a lot of papers. The UI leaves a lot to be desired though. On citation list pages, the work 'Doc' to the left of the title is hotlinked when the paper is available online; on document pages, read by clicking one of the cached document formats list in the top right -- just so you know.)

Pad++ is an actual implementation of a Zoomable User Interface (ZUI) -- although it's no longer in development. The guided tour is simple to understand with copious screenshots. If you start the tour at this point, you'll hit the best demo of magic lenses I've even seen.

A Semantic Lens demo, as applied to a scatter graph (aka the magic lens). Interesting interface, and I can see how it would be useful only because it's so fast. I can imagine the same thing being tried in Adobe Acrobat and it being cripplingly slow.

My Lady Has A Beautiful Anus: Laugh out loud funny, in this week's The Onion.

"Worthing is beyond death. Old people don't go there to retire or to die. They move there to stop."

George brings us today's new Upsideclown: No Fun Here.

The W3C's Semantic Web Activity Statement is a rundown of what they're doing toward the Semantic Web. Contains the intriguing line "investigations into the use of the XML DOM for non-tree-structured data". Oooooh.

One of the problems with building a vision for the future is Who's going to adopt it? And will all those people will Geocities accounts really start marking up their content in a standard dialect, separating form from content? No, of course not, not as it stands. But half of building the future is building a path to get there, and that's something I think the W3C are doing quite well. They've obviously got some kind of internal vision of the Semantic Web which only manifests itself as technological specs or demo implementations -- the danger is that then somebody sees the obvious next step, and builds a proprietary implementation of it. But agreed open standards that build and work with other technologies appear to win out in the end, or at least I trust that they do. Slowly, slowly, and in the end we'll all be putting together perfectly marked-up pages and won't even notice.

Case in point: Let's see what happens to Annotea, the demo W3C annotations system (the documentation has screenshots). Interesting that they're actually working on [what to begin with I thought was] a lightweight system built on rdf and xpath, with extensibility built-in for multiple comment types and full xhtml pages as the annotations. It's all about the path, man. [see also this MeFi thread].

Mexican history timeline, from 3500BC to the present day, with events in Europe and the rest of the world also shown. I was wondering: when did the Aztec civilisation peak, or indeed had it already by the time the Spanish arrived?

This is a page worth remembering if you like scifi. Every book I've picked up from this series has been brilliant, but I've never been able to find a homepage for it. But here is a list of the books in the SF Masterworks series, and short reviews.

Kim Stanley Robinson reading list and short bio. The Mars trilogy are superb, the characterisation excellent. And 'Pacific Edge' although ten years old says a huge amount about life today. This is the most relevent and important scifi I've ever read, and KSR is one of the very few authors who makes me feel somewhere else. The worlds he creates are real.

Good interview with Kim Stanley Robinson. Brilliant sci-fi, awesome concepts, excellent books.

Protect and Survive, including how to protect your family in the case of a global themonuclear war (UK information leaflets) [via haddock].

There are some truly scary things in the Gallery at otagai world. Check out particularly: shit smeller, panic, mastervater, fujimon. And of course, everything has that very cool future Nipon look.

Question: What do "A larger flat", "Dry trousers", and "The power to rip birds from the sky with the electricity that leaps from my hands" have in common?

Answer: They're all listed at today's new Upsideclown, written by me donchaknow. And why are they all there? Because it's a list of Things I Don't Have, but wish I did. There are twenty-nine more.

This might come in handy one day: Defining ISBN in XML Schema [.xsd document]. Shit loads of documentation too, so if you've ever wanted to know what all the numbers mean, or how the number-space is broken up, or how the checksum is calculated, it's here.

Hey hey, it's roast chicken day today, so in the spirit of progress I've updated the Roast Dinner howto. No new content, but facility for comments -- hopefully I'll pick up some good tips from those visitors who have found the page via Google. (The commenting system is very simple - more of a guestbook really - and easy to use just with a server-side include. I'll probably roll it out across the other documents under /notes at some point.)

Look here. In my life, I do a lot of moving files about from server to server. Mostly this is along a chain of servers, and because I don't know the passwords I use keyswaps, which let me get into a server I know, then - without having to use them - along a predefined route two or three servers along. But moving files along this route is a big pain. I use scp (secure copy) because it's easy (ish) and secure. It's using something like "scp [from filename] username@[to server]:[to filename]". And I have to do that for four hops. Argh. Gng. Etc.

What I want to be able to do is type "grab [filename]" in one server, "squash [filename]" to compress it, then travel to wherever I'm going and type "drop [filename]", and all the moving around and so and and so forth is doing automatically. That would be good.

"A set of luxury eye pillows, you're own personalised sundial, this beautiful porcelain butter hutch, and a limited-edition model of Atlantis" -- new Upsideclown today, and I'm sure you'll like it -- "A Space Shuttle pewter letter-opener, copper snow gauge, and for the kids, this wacky Amish Horse Pull Toy" -- James brings us Truckloads Of Goodies.

Phew. What a fucking nightmare.

So, up until very recently, (plus about six or seven websites, webmail, and a few people's email) lived on a box called historicalfact. HF was (is) old. It's been used in a college computer room for about three years because I picked it up for a bargain 50 of your Earth pounds, slapped Red Hat on it and got to business. But that 200Mhz Pentium 2 started creaking, after not so very long at all. In fact, it started getting pretty bloody awful. Mean time between failures was about a week, and that's the kind of failure where I have to phone up the guys whose office I of which I use the cupboard it is, and ask them to power cycle. Nasty. Anyway, time between failures has started dropped. In fact, HF died for several hours for the last two nights.

Luckily, I've had a brand spanking new server ready (well, kind of). I've spent today at work with a window open in the background, using it to pull stuff over from the old box, spending lunch frantically getting email, IMAP, majordomo, Apache and all the other basics up and running. And here we are: new box. FreeBSD, 1Ghz Pentium III, and it's a noticable different. Dirk finds paths between nodes an order of magnitude faster, and picking up my email no longer results in time outs for the various websites. Of course, not everything's working yet so don't be surprised if there are a few rough edges. I'll be sorting things out over the weekend. But here I am. Hello.

(Incidentally, it seems that catastophic failures to me occur only when there's a fallback alternative nearly available. The first version of Dirk finally hit that low-probability file conflict and broke its data file just when I was at a position to switch over to MySQL, to the day. Most odd.)

Wow. Constantino Tsallis: Describing a New Entropy [via MeFi]: The physicist has reformulated Boltzmann-Gibbs entropy in a way that allows low-probability events to "grow up" and become macroscopic (I'd always thought it a weakness of classical science that phenonemon cannot cross "levels"). Keep going with the article, it starts slow but about halfway down starts getting into the real meaning. God knows whether it's true or not though.

But the article does include the coolest phrase: "In fact, we are the offspring of those who quickly saw a tiger nearby, because it should not be there, and ran away."

Monday, and... "We had the Sex Workers Union with us on the march, actually, naked except for boots and body paint, so as you can imagine that got us quite a bit of welcome attention."

Neil's up today on the (redesigned!) Upsideclown: My Fabulous Weekend.

Oh, and if anyone's wondering about what happened at Upsidecrown -- it was a mighty, mighty evening. If you were there: could I please have a copy of your photographs, as all mine are blurred? And: don't tell anyone about my speech.

Vic just found a brilliant ad in the personels (page 50 of The Guide with today's Guardian, if you're interested): "Row Caesar Ed, Vile ate Saab lieu, Idol icon use tart, water bow chew? M 40 seeks F 25-40. Lancs."

Upsidecrown party tonight. Come along. After all, the people we met on the roof who came and drank gin with us last night will be there. Fucking woke up in bed at nearly 10am with my shoes still on didn't I. Feel ill-ish.

At some poncy London winebar last night, Jason made an interesting point about weblogs, saying that they could be considered as an enormous database, a single weblog a slice through this, this page being an Interconnected cross-section of all that content. Interesting, because I'd never thought before of weblogs as a mass, a whole, a single thing.

But it's not [an individual weblog isn't] really a slice, it's more of a trail, a chronological record of a passage through the web (a trail in the memex sense). Every so often, the trails overlap, and there would be value in seeing who else has crossed this point (a point being a node, a post, often a link, or a piece of commentary), and maybe following their trail for a while instead. But a trail is 1-dimensional, and a slice should be more. So how to do this?

Firstly, all posts should be categorised (possibly into multiple categories). This would mean that from each step on the trail, you could step sideways in the same category onto a different path (or rather, the same path but a different point in the time-stream. But you'd be crossing different other people's paths). Categories very important.

Secondly, for commentary-only posts we need transpublishing so it's easy to make references, comment, object and so on, and that such references are implicitly joined to their origin.

And as long as I'm dreaming... At each node you should be able to see what else is nearby, based on a web-of-trust-like system. And the entire thing should run through a universal map, so that the interface can be anything from a text adventure to a Nokia phone.

"Everyone OK down there? Excellent. First off, apologies for interrupting your twice-weekly diet of thought-provoking nonsense; Jamie had composed a rather brilliant piece on thermodynamics in Hindu Germany, but that'll have to wait. The Lord wants a quick word in your collective shell-like."

Regular Upsideclown programming has been suspended for a special message. Jamie brings us A Letter from God.

Some links to 'sites about city planning:

  • Cyburbia: ubersite linking to all manner of planning and architecture resources [ta Phil].
  • Congress for the New Urbanism: replacing spawl with communities, promoting environmental conservation, and operating at all levels from the street to the metropolis.
  • Carfree Cities: how to copy without cars, but also how to restructure our cities to work well with this.

What worries me about many of these plans for new cities is that they're very top down, building the city and then getting people to move in. How about a set of rules, or guidelines, that can be started at any moment of a city's development (which is always), and that work towards a "better" place? It's gotta be bottom-up baby. Carrots and sticks, all the way.

Various places where ideas are stored:

  • The Global Ideas Banks: a repository for "socially innovative non-technological ideas and projects" both original and from elsewhere.
  • Should Exist, a non-political tool to share cheap ideas. "Good ideas should be easy to come by. [...] The difficult part is actually implementing."
  • Halfbakery for submitting, commenting on, and rating all manner of ideas, no matter how small.

A co-operative startup could do worse than look at one of these places and start making some of these ideas real.

Ideas, ideas, ideas. The Positive Revolution page leads me to Vision Space, part of the New Civilization Network.

Which leads me to... The Venus Project, a collaborative thought experiment (is it?) to redesign culture. New energy systems, cities, economies.

Notes from the Handbook for the Positive Revolution by Edward De Bono: How to run an E-Club: "An E-Club is made up of people who meet periodically to set themselves action tasks and report on the progress of those tasks. Since effectiveness is a combination of thinking and doing, it involves thinking that designs and sets the task, thinking that plans the execution of the task, and then the doing necessary to carry through the task."

qmail howto. Got a new server, ain't I. Probably take a while to set it up though.

At Upsideclown: "That was the hundredth time we have made love. Counting the three times, two early on and one when you came back a day late from that weeklong conference in Leiden, when it was over almost before it started. Definitely not counting that one time when it actually was over before it started, which you were very kind about. And not counting the one time last week when you said that it didn't feel right, and asked me to stop."

Dan brings us the centenary issue of Upsideclown: Hecatomb. He has these just-so formed other lives, ever so detailed, and this is just one of them.

And now there are so many other announcements that it's time for an unordered list:

  • To celebrate our 100th issue, we're having a Readers Party called Upsidecrown. It's on Friday, in central London, and we hope you'll come along.
  • If you'd like to get Upsideclown articles by email every Monday and Thursday, send the word subscribe in the body of an email to Don't worry, we won't tell.
  • And if you like 'clown, why not come write for Upsideclone? It's the same, but different. Innit.

Announcements over. Please resume your lives.

I don't know whether we'd get on if you knew me, because we'd go out for Chinese and end up talking about whether it'd be possible to construct a valid (y'know, valid as in using only the switches provided by universal grammar) language in which exchanging concepts was easy, but saying normal things was hard. And then we'd end up talking about concept complexity and limits and how the world would be a different place if the limit was higher or lower. I'm not quite sure how Es puts up with it.

Anyway, I wrote up the various thoughts in A concept-easy language. It feels right and there are lots of open questions and growth points.