Friday, July 21, 2006


This program actually started it's life for me in an IRC channel. Back in the days of yore, the Extropians mailing list had a few IRC chats to try and stimulate interaction. In it, Eliezer expressed his frustration that there was no tool to help him with his personal documentation for his projects. He described a light, outlining text editor that could handle the complicated relationships that exist in a large, interdependent project. Now, there are a number display technologies for this sort of thing, given a pre-existing ontology, or semantic network, or similar, but nothing to actually aid in the production of a document like this.

I was struck by how many of my own ideas had the same network structure, and the seemingly shocking absence of any tool of this kind.

I decided to write the program. At the time I only had a small amount of experience programming, but I was confident I could learn what I needed to in the process. Eliezer wrote up a spec(which is still on that sourceforge site) and I started learning about Mozilla XUL applications.(the chosen platform).

I probably worked about a month of honest days on the program. It was much harder going than I had expected, and I tended to take what excuses I could to avoid the issues for days at a time. At the time I didn't really understand source-control, which is why the sourceforge project is empty. After a few months of painful days in between my regular jobs and other activities, I'd basically managed to design the file format, a basic browser, and some of the UI elements, and was having problems with the javascript (which is how Mozilla handled program logic at the time).

It was at this point that the (only!) copy I had was lost to me, along with my notes and attendant files(in fact, I lost everything at that point, diaries and journals, and datafiles, and god knows how much else). This effectively killed any desire I had to work on the project, as I was now consumed trying to reconstruct my personal files. (I probably lost between 2 and 5 megabytes of plain text files I'd written, and innumerable stubs and outlines of other ideas. I felt as if half my brain had fallen out). So I made my apologies to Eliezer and left the idea to rot. It only took about a year for it to come back.

My friend Tavish came to me with a proposition to join his nascent business effort. They wanted to build a publishing program that would transparent substitution and templating far beyond what was available. Originally the idea started as a way to rapidly put together documentation, but in brainstorming sessions it grew far beyond that, until it was a wonder tool, allowing for multiple representations of the same document, for automatic outlining, for multiple levels of description. I saw it as a chance for redemption, and built a relatively solid xml format based on our ideas, (and allowing for some of my old ones). I don't really know what I expected, but the company slowly died a death of lack of motivation and work being done. We never officially ended the effort, because we really didn't need to.

After this point, I left DocDesignr in my head. I wrote drabbles of use-cases to myself sometimes, or imagined using the tool to explore an engineering design I was struggling with, but I didn't do any more concrete work on it.

Today, DocDesignr is still very clear to me. Any design project of nontrivial size could use it. The essential insight is that designs consist of object-like chunks of functionality and description, that we link together in our minds, via distinct mechanisms. All the portions of an internal combustion engine relate to each other in a particular way with regards to mechanical stress, and in a very different way in regards to heat dissipation, although you would use the same words to describe an individual part in each case(mostly). If you were then describing a time-slice of engine operation, you would want to actually connect each item in your narrative to the previous relationships, because they may be significant.

As far as I know, no real alternative yet exists. There are some academic semantic relationship engines (which are designed mostly for tokens and suggestive sentences), and there are what are called mind mapping, or network browsers. Neither really fit the bill for me, and so occasionally I consider restarting work on it, being reminded whenever I see a particularly clever XML format, or WYSIWYG uml modeler, or see that there are new python bindings for GTK. Or as happened last week, a coworker spends a while messing about with Protege(an ontology editor).

Sooner or later, I'll become annoyed enough to write it, (or as the cost to write it continues to go down, it'll become too easy to avoid). I'm still waiting for someone else to do it, because I'm not very good at actually spending the time to iron out a program enough for general use(I'd end up just getting used to my own version and avoiding hacking it anymore).

Wednesday, July 19, 2006

Ask A Ninja: Special Delivery 7 "Pirates of the Caribbean" | Ask A Ninja

I saw Pirates of the Caribbean last weekend, and oddly, I find myself agreeing on some points with our eponymous ninja about it.

Entertainment aside, I spent part of the weekend catching up with some reading and notes.

One of the most interesting things is the list of non-work related programming tasks that have piled up. Over the years since I learned how to program, I've been collecting things that I think I could use, or that I need done by my computer. Some of these are relatively insignificant and are satisfied by some preliminary investigation, either writing a short script and casting it aside, or finding a pre-existing program that does close enough to the same thing.

Others remain, unfulfilled, and eventually coalesce into well defined entities in my mind.

I don't know whether anyone else does this(though I suspect many do), but I have defined in very specific ways, things that are thus far entirely imaginary. For example, I have strong and detailed mental designs of the functionality my home automation will have, or my wearable computer, my boat(ALFRED, Grayswandir, and Home One, respectively). These designs for imaginary things either eventually dissipate, or they continue to accrue detail and substance until I'm forced to actualize them(most of my writing started out like this, for example).

Sometimes the designs just have a suggestive name, sometimes they are almost complete specifications.

In the interests of possible feedback, and perhaps just catharsis, I'm planning on writing out, as best I can, the top five program designs I have unfinished in my head this week.

Tomorrow is one of the earliest and most irksome to me that it's unfinished. It actually started out as someone else's requirement which I took as my own, and since then it's grown and become something I want to have for myself as well.

I actually attempted twice to write this application, the sourceforge site for the first attempt still exists, empty and abortive, here.

The second attempt was an opportunistic hijack, some friends of mine started a company to do an xml authoring tool, and I gradually added to their plans to approximate my previous design. The short-lived company of course failed, via the usual mechanisms.

In my head, I still call it by it's Unix title from sourceforge, DocDesignr. Tomorrow I'll try to explain what I wanted it to do, and how I think it would be useful. I may not be the only one, as far as I know, Eliezer hasn't found a replacement tool, and presumably still has the need.

Wednesday, July 12, 2006

Peoples Archive | homepage

fantastic, fantastic, fantastic

There are an amazing number of biographies of truly fascinating people here. both transcripts and video content, most of which is free.

I'm considering getting a subscription so I can burn dvds of this to watch at home at night.

history! brilliant people! charming and eloquent scientists! what could be better?
The Mprize-SENS Withstands Three Challenges : $20,000 Remains Unclaimed

Interestingly, I got a personal email from Kevin Perrott at suggesting I check this out, and possibly blog about it.

It is a very interesting article, and reading through the critiques and counter-responses is well worth your time if you are interested in SENS(and capable of googling through occasionally dense references).

But I'm interested in why *I* was sent a letter. Are people beginning to track blog authors who write on particular subjects? Was this a personal notation of the fact I wrote about SENS previously? An automated system?

What kinds of tools and data would help someone be as targeted and effective as possible at PR and the like?

It's an interesting question. I'll post some ideas a little later this week.

Saturday, July 08, 2006

Turing's Cathedral

an interesting article. I personally don't believe that Google is hiding any significant advances in AI technology. Their strength is simple technologies, engineered to work on enormous scales. Peter Norvig, AI academic, is Director of Search Quality, and has publicly stated that he personally does not believe significant progress in strong AI is at hand.

The massive success google has had with relatively simple information processing is sometimes difficult to accept. And many people suspect that their technology is hiding something. I believe these people are simply underestimating how much an advantage well engineered implementation presents, even of simple ideas.