[ erys : resume : netscape : mork ]

rysmccusker at yahoo dot com
cell: (415) 215-1797
David (Rys) McCusker    
cell2: (415) 606-2797    

resume, rys, tech,


index, selfmade, mtnlake, apple:pink, apple:taligent, cats, apple:opendoc, netscape, pivia, osaf, pivia:temp, paypal, akamai,

mork, what, why, news, jwz,

The gothic jack-in-the-box image had no purpose when I first made the button. Then I noticed it might fit Mork, in an ironic and amusing sense. Please note, the stabbed figure does not denote any person living or dead, and is not a comment about anyone except perhaps myself.

Mork was the name I gave a text file format at Netscape, used for address books and history files under Mozilla, when the mail/news team first released an open source version of the mail user agent.

I was ordered to use a text file format, which I thought was very stupid. Guha and jwz offered up a prototype they had named SSF for "silly summary file", which had problems. So I proposed Mork instead, from Mork & Mindy because many folks thought Mork silly. I thought Mork was zany, which is one better than silly, and a fitting replacement for a silly format.

I wrote this page because someone named John W Rambo sent me an email in February 2005 asking about the Mork file format. Over the years I've received several emails asking for help in reading this format. Now seemed a good time to help, while I'm job hunting. But I only plan to devote a couple hours to this.

Click on the magnifying glass buttons to reach each page described.

This page describes what the Mork file format means, and how it works. I attempted to avoid everything unrelated to format. To hear about human factors, read one of the other pages.

I hope this description of the format makes it easier for you to write a successful parser that avoids potential usage problems. This is the free help I offer to folks using files written by Mozilla. I was not paid to write these web pages, but I would not mind if you tip me. (If you can't tip me, and you simply must discuss me in public, please be as funny as jwz in your insults. :-)

This page explains why I designed Mork as you see it, and why the constraints other folks handed me led to such a design, and why Mork was used for more than mail/news summary files and address books. Some folks severely criticized Mork, and not without good reason. I accept little responsibility, because I hated the silly demand for a text based file format. However, I follow orders when it's my paid job.

The first thing I did was find a copy of my old Mork sources. Here's a gzipped tarball: mork.tar.gz.

Obviously these sources are still under the Netscape Public License, as marked in the files. If you want updated sources, you should go look at www.mozilla.org. I have no way of knowing whether files currently written by Mozilla still conform to the format understood by the sources you find here. All I guarantee is that this is the source I knew last, and I wrote all the source. Perhaps I'll write a new reader under ivy. Don't ask for my labor without offering to pay; I'm a poor man with children. I'll write code for free when I have time.

A few years ago, I pulled many of my newsgroup postings and archived them on treedragon. Yesterday I grepped these files for "Mork", and here's the resulting news I thought you might want to see.

I'm sure some folks are curious about these news postings, which seem to replace formal documentation that might have been better. It was not my choice. I was under orders from Netscape managers, which might be loosely summarized as follows:

  • conduct all discussion publically in newsgroups
  • don't write documentation besides newsgroup posts
  • include the public in decision making when possible
  • if the public won't participate, publish all decisions
  • don't write a real database using, let's say, btrees
  • also don't use a real database; use a text file format
  • but maximize performance under memory pressure
  • be fully responsible for preventing user data loss
  • heed coworker preference for table based interfaces

Jamie Zawinski, also known as jwz, seemed quite unhappy about Mork. Yesterday, when I googled for material to answer Rambo's question, I found jwz's Perl script for parsing Mork, which contains this comment: "McCusker is a complete barking lunatic." After I stopped laughing, I wondered if I ought to explain for the benefit of other folks; the page linked here does so. Jamie never met me in person, and presumably bases opinion solely on newsgroup exchanges.


rysmccusker at yahoo dot com
cell: (415) 215-1797
David (Rys) McCusker    
cell2: (415) 606-2797