I'll start by responding to a few threads here, namely
simonstl on ASN.1, and sej on EPS/PDF.
brought up ASN.1 as a possible
alternative to XML. It's worth looking at, if for no other
to be aware of history so you don't have to repeat it. The
are clear: it is much more compact than XML for
and it is quite mature. However, the associated schema
especially nice (schema language design is a very hard
it carries quite a bit of historical baggage.
In particular, implementations have tended to be
olden days, most implementations were "compilers" that
C code to marshal and unmarshal ASN.1 data in and out of C
structures. This mostly-static approach loses a lot of
course. Code quality is another issue. I am unaware of any
ASN.1 tool that approaches the quality of open source XML
as DV's excellent libxml (although it's possible things have
since I last looked).
Another major piece of baggage is X.509, a truly horrid
for public key certificates using ASN.1 as the binary
sane people who have encountered it run away screaming. See
style guide for a more detailed critique.
So it's worth looking at ASN.1, but it's certainly no
Incidentally, ASN.1 is one of many attempts to define
data formats for tree structured data. I hear good things
bxxp/beep, but haven't studied it carefully enough to
critique it. Off
the top of my head, there's sexp,
the binary data format for SDSI (the name reflects its
Lisp S-expressions). Further, most RPC mechanisms define
encodings. Don't forget IIOP (Corba), XDR (Sun RPC), and so
sure all have advantages and disadvantages.
What exactly are the goals? As I see it, the main
are bloat (for general data; XML bloat in marked up text is
acceptable) and complexity (XML is only medium-bad here).
formats help a lot with the former, and may or may not with
latter. But there are a lot of other considerations,
- Quality of implementations (XML wins big).
- Associated schema languages (messy; importance
- Suitability for dynamic mutation (XML's DOM is a
if inefficient, API for local tree manipulation; most other
don't have anything similar, and their more rigid nature
would make it
- Scaling. XML itself doesn't scale particularly well
but is usually implemented in conjunction with URI's, which
binary data format can either help or hinder this goal.
Update: ASCII vs
Binary, by David Reed.
Transparency, PostScript, PDF
sej brings up the desire to
handle vector objects
transparency. Basically, PostScript can't do it, and
will. PDF 1.4, on the other hand, has very rich transparency
capabilities. It's a bit more complex, and caution is needed
dealing with a standard controlled by a highly proprietary
organization such as Adobe, but it has compelling technical
Here are two signs that the rest of the world is moving
pdflatex appears to be far more vital than dvips. Mac OS X
for the imaging and printing metafile.
I went to the O'Reilly Emerging Technology Conference
as the P2P conference) on Wednesday. It was great fun. I met
a lot of
people, some of whom I've known for years (such as Jim
I've known online, but met for the first time in person
Aaron Swartz, Dave Winer).
I particularly enjoyed hanging out with Jim, Roger
Cohen, Zooko, and Wes Felter. It is such a luxury to be able
interact with people on such a deep level. In my opinion,
people to associate with are those you can teach and learn
from. Thanks all of you for making my Wednesday a day of
teaching and learning.
A lot of people have heard of my work, and are reading
think Roger is largely to blame for this; a number of people
hearing about it from him. I had great conversations with
MusicBrainz and nocatauth folks, both of which would be
applications for attack-resistance.
I have this uneasy feeling there's something important
that I left out. Also, one risk of naming names is that
people might infer something from a name being left out. Not
to worry - I genuinely enjoyed meeting everybody I met
Reading David McCusker's log fills me with sadness. The
troubles he's going through resonate deeply for me, as I've
through similar things. I'm in a much happier space
which I consider myself very fortunate.
His technical work is also quite compelling. When we
one of the
main things I want to talk about is whether to join forces
on some of
our pie-in-the-sky dream projects. Collaboration can be a
when the other person doesn't understand what you're trying
to do, or
particularly share your goals. I get the feeling that
working with him
might be otherwise.
David talks about being busy and not having much time
can certainly relate to that. He does, of course, have time
with me, whether he realizes it or not. Other things will of
slide, so it's worth considering their importance in the