Archive for January, 2009

Thursday, January 29th, 2009

Geek Thoughts: useless

Computers are useless. They can only give you answers. — attributed to Pablo Picasso.

Economies are useless. They can only provide goods and services.

More collected Geek Thoughts at

Tuesday, January 27th, 2009

Call for speakers: MarkLogic user conference

This year’s Mark Logic User Conference is May 12-14, in beautiful San Francisco. Attend the conference at no charge as a speaker! Submit a proposal for a breakout session on business applications, technical implementation, or best practices. Deadline is February 13th. Thanks! -m

Monday, January 26th, 2009

MarkMail 2.0 launches

If you’ve seen MarkMail before, you may be pleased to know that a new version launched last week, including new features (like saved search sets) for power users. If you haven’t seen MarkMail before, what are you waiting for? -m

P.S. If you could use something like this behind your firewall, ping me.

Monday, January 19th, 2009

Geek Thoughts: status double take

I’m not now right here.

More collected Geek Thoughts at

Monday, January 12th, 2009


Busy week ahead. Minimal posting. -m

Saturday, January 10th, 2009

Defining the Prime RDFa use case (without mentioning RDFa)

At least, that’s how I’ve summarized John Allsopp’s article on HTML5 semantics. -m

Wednesday, January 7th, 2009

On porting WebPath to Python 3k

I’ve started looking into porting the WebPath code (and eventually XForms Validator) over to Python 3. The first step is external libraries, of which there is only one. WebPath uses the module from PLY. I had got it into my head that Python 2.x and 3.x were thoroughly incompatible, but leave it to the remarkable David Beazley to blow that assumption out of the water: the latest version of from SVN works in both 2.x and 3.x.

From there the included 2to3 tool was easy enough to run. (Relatively more difficult was getting 2.6 and 3.0 versions of Python frameworks installed on Mac, but even that wasn’t too bad.) The tool made some moderate changes, and I can run the unit tests, and a few even pass!

The primary remaining problem stems from code where the documentation is a little unclear, and my inexperience is severe. The part of the code in that reads nasty, grotty HTML via Tidy and produces a clean DOM throws an exception every time. Seems to be a mismatch between String and Byte (encoded string) types, but manifested as a failed XML parse. Sans exception handling, the code looks like:

    page = urllib.request.urlopen(fullurl)
    markup =
    dom = xml.dom.minidom.parseString(markup)

urlopen() returns a file-like object, but the docs didn’t seem clear on whether it’s like a file opened in byte or string mode. In any case, I’m almost certainly doing it wrong. Suggestions?


Monday, January 5th, 2009

T.V. Raman in the New York Times

My friend and XForms conspirator T.V. Raman was written up in the New York Times. (Link) [If the link happens to not work because of NYT’s stupid content policy, access the article via a search on Raman’s name on Google News.] Raman has done all kinds of great accessibility work that benefits everyone, photon-dependent or not.

Great picture too–love the closed laptop. -m

Monday, January 5th, 2009

Geek Thoughts: qotd

Superior leadership, make no bones about it, is pure selling…establishing the perception, the feeling, the picture, that your view is right, that you listen, hear, and understand, that you are worth listening to and following.

A Passion for Excellence, pg 109. Written about 20 years before Twitter.

More collected Geek Thoughts at

Friday, January 2nd, 2009

Geek Thoughts: toddler agility

When the little ones reach a certain age, your home is filled with the pitter-patter of face plants.

More collected Geek Thoughts at