Category Archives: Balisage

ProXist and My XML Prague Paper

I recently submitted the final version of my XML Prague whitepaper about my eXist implementation of ProX, called ProXist (with apologies for the tacky name). While I’m generally pleased with the paper, the actual demo implementation I am going to present at the conference is not quite finished yet and I wish I had another week to fill in the missing parts.

Most of the ProXist stuff works but there are still some dots to connect. For example, something that currently occupies the philosophical part of my brain has to do with how to run the ProX wrapper process, the one that configures the child process that actually does stuff to the input. ProX, so far, has been very much about automation and about things happening behind the scenes, and so I have aimed for as few end user steps as possible.

My Balisage ProX demo was a simple wrapper pipeline that did what it did in one go. Everything was fitted inside that pipeline: selecting the input, configuring the process that is to be applied to the input in an XForm, postprocessing the configured process and converting it to a script that will run the child process, running the child process, saving the results. Everything.

But the other day, while working on the eXist version and toying with its web application development IDE, it dawned on me that there doesn’t have to be a single unified wrapper process. If its components are presented on a web page and every one of them includes logic to check if the information from a required step is available or not (for example, a simple check to confirm that an input has been chosen before the process can be configured), they don’t have to be explicitly connected.

The web page that presents the components (mainly, selecting input and configuring the process to be applied on the input) then becomes an implicit wrapper. The user reads the page and the presentation order and the input checks are enough. There is no longer a need a unified wrapper process.

Now, you may think this is obvious, and I have to admit that it now seems obvious to me, too. But I sometimes find it to move from one mindset (for example, that automation bit I mentioned, above) to another (such as the situation at hand, the actual environment I implement things in) as easily as I would like. If this is because I’m getting older or if it’s who I am, I don’t know. In this particular case, I was so convinced that the unified wrapper was the way to go that it got in the way of a better solution.

At least I think it’s a better solution. If it isn’t, hopefully I can change my mind again and in time.

See you at XML Prague.

Modular XForms?

I just read Eric van der Vlist’s excellent XML London paper, in which he discusses the (lack of) modularity in XForms, caused to no small degree by the XForms MVC architecture, and, more importantly, offers solutions and workarounds. I really should have been there.

Having dabbled with XForms myself lately, I’m now very much looking forward to his talk at Balisage and the International Symposium on Native XML User Interfaces in Montréal, later this year.

Not One But Two Papers Accepted

Both of my papers submitted to Balisage were accepted. I feel honoured and somewhat nervous.

My second paper is a progress report of sorts and about ProX, my XML processing XML. I think it’s going to be very cool, especially because I will have an implementation to show. I finished the wrapper pipeline to run everything with just the other day, and one day very soon that wrapper will do things with a live ProX (my processing XML format) document, including some actual publishing.

As the Balisage blurb says, life is good.

Balisage 2013

My paper was accepted for this year’s edition of Balisage, the markup conference held in Montréal, Canada in August every year. I’m going to talk about profiling XML using an abstraction level to avoid the problems associated with using plain values.

I’m really, really excited and honoured. 

Processing XML with Process XML

I presented my ideas on processing XML using XML at Balisage, earlier this year. While there I actually demo’d converting my Process XML draft to a FreeMind-based user interface at the MarkLogic-sponsored demo jam. Well, it wasn’t as much a user interface as it was a representation of the XML that might be used to create a user interface with, but it was a start and today I’ve finally taken it a few steps further.

Um, that’s not exactly true either. I’ve worked on my Process XML some more during the last few weeks, because I’m using it for a customer project. What started out as a DTD is now a RelaxNG compact schema that uses xml:base to ease processing, covers most of the current Calabash version (1.0.3-94, as I write this), and is actually useful.

But today I wrote “live” Process XML, XSLT and pipelines that will make it a reality. The GUI will not happen for some time yet, because there is no need for one in the current implementation, but it’s going to be used for describing various XML-related processes that include XProc pipelines on an ​eXist​ server handling on-demand publishing.

And it’s very cool.

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.

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.