Author Archives: admin

Balisage Impressions, At Long Last

I tend to write these “long time no post” posts from time to time. It’s a guilt thing, I suppose, and it’s how this post began life.

This time, though, I did have things to write about. There is the Balisage 2012 markup conference I attended two weeks ago, and it would be such a waste not to post something on it. I gave a paper there, my little something on how to implement XProc with more XML, and I even participated in MarkLogic’s demo jam with even more of the same. Great fun, that.

The most fun I had at Balisage had to do with listening to others give papers, however, with special mention having to go to Wendell Piez‘s talk about how to process LMNL (non-XML) markup. LMNL is all about overlapping structures, the kind of thing that XML just won’t do, and it’s absolutely awesome. For some reason I’ve not given the overlap problem (or, for that matter, the related problem with discontinuous structures) much thought lately. I should have. LMNL, it seems to me, should be very useful for analysing dead languages such as Middle Egyptian where overlapping markup could be used to present alternative interpretations for grammar, pronunciation, and so on. There’s a paper begging to be written, right there. Next year, maybe.

It is good sometimes to remember that XML is not the answer to everything.

But there was more, a lot more. There were some excellent presenters, such as Steven Pemberton discussing abstraction errors (among others, in the C language), Norm Walsh with his compact XProc syntax proposal, and, of course, the undisputed king of keynotes, Michael Sperberg-McQueen, who, as Eric van der Vlist tweeted, “has a special gift to make each presenter feel clever in his closing keynotes.” And so many others.

And I really should mention Betty Harvey’s talk about implementing low-cost electronic documentation for a DoD contractor. In glorious SGML. I love history lessons, especially in my chosen field, and Betty’s was a stroll down memory lane.

Anyway, Balisage was fun and you really should have been there. Or maybe not if you aren’t into markup, but if so, why are you still reading this?

Early Submission

I submitted the final version of my Balisage paper yesterday, no less than nine days before deadline. It felt good but also quite odd; my usual MO is to edit until the last possible moment before submitting, checking and rechecking, editing and re-editing.

Review Angst

The Balisage paper acceptance email I got a few weeks ago contained not only the good news and some practical information with deadlines and such, but also peer review comments. When I first opened the email, I consciously avoided reading the comments, instead enjoying the moment and wondering about practicalities. I thought I’d start revising later; there was, after all, plenty of time.

A week went by and while I did think about ways to improve my paper, especially what examples and code to include in the presentation, I did not read the comments. After the second week, most of which I spent busy in customer projects, I still had not read the comments. Yes, I did think about my paper and I did take care of the practicalities, from passport to registration to hotel room reservation to booking flights, but I did not read a single comment.

It then dawned on me that my unconscious was hard at work avoiding them.

Peer reviews are the kind of feedback I tend to care about, and care about a lot. They are the exact opposite of your mum complimenting on your doodles on paper (“very nice, dear”), because they are written by people who a) know the field and b) want to understand what I’m trying to say, but also c) attempt to determine the validity of my ideas. Effectively, d) they decide my fate, not just the paper’s.

Sounds dramatic, right? It is, because I care very much about what I do, and I’d like to think that my ideas are worthwhile, that they add something. In my mind, the acceptance of the paper itself is secondary; it is instead vitally important that what thepaper represents is accepted, that the ideas are sound. Make sense?

Yet, paradoxically, when using those same ideas in my work I’m self-confident and usually will have a pretty good idea of what works and what doesn’t. I’m not particularly sensitive about them and will change them if needed, without bruising my ego too badly. It’s natural for ideas to evolve and to change; it’s natural to adapt.

Why are peer reviews different?

By the way, I did read the comments, eventually, and survived. They were quite useful, actually, and entertaining, too.

The Final (?) Take on Film Markup Language

As some of you may know, I sometimes project films at the Draken cinema when I’m not busy doing XML stuff. Also, as I’ve noted before, film projection is moving from analogue to digital and it’s all happening very, very fast. The commercial cinemas, multiplexes all of them, now run films on hot-swap hard drives in servers coupled with ugly digital projectors, and the one remaining 35mm cinema, an art house, is rumoured to close soon.

So today, after a call from the city council’s school cinema group, I started thinking and realised that while I did consider the advent of all things digital when I first wrote Film Markup Language, even updating the DTD to include some rudimentary support for 2k and 4k projection for my 2010 presentation on it in Prague, it’s too late to actually modernise the DTD or the spec for what’s actually going on today.

See, the digital thingies do use XML. It’s inconsistent and looks like some weird kind of committee hack, though, the kind of XML you might find in Java config files, but it’s XML and it seems to be enough. So, Film Markup Language is dead for all practical purposes.

It’s kind of sad.

Balisage 2012

I’ll be presenting a paper at Balisage 2012 in Montréal, Canada, in August. For those of you who have no idea of what I’m talking about, Balisage is is a conference on markup, a sister conference to XML Prague, and, together with the latter, a markup geek’s wet dream. The conference is not just about XML (although quite naturally, XML takes up a lot of space), there are all kinds of topics related to markup theory and practice, including all those semantics you really can’t formalise using XML.

Balisage, along with XML Prague, is also a conference where the discussions that inevitably follow the presentations are actually on topic and intelligent. It’s a very humbling experience to stand before a crowd of experts that can and will spot any flaws you might have in your slides, suggest improvements you never thought of and generally offer valuable insights. It’s a forum for learning, whether you are a presenter or a part of the audience.

I’m really, really looking forward to August.

Peer Reviews

I’ve been peer reviewing for an XML conference, lately, and I just have to say that this markup thing doesn’t seem to be a passing fad.

Seriously, after 15+ years in the field, it still amazes me how useful it can be. Markup practitioners are a creative bunch, and more often than not, peer reviewing is a very humbling experience. There’s so much I want to (need to) learn more about, so many technologies to try, and so little time.

I should probably post this and go back to experimenting with XQuery.

Query vs Change

My friend and fellow XML geek Erik Siegel writes about marketing XML databases in his latest blog post. Basically, Erik says that XML database vendors aren’t doing themselves any favours by marketing their products simply as databases in the strictest definition of the word, that is, places for storing, indexing and querying data that happens to be XML, instead of bringing forward other relevant points having to do with processing the XML with other cool standards that all begin with the letter X.

I’m not going to argue the points he makes – they are perfectly valid and I agree with them – but one phrase in his list of XML database features struck a chord with me:

Processing Engine: On top of this data storage is always a processing engine. This engine can run XQuery programs for querying and manipulating the database. Besides XQuery it usually implements other X languages like XSLT, XProc, XInclude, Schema validations and the likes.

The emphasis is mine.

Manipulating, to me, means changing in some way. In other words, manipulating as opposed to querying. You may think I’m arguing semantics, especially considering that it’s what you do with XQuery in an XML database. You query and you manipulate.

Problem is, for me, a database is all about storage, it’s all about storing my data reliably. Yes, they all add functionality for all kinds of stuff, from queries to, well, manipulation, but to me, the focus is on reliable storage. If I store my data there, I want to know for certain that I can retrieve that same data three years later. I don’t want to query and manipulate my data; I want to query my data and then do stuff with the data outside the storage area, if that makes sense.

That, of course, is where version handling comes in. If you manipulate data, you change it. But if you want to (reliably) store your old data, you first make a copy, then change the copy and store that, preferably linking the two versions with each other in some nifty manner, so that you’ll know that they are related to each other, three years later.

Of course, that’s quite a bit more functionality than that simple database for, erm, queries and manipulation, but to me, reliable versioning is what really makes them useful. Without it, I’d be constantly worried about my XQuery skills, which, I have to admit, could be better.