When my daughter Greer was very small, I was in Silicon Valley working for Apple Computer. My wife Beth and I ran a martial arts studio on the side, and she handled most of the business in order to leave me free to concentrate on programming when I wasn't in the studio, discovering new and interesting ways to give myself stress injuries of the joints. We had two young children, Greer and her older sister Kate. As you can imagine, we were pretty darn busy, especially during hectic product-development phases, like when I was working on shipping Apple's Newton.
Like all small children, Greer tended to need quite a bit of parental attention, and like all harried parents, we would often tell her somewhat impatiently that we needed to temporarily concentrate on something else.
One day, when Beth was absorbed in handling something or other that needed handling, Greer came stmping out of her room with a colorfully-decorated piece of paper in her hand and an intense expression on her face. She stomped up to Beth and thrust the paper under her gaze. Startled, Beth took the sheet of paper, on which a legend was scrawled in large, colorful crayon letters: I M VEE REE BEEZY.
Beth collapsed laughing. Greer didn't think it was funny at al.
"I am very busy!"
She was adamant. She couldn't be bothered with Beth's hilarity. She was, by Goerge, very busy! She stomped away again to emphasize her point.
That's me, the past couple of months. VEE REE BEEZY.
I did some contract work that kept me quite busy, and which involved a fairly comprehensive nondisclosure agreement, so that's enough said about that. Well, I suppose it's safe to say it involved a large enterprise database system built to handle terabytes of data with billions of updates a day, and that is written in Common Lisp. It's certainly an interesting problem.
In my spare time, I had a gaming project that has been fairly intense. The wonderful player Gobblemoss of Shadowclan has, for the second time, created a large roleplaying player-versus-player event on Lord of the Rings Online's Landroval server. LOTRO has a game within the game called Monster Play, in which players of good-guy characters can create monster characters and play them in PVP battle against the good guys. Some players bring good guys to the battle; others bring bad guys, everyone fights, and a good time is had by all. Gobblemoss created a story around why the fight is taking place, and dozens of players on each side pitched in and brought that story to life. The bloody battle for domination of the Ettenmoors is taking place every night this week on Landroval from 10PM to 1AM, Eastern time.
I have had the honor of leading the main good-guy faction in the drama, a clan of Dwarves called the Frosthammer Clan. Preparation has absorbed all my spare time for months, but the thrill of the event has certainly been worth it. For four more nights I'll be fighting alongside the Frosthammers and their many allies, and dodging the bounty placed upon the head of my character, Thingvi Frosthammer, by the leaders of the wicked servants of the Great Eye.
So I haven't blogged for a couple of months, and I havent; reported progress on my implementations of Bard, or on the XG Software infrastructure. That doesn't mean no progress has been made.
I've been revising and expanding my very spartan notes on the Bard language. I received some thoughtful and thought-provoking comments on Bard from some very smart people, and I've been thinking every day about what to do about them. Except for the runtime representation of categories, all the basic pieces of Bard are working in the Common Lisp implementation. I've therefore concentrated on thinking about protocols and categories ad how they ought to work.
Frankly, some unanswered questions remain. I've decided to be conservative about them: I'll define and implement some set of behavior that seems minimal to me, and release Bard in that form, so that I can see what happens in practice. I imagine that anyone interested in actually using Bard will quickly discover deficiencies that need to be addressed, and those discoveries will drive subsequent revisions of the design.
Just lately, I've been working on describing the current state of the design, in preparation for completing an implementation of it. With any luck, I'll have something completed in a few weeks--that is, if implementing it doesn't uncover some hideous design mistake that forces me back to the drawing board.
I've also been working on a couple of other small programming projects, and on incrementally adding features to the XG software infrastructure. The small projects are steps toward small product releases, one in programming tools, and two others in apps for Apple's iPad. I have mixed feelings about the iPad apps. The programming environment for making iPad apps is pretty nice (mostly), and if an app is accepted by the App Store, the logistics of making sales is appealingly easy. But all of the unfortunate things about the iOS ecosystem that people are complaining about all over the web--unfortunate for programmers and unfortunate for consumers--bother me as well. If people thought Microsoft was uncomfortably like a malevolent monopoly in computing in the 1980s and 1990s, it's nothing compared to what Apple is trying for now. It creeps me out and makes me wonder if I shouldn't make a clean break.
I'm seriously considering replacing my iPad and iPhone with Android devices, or at least adding Androind devices so that I have more than one platform ready to hand. It doesn't help that iOS is not exactly friendly to any form of Lisp as a development platform.
I'm also seriously considering a new job and a move back to Colorado's front range, which is probably my favorite place in the world.
So there you have it. Nothing exciting to know about what's going on around here. Just lots of boring old work that might soon give birth to something exciting to the tiny population of people who care about what I work on.
Oh, and I've shipped off The Black Knight to a publisher for consideration, and am in the middle of a revision of it. Shipping it off to a publisher probably just means that it will get laid on top of a towering slush pile, but I'll keep at it. It must be time to finally dust off The Dream of the Witch, give it a going-over, and find another publisher to ship it off to.
Then I can think about which story to tell next. The fellow who returns from a failed mission to a neighboring star after thirty years...except that, because of relativity, four thousand years have passed on Earth? The consulting detective who has visions, and who has an anthropologist friend telling him he's a shaman while his psychiatrist tells him he's just schizotypal? The dark elf assassin who s sent to kill a major character from The Black Knight, and then has to do decide whether carrying out or aborting his mission is a better way to serve his oath? The amnesiac who discovers he's a shapeshifter when strangers try to kill him? One of these will be next; I'm not sure which.
So, again. Nothing much new to report, except that lots of stuff is coming, each thing at its own pace.