Referencing and Encoding Metadata
We need data permissions to be as portable as the data itself. So too for all metadata. Over the course of IIW East, I had a revelation (for me) that there's real power in having metadata encoded in the same format as the data itself and, in a related way, allowing self-refernce so that the meta data can be referenced from the document it describes. I think I've always believed that, but hadn't really articulated it to myself until yesterday. Certainly, this idea isn't new. Just look at XML for the largest, recent example. Nearly everything about and XML
Continue reading {Referencing and Encoding Metadata}
First-Class Namespaces in Programming Languages
Over the last few years, I've written plenty of programs--in various languages--that used a HTTP library to fetch an XML document pointed at by a URL and then used XPath to grab parts and pieces of that XML document. The problem with this is that I'm using two different namespaces (the URI and the XML) neither of which is directly supported by my programming language. Programs that use relational databases suffer similarly: a datastore with a namespace that is extralingual. One of the great selling points of JSON is that it reduces the cognitive load of
Continue reading {First-Class Namespaces in Programming Languages}
Fast, Interpreted XML Parsing
I'm in a presentation on a paper called A High-Performance Interpretive Approach to Schema-Directed Parsing (here's the PDF for the paper). Last year these authors presented a fast, validating XML parser (called Screamer) that outperforms Xerces (validating) and Expat (non-validating) by considerable amounts. The problem was that it compiled a custom parser for each XML schema. The fact that it required compiling code made it undeployable with products like DB2 (they work for IBM). This paper presents an interpreted version of Screamer, called iScreamer that is still fast, but doesn't require using a compiler. Instead it produces a parse
Continue reading {Fast, Interpreted XML Parsing}
Compact and Fast XML Processing
I went to a talk on a paper called "Querying and Maintaining a Compact XML Storage" by Raymond Wong, Franky Lam, and William Shui. Here's the abstract and here's the paper (PDF). The authors created a clever encoding of XML that not only takes much less storage, but is also much faster. For example, here's some data he shows for a 100Mb XML document (compared to MS Vista's native XML libraries): The results are sufficient that you could imagine doing this on a mobile phone, for example.
Continue reading {Compact and Fast XML Processing}
Symmetric Queries in XML
Also in the XML session, Shuohao Zhang from Washington State University spoke on Symmetrically Exploiting XML. This paper was nominated as a best student paper. (See the paper.) XML queries are asymmetric because they're hierarchical. Rearranging the hierarchy requires changing the query. This work is aimed at making a single query work across multiple structures. This is useful when you don't know what the schema is, for heterogeneous or irregular data, or when the schema evolves. Axes (parent, child, ancestor, descendent, preceding, following, etc.) are all directional. This work proposes a non-directional axes called closest. The semantics is a
Continue reading {Symmetric Queries in XML}
XML Screamer, a Fast XML Parser
This afternoon I attended the XML session. The first speaker was Eric Perkins who spoke on XML Screamer, an integrated, high-performance XML parser/validator. This paper has been nominated for the best paper award. (See the paper.) XML parsers are slow. Many people think that the human readability of XML is what makes it slow. How fast should we be able to go? Reading through an input file should take about 10 cycles/byte (1GHz processor). Xerces-C does 6Mbytes/Sec/GHz. Expat is 12Mbytes/Sec/GHz. What's happening with all the other cycles? Eric walks through the steps required to parse a file. There are
Continue reading {XML Screamer, a Fast XML Parser}
Document Engineering
At the InfoWorld SOA Executive Forum last week I met Bob Glushko who's on the faculty at Berkeley's School of Information, what they're calling the "i-school" (with no royalties to Apple, apparently). Bob's the director of the Center for Document Engineering. The mission of the CDE is to "invent, evaluate, and promote model-based technologies and methods that enable the automation of document-centric business processes and the implementation of business relationships as a network of document exchanges." As XML technologies have made documents machine-readable and automatically processed, the notion of engineering these documents has become more important. Bob's also the
Continue reading {Document Engineering}
XML and the Real-Time Web
In an article, worth reading, on the use of Web technologies to manage disaster recovery, David Stephenson discusses how XML increases eGovernment productivity: Now there's another piece of the pie from the Center for Technology in Government and New York State: a test project in which 5 New York agencies switched from HTML to XML to produce their websites. As a long-time pimp for XML's widespread use in government as a tool to promote interoperability and data exchange in homeland security, I was ecstatic with the results as reported by Federal Computer Week's Dibbs Sarkar: a lot less time
Continue reading {XML and the Real-Time Web}
Learning from the Web
I've heard Adam Bosworth talk about the lessons we should have learned from the web about semi structured data, but it didn't really hit home for me until I read his arguments in this article in Queue. I read it in hardcopy 6 weeks ago or so and it's finally online so I can link to it. He lists five "unintuitive" lessons: Simple, relaxed, sloppily extensible text formats and protocols often work better than complex and efficient binary ones. It is worth making things simple enough that one can harness Moore's law in parallel. This means that a system
Continue reading {Learning from the Web}
Surfing Your Tivo
I'm probably just hopelessly behind, but in case you are too, I thought I'd post this. If your TiVo is networked (i.e. connected to your home LAN), but can surf the now playing list with a browser and download the shows. Just point your browser at https://your-tivo-ip-number/ The https is important. Otherwise, you end up looking at a do nothing splash page. You'll be asked to authenticate (HTTP authentication). Use tivo as the user name and your media access key (MAK) as the password. You can get the MAK from your Tivo under Setup. Once you download the program,
Continue reading {Surfing Your Tivo}





