Writings, Presentations, Accomplishments and Other Projects

A comprehensive list of everything I've written? Perhaps some day, as all content, past and present, gravitates to a web standard. But for now, this is but a random slice, a few facets, an incomplete history. Still, maybe you'll find something entertaining, or at least something interesting.

Where to begin? Would you prefer the most recent or a terse dry c.v.? They say first impressions happen once (or that you only get one chance or some such thing). Yes, a phenomenon for sure, but what advantage does that confer to you? Are you governed by your nature or do you choose to rewrite it? Do you allow your choices to be determined by effectively designed adverts, or do you recognize their trickery and adjust your evaluations to compensate?


Two sentence summary: I focussed on math, computers and sciences in school ending with a MSCS from Stanford. I have had the good fortune of working and shipping products at the following companies/organizations: JPL, Sun, Oracle, Apple, 6prime, and Microsoft.

CSS Examples

During my tenure at Microsoft, I helped code and ship several versions of Internet Explorer for Macintosh, where I focussed first on the CSS support, and then later on the rendering engine as a whole. Along the way I developed a few CSS examples to demonstrate some of the possibilities.

These pages contain a handful of sample usages of CSS, to layout and style various things I have seen in traditional media (posters, print, tv, etc.). CSS provides web authors much greater control than legacy HTML over layout and styling of their web pages — these examples help demonstrate this fact. They also demonstrate that CSS styled content may not look as you would expect or like unless you have a CSS1 capable browser, (currently that means IE5/Mac, IE6/Windows, Netscape 7.1 or greater, Opera 6 or greater, Safari 1.2 or greater, or perhaps some new browser currently under development).


As an implementor of CSS support at Microsoft, I have been fortunate enough to participate as their representative to the W3C CSS&FP (formatting properties) Working Group. These are the very people who invented CSS [Håkon Wium Lie (howcome@w3.org),Bert Bos (bert@w3.org)], and W3C staff and representatives from other member companies of the W3C. I have also had the opportunity to participate in the W3C HTML Working Group.

These working groups work to advance CSS and HTML, and do so by publishing public working drafts (which hopefully eventually become recommendations) on the W3C Technical Reports page. Test Suites both enable validation of implementations and demonstrate feature implementability and interoperability to help drafts advance from CR to PR. Here are a few that I have contributed to.


Recommendations are publicly available "standards" from the W3C.

Test Suites

Test Suites are developed by W3C to help implementers check their implementations, and to help demonstrate that the features in a draft have been interoperably implemented. This is very important for standards seeking to successfully exit their CR state, as standards which have yet to be proven out by implementation are often plagued with ambiguities, errors, contradictions, and other complexities which hinder and may even prevent their complete implementation.

Candidate Recomendations

Candidate recommendations are publicly available "candidate standards". The W3C encourages implementations of candidate recommendations in order to gain sufficient implementation experience to determine whether such documents should become full fledged recommendations.

Working Drafts

Working Drafts are publicly available "works in progress" for review by W3C Members and other interested parties.


Proposals are internal to W3C working groups, and are available for review by W3C Members.


Here are a few articles I helped write a few years ago - they are pretty technology specific, and may seem a bit dry if the topic is outside your area of interest. Then again, maybe you're curious about multidimensional common data format issues, or user interface negotiation between a component and its host. The articles are several years old, and cover a few of the details of developing for OpenDoc, a multi-platform component software technology primarily developed by Apple Computer. OpenDoc was last supported on MacOS8. Apple pulled down the official OpenDoc website, but they still provide access to OpenDoc documentation which yours truly of course contributed to ( OpenDoc Class Reference for the Mac OS, Inside Macintosh: OpenDoc Cookbook, Inside Macintosh: OpenDoc Programmer's Guide and Documentation Updates for OpenDoc ). OpenDoc is no longer supported on current releases of MacOS, and Apple has even provided instructions for how to remove OpenDoc from your system. However, the issues and problems discussed in my articles are still very real, and yet to be solved by today's component software technologies.


Similar to articles except these have fewer words, larger type, and are paginated. See the difference?


This too deserves its own page. See how a senior software engineer still clings to a fifteen year old, Mac-only, rapid development platform...


A persistent data format serves to permit one application session to externalize a portion of its internal state, and then at some future date, another, perhaps different application session to internalize and reconstruct that internal state. Human beings are the application sessions. Emotions are the internal state. Poetry is the persistent data format. Do you open documents without hesitation, or do you subject each and every one to a virus checker? Yet, for some data formats, no one has yet written a virus checker, so what do you do then? Perhaps a broken link.