I always get scared when I see people trying to organize the Internet into hierarchies

I always get scared when I see people propose building neat little "hierarchically organized" taxonomies of something that is, well, a web. I think these are people who get their kicks out of having all their shoes lined up neatly in front of the doorstep, sorted alphabetically by designer. "Hey, let's classify all the blogs so we can have a Microsoft\Technologies\IT\Desktop\.NETFramework\UserInterface\WinFX\ColorManagement\Printing node that all the WinFX printer color management on desktop-class machines for IT managers blogs can be listed under."

It is important however to have URL’s that "make sense." For example – this blog uses the ../archive/<year>/<month>/<day>/post format which is handy – unfortunately the URL rewriting (or whatever is being used to create "friendly" URL’s) doesn’t allow you to use ../archive/2008/04/08 for today’s posts, you have to append the ".aspx" to get it.

Norm MacDonald proposed a law of the universe some time ago which has proven rather accurate:

"Germans love David Hasselhoff."

The implied rule (not 100% true, but the bit that makes it funny) is that /nobody else/ loves David Hasselhoff. I’ve discovered my own corollary to this rule, which works in exactly the same way:

"Programmers love hierarchies."

I think fundamentally, what makes someone a programmer is a simple question of whether the discovery that a pointer can point to ANOTHER POINTER is frightening (will never become a programmer), confusing (may become a programmer with much effort), or fascinating (nothing can stop this person from becoming a programmer).

The implied rule is, of course, that the vast majority of people hate hierarchies. While it’s also not 100% true, it’s significantly more true than the assertion that nobody non-German loves David Hasselhoff.

This is all the more amusing, considering that the original purpose ( http://www.w3.org/History/1989/proposal.html ) of hypertext documents was to avoid the constraints that hierarchical information organization systems imposed. And here some of us are, trying to impose that same hierarchical organization back on a system that was created to circumvent the limitations of that in the first place.

Ok, so the hierarchy nodes are in an odd order, but they go as follows:

http:// – A server that implements the HTTP protocol (i.e. a website).

.com – A website roughly categorised as commercial.

.msdn – Microsoft’s MSDN group of websites.

blogs – Microsoft’s MSDN blogs site.

/theoldnewthing/ – The Old New Thing blog on Microsoft’s MSDN blogs website (that can be roughly categorised as commercial).

And it’s not just programmers/IT people that love hierarchies, just about everything is organised that way!

From the military, to the workplace, to society in general, to the organisation of goods in a store (e.g. to find a FruitCo “Granny Smith” apple, you would go to the fruit-and-veg section, then to the fruit section, then to apples, then to “Granny Smith”s, then to the FruitCo “Granny Smith”).

The problem here is trying to apply a new heirarchy to a system that already has one. There is nothing wrong with heirarchies to start with.

[Sorry I wasn’t precise enough for you. “I always get scared when I see people trying to organize the content on the Internet into hierarchies based on the type of content they contain.” I’m sorry you have such difficulty inferring this sort of thing from context. -Raymond]

[Sorry I wasn’t precise enough for you. “I always get scared when I see people trying to organize the content on the Internet into hierarchies based on the type of content they contain.” I’m sorry you have such difficulty inferring this sort of thing from context. -Raymond]

Yes, thank you Raymond. I never said you were imprecise or even that I didn’t understand.

My comment was more of a response to people like Caliban Darklock or Skywing who seem to imply that the internet has no hierarchy at all or that only programmers like hierarchies.

I know that you have previously stated that it is impossible for you to view the comments in context and I apologise for appearing to criticise you, but please don’t assume that everything posted here that may appear to disagree with you is a personal insult. That is simply untrue.

[If you’re responding to another comment, it helps if you address your remarks to the other commenter. Otherwise I assume you are commenting on the article because, well, you’re posting a comment to the article. -Raymond]

Raymond, I definitely don’t want to be off-topic, so I’ll state the first thing that came to my mind when I read your post: the example structure you described sounds almost exactly like something from an MSDN documentation hierarchy. Is this a veiled jab at the all-knowing organisers of said hierarchy? And are you suggesting that MSDN should implement a more tag-based structure? I would be all for that, provided it was faster than the current hierarchical view.

By the way, to reply to your concerns, fair enough that you don’t control the layout, but the point is, you yourself aren’t following the `convention’ of addressing the person you’re replying to–but that’s because you don’t have to, the layout makes it clear. Others don’t have this advantage.

In any case, threaded comments or flat, the average blog probably has just as many off-topic discussions as on-topic (probably more). But I find your blog generally has more signal to noise than most others I’ve read.

There’s also the way it’s done on Wikipedia, where any page can be in zero or more "categories". Categories themselves can also be in zero or more "categories". The end result is a directed graph of categories (which can even have cycles).

Actually there is a classification of writings, even this applies mostly to books in a library, and I believe Raymond already had a encounter with this when he published his book – it’s called "Universal Decimal Classification":