Ex Bibliotheca

The life and times of Zack Weinberg.

Sunday, 27 January 2002

# 10:45 PM

The kitchen and bathroom are clean. I didn't make it to the grocery store, and it's a bit late now. I think I'll go out to dinner (the kitchen is still drying out, so I'd have to do that anyway) and then spend the evening picking up clutter and vacuuming the rest of the apartment, and that will be enough.

All the time I was cleaning I was imagining an article for ReadyMade magazine about how to clean your apartment. The mag is aimed at the twentysomething-slacker set, they might appreciate such an article. But I'm not sure whether I can cop enough style to write it the way they'd want it.

Edited the previous entry to be less confusing.

Mozilla's built in HTML editor is still too slow be useful. Come on, people, make the cursor keep up with me.

# 7:30 PM

Seth provides a link to a fascinating paper, On the (Im)possibility of Obfuscating Programs, which demonstrates that it is not in general possible to write a program that translates arbitrary code into unintelligible form. They can do this despite the existence of thoroughly obfuscated human-written code: as they acknowledge up front,

Indeed, any programmer knows that total unintelligibility is the natural state of computer programs (and one must work hard in order to keep a program from deteriorating into that state).

The catch appears to be that their notion of obfuscation is a lot stronger than the intuitive one. They define it to be impossible to extract any information from an obfuscated algorithm other than that available from running it as a "black box." For instance, an obfuscated algorithm could contain secret data (such as an encryption key) without any fear of its being compromised.

By contrast, the intuitive notion of obfuscation is more like, given the source text of an algorithm, an observer cannot determine the algorithm itself, but may be able to extract other information. For instance, an embedded encryption key could be recovered. This is much weaker, but also much harder to formalize. It would be interesting to see if it could be formalized, and if so, what could be proved about it.

# 4:30 PM

Okay, now to worry about Windows IE mangling the page. This time I think it's my own damn fault for using absolute positioning and pixel sizes. mozillaZine uses table-cell positioning instead, which may work better. IE also screws up the inter-paragraph spacing. Again, I think it's because I've written excessively clever CSS which doesn't mean what I thought it meant, but winds up looking okay in Mozilla anyway.

But I'm not going to muck with it today. I'm going to make myself an omelette, then I'm going to clean the kitchen and bathroom, and then I'm going to go buy groceries.

I wonder if there's any social situation worse than watching two friends have a lovers' quarrel in front of you.

Here's another great quote from an HCI paper:

...A coprocessor of largely unpredictable behavior (i.e. a human user) has been aded, and the systems algorithms have to mesh with it. There is no data sheet on this coprocessor, so one is forced to abandon the idea that one can design one's algorithms from first principles.