thinair

Boulder, Colorado

elevation 5400 feet

your guide: Eric Dobbs

State Machines at PlanetCAD

Tuesday 30 September 2003 at 22:40

State Machines part one

At the heart of PlanetCAD's SCS Envoy was a workflow engine cast as a finite state machine. It was responsible for managing the automated processing of CAD models through a farm of job servers.

At the time I wrote that engine I started to see workflow and state machines everywhere. I spent some time looking at the Jakarta Commons Workflow in the Commons sandbox. It was structurally similar to Envoy's workflow engine, but it was intended to operate at a completely different level -- managing multi-page forms (aka wizards) in a web application. I was also in on some early discussions with Bob McWhirter as he was starting Werkflow .

Anyway, we were expecting to see Envoy evolve into a system that also structured some of the business workflows. Think of how paper forms in triplicate flow through a traditional business process. Many of the organizations which are working with three dimensional models also have heavily structured processes which might lend themselves to electronic augmentation.

At the time I put workflows into three categories. The automated back-end processing that was happening in Envoy, the wizard interfaces in web applications, and the larger business process itself.

Pattern Zealotry

When I was building Envoy's workflow engine I was finally groking design patterns. I was razzed by the other developers on the team for trying to find yet another place to use a pattern. No question, I was intoxicated by patterns and was trying hard to shoehorn them into our system anywhere I could. They were right to push back against my zealotry so only those patterns with solid rationale would actually make it into the system.

Their razzing made me seriously second guess myself about all the places I was seeing "workflows". Was it just youthful enthusiasm? Or were there really all these different applications for workflow?

State Machines

Tuesday 30 September 2003 at 22:31

For the past couple weeks I've been occasionally working on a piece which started out about bunches of state machines. It has turned into a long and rambling post weaving many threads from my recent and distant past.

XPath in the URL

Tuesday 16 September 2003 at 15:21

I was wondering how long it would be before the dots were connected between URLs and XPaths. I was thinking it would be a ways off yet given the well publicized problems with XHTML . I also expected to see the XPath after the # on the URL. It seemed like the XPath should be treated as inside document.

Today Jon Udell pointed to Kimbro Staken's XPath-searchable blog

I just love this idea of incorporating XPath into RESTian URLs. With Kimbro's approach, you get immediate use of the markup you create -- just the kind of incentive that's needed.

Kimbro's post is currently not responding. Probably slashdotted. It could be fun to watch the blogsphere elaborate on this idea. The immediate payback could be just the thing to drive adoption of clean-markup-and-CSS.

Update: Having now had a chance to browse Kimbro's post, I can't wait to see the code behind his site. I've also been looking at PyBlosxom as a potential replacement for Movable Type. Python, XPath and weblog sounds like a tasty recipe to me.

bloghopping from 0xDECAFBAD to New Millennium

Saturday 13 September 2003 at 14:09

NetNewsWire brought me

  1. Les Orchard's Quick Links yesterday which linked to
  2. Nicest of the Damned: Xserve minus = iServe which linked to an update
  3. Meet the iServe which links to
  4. the New Millennium FileMaker Server

I helped write "the New Millennium based security and administration software" that's mentioned in the product description. In fact, that's what I was talking about when I got excited about grokking OO Perl . I don't think I really did much more than help make some HTML, point at a couple web app concepts and give Ben an OO nudge. New Millennium is a cool little company. Ben and Todd are friends from the dojo. It was a fun short gig.

Somber Sunshine

Thursday 11 September 2003 at 07:03

In early August 2001, Sarah went back to Maine to celebrate her brother's birthday as she often does. Meg, her very good friend from high school was also visiting. In addition to her aunts and their families and her grandparents, Sarah's got many surrogate parents in Maine -- mostly her Mom's good friends. That Summer, Sarah and I had been talking about marriage. As it happens Meg and Joe had been too. Largely on Meg's initiative, Sarah and Meg conducted a fairly thorough survey of Sarah's extended family and surrogate parents about marriage. She came back with all sorts of advice and perspective. We kept talking, with much more perspective, but she was really no more decided about the issue than before.

At 7:03am MDT on September 11, 2001 United Airlines flight 175 hit the south tower of the World Trade Center -- self-evident proof that this atrocity was no accident.

That evening we were cuddling on the couch in fairly stunned silence. At some point I said "Well, we've talked about pretty much everything except death."

"Okay," Sarah replied, "what about death?"

"Well..." I really couldn't think of very much to say. "I am five years older than you. ... And a man. If we do get married and it turns out to be until death do us part, odds are pretty good that I'll be the first to die." As I remember it now, we sat again in silence for quite a while.

Finally Sarah replied: "I don't want to wait any longer to start our life together."

I get to enjoy that ray of sunshine on this gloomy day. Maybe even for the rest of my life.

Scaffolding and Architecture

Thursday 11 September 2003 at 00:12

Grady Booch spoke at Denver Java Users Group tonight. When I mentioned that to Sarah she laughed out loud. "His name is Grady Booch?" she exclaimed and then laughed again! Heartfelt, joyous laughter. Sorry, Grady. You may be one of The Three Amigos, but I guess you're not a household name.

I did explain that he was introduced as one of the few people in our industry who could be called a rock star. Sarah thinks he's got a really funny name. She laughed again a few minutes later when I said his name another time.

His presentation was entitled "The Architecture of Unusual Things." It was a fun presentation with many interesting anecdotes. I enjoyed his stories and sense of humor. You can get the slides from DJUG's web site if you'd like the details. One of his conclusions was that architecture is a living, breathing thing which must grow or die. It reminded me of a few of my travels in Europe.

I didn't get to see the Pantheon when I was in Rome. It was quite a disappointment. In one of my classes in college I created a three dimensional model of the interior of the dome including the coffered ceiling. The rendering came out quite nicely, but I wanted to see what the lighting looked like in the real thing. Unfortunately it was chiuso per restauro .

Quite a few things were chiuso per restauro while I was in Italy. I became quite fond of scaffolding. I was particularly struck by the scaffolding at what I think was the chapel of St. Damian [1], a chapel which St. Francis built himself. Around the chapel I visited had been built a baroque monstrosity. The chapel was contained within it, below the dome at the crossing. Those who built the big church around the little chapel seem to have completely missed St. Francis' point. Anyway, at the time I visited there were extensive repairs underway on the dome and a vast pile of scaffolding had been constructed below the dome. They used really beautiful black struts with substantial brass-colored joints assembled in an octet-tetra truss completely surrounding the modest jewel of a chapel. The scaffolding was beautiful in its own right, but even more so for protecting the chapel from the dome above, indeed protecting it from the entire containing church. I found it truly beautiful and profoundly symbolic.

In later travels I kept noticing the scaffolding inside or outside so many places we visited, none of it as beautiful or powerful. Nevertheless, I imagined a time-lapse film of each of these sites, watching the scaffolding crawl spider-like around the building -- an architectural enzyme continually repairing some part of structure or facade or interior.

Although it is not exactly what Grady Booch was talking about, I can only agree that Architecture is a living, breathing thing.

Update: [1] It may also have been Santa Maria de Los Angeles as my friend Jim notes in his comment.

Update: Tim Bray knows what I'm talking about. While talking about Antarctica's move to downtown Vancouver he mentions:

Yaletown was all brick buildings and fashion victims. Down here, it all happens faster and everything's under construction; oh, the geometry!

He also includes a nice picture of a building under repair and the structure of the crane involved is a variation of an octet-tetra truss. Geometry indeed.

Sobig.F and Blaster rekindle the OS wars

Tuesday 09 September 2003 at 09:09

Jon Udell offers his usual balanced opinion about Security blame games. He also responded to various reactions to this article in Monoculture, competition, and security.
I'm not quoted ;-) but many of the sentiments echo my own thoughts on the matter. For example, Dan Gaters and Aaron Cohen both emphasized the advantages diversity brings to the table. But there's one point in the original article I want to respond to.

The mess we're in is largely Microsoft's fault, to be sure, but any dominant software player would have created a similar mess.

Sobig.F and Blaster have rekindled the various Mac vs. PC debates among my friends. I've heard this point made often in the past few weeks. Jon is as platform agnostic as they come, so I'm really abusing his comment to launch an attack against my usual pro-Microsoft opponents. ;-)

My first complaint is that it is a completely unverifiable claim. We can't re-run the universe to see how things would be different if Apple held 95% of the desktop market, say. It seems logically plausible that hackers would be exploiting weaknesses in Mac OS, but there's no way to confirm nor deny the claim. Unverifiable claims quickly descend into religious wars with each party claiming their own unverifiable holy ground.

There is some anecdotal evidence to the contrary, though. As Jon quoted, Ralph Loader observes:

For web serving software, Apache is the dominant player, with Microsoft's product in a distant minority, but still dominating real life security problems.

Even this counterpoint doesn't quite serve, though. Apache's dominance of the web server market does not compare to Microsoft's dominance of the desktop market. According to Netcraft Apache has about 65% of the market. Although that's a substantial share, it's isn't the 95% we hear about for Windows desktops.[1]

Here's the best I can muster to counter the argument. The world that we actually live in is not the imaginary world where hackers exploit some other dominant operating system. We live in the one dominated by Microsoft. I'll say it again because it bears repeating. If you are currently suffering on Windows, you can switch to any other operating system today and live in happy relative isolation from the havoc of these worms and viruses. I would naturally suggest Mac OS, but any non-Windows OS could rescue you from the pain of the Microsoft monoculture.

This brings me to my second point about the argument. It sounds so self-defeated. "Yes, we Windows users have to suffer from viruses and so on. But it wouldn't be any different if we all changed." Who really cares if you " all switch?" Why are you allowing this imaginary world stop you from switching yourself and enjoying the relative safety today? [2]

[1] Is that figure an urban myth? I have scrounged Google for a quick summary of the desktop market numbers and haven't turned up anything as satisfying as Netcraft's numbers for webservers. If you know where those numbers are, please post a comment with the url.

[2] To be fair, I should offer the answer I routinely get from my favorite Windows bigot. Remote Desktop. My friend, Jeff, is an excellent mostly-windows network admin who's network was not infected by Sobig.F nor Blaster. Self-discipline is another viable antidote to the monoculture. He does his backups and routinely patches the systems on his network and he also raves about Remote Desktop. X11 users will not be particularly impressed by it. But there is a certain coolness factor in using a browser to initiate a remote desktop session. And I can't dispute the utility it offers Jeff.