November 11, 2002 spout

Hierarchy Doesn’t Scale

Sun, November 11, 2002

I was just chatting with a friend of mine and he said that he really wanted to write a namespace extension so that he could expose a hierarchy of data in the shell. Back when namespace extensions were introduced with Win95, I thought that everything could be integrated into the shell, making the shell the last application. Sometime in the last seven years, I’ve come to hate that idea. As a hardcore computer geek, I’ve embraced the hierarchy organizational styles in three major applications:

  1. Email folders (I keep things filed in a multi-level hierarchy and use my Inbox as a to do list)
  2. The file system (I keep things filed in a multi-level hierarchy and use my Desktop as a to do list)
  3. Free-form outline program (I keep things filed in a multi-level hierarchy and use a file called todo.txt as a to do list)

As anal as I am about arranging and categorizing things into their various hierarchies (and as many places as I’ve spread my to do list to, apparently), the hierarchy only helps me about 50% of the time. I spend just as much time searching for things as I do going right to where it “should” be.

The hierarchy used to be lots more helpful, but as the data I keep around grows over the years, it becomes less and less possible to remember where something really “belongs” and to find it there. In fact, I’ve come to believe that a hierarchy is a terrible way to keep data organized at all. A hierarchy is really just a way to associate key words (called “folder” names) with hunks of data (called “files”) and then only showing them in a very limited way. Searching is a possibility, but it either takes a long time (because file indexing is turned off) or it misses files (because file indexing is turned on —  what’s with that, anyway?). Searching creates an ad hoc logical folder, but there’s no way in the shell to create a permanent logical folder with custom content.

The basic hierarchy structure is easy to understand, but things become much more powerful if I can keep one hunk of data in multiple locations. Some versions of the Windows file system support this , but the shell doesn’t (although it can be simulated with shortcuts). Also, the same kind of “pivot table” capability that Excel provides, mixed with a much faster, more flexibly searching capability of a database, is much closer to what I’m after. Hopefully Longhorn will provide something like this.

Also, being able to search all three of my hierarchical  data sources at the same time would be pretty damn useful, but one thing at a time…

November 9, 2002

Microsoft PowerToys for Tablet PCs

Just fun stuff like Pool and Tic Tac Toe, but it makes me pine for a TablePC all the more...
November 9, 2002 .net

New C# Language Features (someday)

"On November 7th, at the OOPSLA Conference in Seattle, WA, C# creator Anders Hejlsberg unveiled several potential language features for the next major release of Visual C# .NET. The four primary features Anders spoke about were: -Generics, a form of C++ templates that makes reusing existing code easier -Iterators, a construct that makes traversing collections of data significantly faster and easier -Anonymous methods, an easier way to perform simple tasks using delegates -Partial types, a means for programmers to split code across multiple files" All of these features sound really cool (not just generics), but unfortunately the presentation included no mention of when they'd actually ship...
November 8, 2002 .net

Pragmatic ADO.NET in stock!

Shawn Wildermuth's new book, Pragmatic ADO.NET: Data Access for the Internet World, is awailable now. Shawn's a long-time friend of mine and I wrote the forward to the book, so I'm hardly unbiased, but it rocks! Enjoy.
November 8, 2002 .net

Visual C++ and C# Updates In Everette

From Jesse Ezell: That release of Visual C# will include four new features: support for "generics," which is a form of a C++ template that can help C# developers build software more quickly; support for "iterators," which help developers create new code; anonymous methods, which ease development of what’s known as "event-driven" code; and support for "partial types," which make it easier to use C# for building large projects.
November 7, 2002 tools

Regular Expressions in .NET

Michael Weinhardt and Chris Sells plumb the depths of .NET’s regular expression engine.
November 6, 2002 .net

Essential .NET, by Don Box, in stock!

According to the AW web site, Essential .NET, by Don Box, with Chris Sells, is in stock and ships within 24 hours, and Amazon seems to agree. Enjoy!
November 6, 2002 .net

Beta 2 of the Microsoft .NET Speech SDK

From Razvan Caciula: Microsoft announced the availability of beta 2 of the Microsoft .NET Speech Software Development Kit (SDK).

← Newer Entries Older Entries →