Korean President Roh's impeachment was overturned. Hurrah!
Telephony XML
Many years ago, I built a voice-based web browser for a client when only other competition was Unwired Planet (now called OpenWave) founded by Alain Rossman whom I worked with at Radius. Interestingly enough, they were both based in Redwood Shores, situated across a lagoon from each other, the same lagoon that passes by my house. One time I even visited my client in a canoe. Now that's the kind of commute I can enjoy.
While Unwired Planet was focused on using the tiny display and the dialpad and ended up with WAP, my client wanted to use all aspects of the phone including speech recognition and generation (aka Text-To-Speech). There was nothing like it so I put together what can best be described as VoiceXML 0.0 and built some PIM-like applications for executives on the go.
It was a fun project and having to call myself hundreds of times a day was an 'interesting' experience. The company then ran out of funding and that was the end of it although patents were snapped up. Last time I heard, Moses Ma bought the dialpad-based browser navigation patent.
After all these years, I am now doing some VoiceXML/CCXML development again. It's a weird feeling seeing what I was working on matured, implemented and available widely. VoiceXML 2.0 is W3C recommendation and CCXML 1.0 is close to completion. There are many VoiceXML vendors and hosting services like Voxeo even offer free developer accounts to build and test telephony applications. All this is so much easier than having to build everything myself.
Still, there are many irksome aspects of VoiceXML and CCXML that leads me to think the spec was developed without the benefit of advices from experienced XML gurus. For example, CCXML has many attributes whose values are expected to be ECMAScript (aka Javascript) fragments which leads to some awkward XML expressions like this:
<assign name="state0" expr="'calling'" />
Note the single quotes inside double quotes. As to why the CCXML WG didn't add an alternate attribute named 'value', I am clueless. What's even more weird is that attribute names provide no hint on whether the value is suppose to be script fragment or textual value. I would have postfixed '_expr' or prefixed 'j' to names of attributes whose value is script fragment.
While I am tempted to fix what's wrong with CCXML before it's finalized, I already have my hands full so this general advice will have to do:
There is more to XML than meets the eye. If you are defining a new XML-based language, you really need to consult some XML gurus to avoid making silly mistakes like these and to avoid pitfalls.
If you don't know any, let me know and I'll recommend a few.
Open Source: Legs Apart
Timothy Appnel reports on the release of Six Apart's Movable Type (MT) 3.0 Developer Edition and the MT community's reaction to changes in terms and licensing cost. He closes with this comment:
This outcry raises a bigger more important point which is the reason for my post. As a developer and one who makes a living writing code, this reaction to Six Apart's new licensing is really disheartening and on a certain level frustrating to see. I am a firm believer and backer of open source. I've personally released quite a bit of open source code myself and will continue to do so. However this apparent expectation of the vocal part of community that it is their right to have all great works of software at no cost is bothersome. If users don't have the funds or won't pay on principle for my time, effort or talent – how do I eat?
While I was thinking about the question, I couldn't help but notice how similar the situation is with carnal relations. Six Apart and other open source companies have opened their legs in return for love. And now they risk losing the love if they start playing hard to get. No easy solutions there.
Maybe Doctor Ruth can help.
Update:
Dave's long rant on the subject reminded me of the 60's free sex meme. I think that's what we have here except this destructive meme is not likely to go away any time soon. What a trip.
Update 2:
Perspective from the other side, the shocked lover who now feels betrayed, is also interesting and understandable. This comment from teledyn posted to James Robertson's blog is a good example:
What gets me is the breach of trust, their about-face that leaves me stranded with no warning. When you invest your time creating content for a publishing system, you don't expect to have your priviledges to proceed with that software held for ransom.
In my faith in their company, I have recommended and deployed their free software over about a dozen sites…
[…]
It's not the money per-se, it's that about face that has frightened me away; if they'd turn against their core community for a buck now when the company is in the pink, they'll do it again later when the chips are down.
Dependence on SixApart is now a risk and I'm also concerned that, having squandered all the community good-will they'd only valued at $0.25, the future doesn't look so rosy for TypePad. Two days ago a colleague asked me if he should host his company site on TypePad or host it in-house, and I recommended TypePad, "They'll be around for long long time" I assured him.
I sent him a message today, reversing my assessment.
Stupefying Bush
As I have written before, I don't like Bush and I don't think he makes a good president. But I feel this way, not because I think he is stupid or a bad person, but because I think he is too obsessed with certain issues, one of them being Iraq. He often say stupid things by mistake but sounding stupid doesn't mean he is stupid. How can he be stupid yet smart enough to fool hundreds of millions of Americans about WMD in Iraq?
Stupefying Bush is not that different from dehumanizing our enemies. He talks stupid so he must be an idiot. Since he is an idiot, everything he say or does is stupid. So on and so forth. IMHO, there is nothing wrong with being stupid (remember Forest Gump?) as long as the stupid person's mistakes does not jeopardize rest of us.
Bush is such a position so whether he is stupid or not matters. I don't think Bush is stupid. I also don't think he is bad or corrupted. But he is obsessed, unbalanced, and careless. Not exactly what I am looking for in my president.
He is a man who seems to be drowning in his ideals and obsessions, a man whose unbalanced views, priorities and careless waving of the national security flag have trickled down the hierarchy of the US government and armed forces, creating pockets of atmosphere that disregards civil and human rights.
If the President of United States openly expresses anger toward specific races or nationalities, how long do you think it will take for the 'attitutde' to reach the INS employees at US border or soldiers in Iraq? IMHO, it takes just hours to mere days. With such winds of bias blowing constantly over 4 years, how many can escape from being influenced by the President desires and biases? Not very many, I think.
Microsoft Open Sources WTL
Microsoft is finally open sourcing WTL (Windows Template Library) at SourceForge.net. WTL is popular among Win32 C++ programmers for building lightweight applications and extensions such as IE plugins or ActiveX, but it was never supported officially and managed to limp ahead through individual efforts of the ATL team members.
The version in the CVS seems to be an alpha 7.5. If you need a stable version, download version 7.1 from Microsoft.
Art of Another Kind

I think Halle Berry is sexy, particularly her face, voice, and, er, you know what. But I didn't think her nose was that particularly good looking until I saw her Catwoman photos like the one above. Isn't it amazing how hiding the nose under the mask changes her overall look? She doesn't look like Halle Berry at all. Even her you know what looks less attractive. Weird.
I filed this post under Technical category for obvious reasons.
Art of Assembly
While my first program was written in Basic, a simple game typed onto a neat roll of yellow paper tape during lunch hour, my first program as an engineer was written in assembly. I still have nostalgia for the assembly language and it's ability to squeeze amazing performance out of even whimpy computers. While the popularity of assembly language has dimished much over the years, you can still enjoy it and might even find good excuses to use it again.
Check out the Art of Assembly Language Programming and HLA (High-Level Assembly) site. There you can find the latest version of the classic Art of Assembly book and assembly language tools/libraries.
Tortures for Dummies
Usually Tim Bray makes a lot of sense, but his recent post Torture didn't make much sense to me. This is what he wrote about those soldiers at Abu Ghraib who are being charged:
This recent New York Times piece got me mad enough to provoke this essay. It’s a lengthy cri de coeur about those poor soldiers on the scene at Abu Ghraib, understaffed, undertrained, overworked. Excuse me? They’re torturers! They’re sick out-of-control sadistic animals. Can we have a sense of proportion here?
Apparently, he believes in the saying you are what you do. In contrast, I am more partial toward you are a battleground of good and evil and everyone is capable of committing inhumane acts under the right conditions.
We know that inhumane acts can be brought about in many ways, most notorious being brainwashing. To brainwash a person, one must have control over the victim's surrounding through isolation or immersion. Isn't a prison an ideal environment for brainwashing whether the victim is a prisoner or a guard? Can one brainwash oneself? Definitely. If your peers are brainwashed, what's you chance of being infected?
Even if you have the iron will, a rare property in my opinion, you won't last long under interrogation because interrogation is an art of not only pain but an art of brainwashing. To break you, they will first break your perception of the world, twisting it as if opening a jar, aligning it into a position that will give, turning allies into enemies and friends into betrayers. Guess who those soldiers were interacting with on daily basis? That's right, professional brainwashers.
I am not saying they are all angels corrupted by evil interrogators. What I am saying is that they are not too different from you and I. The problem is not just them, but all of us.
You know what you did, but you know not what you do.
Suspected Developer of File-Sharing Software
In this Wired news about a Japanese professor being arrested because he is a 'suspected developer of file-sharing software'. Wow. I wonder if a 'suspected innovator of file-sharing software' like me might get arrested someday?
Phishmark Patent
I found out last Friday that the Phishmark idea is likely to be covered by a patent filed by PassMark two years ago. Although I haven't read their patent application yet, discussion with Louie Gasparini, CTO of PassMark, made it clear that the broad languages used in the patent covers not just use of user/site specific visuals on the webpages for website authenticity, but also use of user/device-specific visuals in client-software for verification of UI authenticity.
Since I never planned to patent Phishmark and have many other ideas to pursue, I am not planning to disputing PassMark's patent. If you have planned to use Phishmark in your product already, I advise you to talk to PassMark. I am sorry if this turn of event affects your product. As for me, I'll have to credit one of my clients for the hours I spent implementing it.
Does this upset me? Not really. Anyone can have ideas and I have more fair share of them. Execution is important too but I care more about people and how ideas affect their lives. Phishmark was a good idea, but someone else had a similar idea and had the courage to follow through. Yes, the situation is rather awkward, but not uncommon.
As they say, if your pants are uncomfortable, keep walking.