XML

Skill level
3 Competent

I started using XML in 2000 at OnlineFocus along with Xpath and XSLT to create a content management system that output ~100,000 static web pages on FedEx's website for ~250 countries in a dozen different languages. I used Apache's Xerces Java library for parsing the XML and Apache's Xalan Java library for searching the XML tree and then transformed the XML into HTML markup using XSLT. I also started using Unicode wherever possible when web browsers supported it, otherwise I needed to use older encodings like Big5 for some Chinese dialects. I also used DTDs to create new tag names together with an XML validator to enforce proper use of XML vocabulary and structure.

I've used both types of XML parsers: SAX and DOM. I used the SAX (event-driven) parser for FedEx because the DOM parser requires the entire XML tree to be loaded into memory before parsing can begin. As the FedEx XML files grew quite large over time, this became a major issue. Using XPath with a SAX parser was slow but that didn't matter for the FedEx because everything was rendered as static web pages only once then uploaded to the FedEx website.

In 2015 at the Barco New Experiences division, I needed to parse and search XML configuration files that defined the server's device configuration interfaces and automatically create client-side GUI controls and API calls that configured those devices on-the-fly. New devices could be managed by just updating the XML configuration files and both the server and client applications automatically created all the APIs and GUI controls to manage the new device. Instead of DTDs, we used XML schema definitions. I used the defiant.js JavaScript library to execute advanced XPath expressions over the XML configuration tree. I didn't use XSLT for this project because I needed to dynamically build the API calls and GUI controls directly in JavaScript.

One thing I like about XML is that comments are part of the spec., whereas in JSON, comments are not.

Experiences using this skill are shown below:



Prototyped a Star Wars™ like meeting experience

Created several proof-of-concept webapps in 2017 experimenting with ideas that will make virtual meetings more immersive. Our approach was largely inspired by the Star Wars™ films. If you remember, the Jedi Council held meetings in which remote participants were sitting in seats using holographic projections of themselves and vs. versa. I prototyped the same two-way immersive meeting idea using WebGL 3-D and WebRTC in web browsers.

Barco Labs (research)

[I know, this section just echos the same stuff as on the résumé. I plan to expand later.] Worked with PhDs, staff and university interns researching disruptive technologies. Barco Labs deliverables are research papers, patents and demos. Any research that might become a viable product in 2 to 5 years is then passed off to one of the product divisions. (Due to the trade secret nature of this research some details cannot be revealed.) Accomplishments:

Prior Work

INDEPENDENT CONSULTANT
2002 — 2006
Zaun Consulting (self-employed) [Boulder Creek, CA]
Yahoo! Research Labs (research lab) [Burbank, CA]
2005
The Burke Institute, (education foundation) [Santa Cruz, CA]