Older blog entries for ncm (starting at number 82)

Do British web servers and browsers, and X servers, and Kerberos peers, exchange magic biscuits?

I see two immediate implications of Bram's Law. First, it means that for things that are, nominally, easy, most likely somebody has implemented it right, and probably lots of people. The problem is just finding the good implementations, and calling attention to them. If the HTTP service that comes with Python stinks, the one in Twisted is probably good. (Disclaimer: This is hearsay, I haven't looked at either.) The community is pretty good at recognizing its best and brightest, and making it easy to find out what they think, so if the competent among us help by keeping lists of competently done alternatives to popular but badly-done code, those among us equipped to tell the difference will use the good stuff. The good stuff might get less community participation, but maybe it doesn't need it so badly, given that it's (nominally) easy. In the extreme case, we can each implement and maintain our own versions of such code. Probably we do already, but who likes extrema? Let's each post a Bram's Law List of obscure but competently-constructed alternatives to badly-done but popular components, and let Google collate them for us.

The second, perhaps subtler, implication is that the law might be the first sound engineering reason for making (what might otherwise be) a simple standard complicated. If it's really hard to get something essential to a standard right, then there will be less temptation to re-implement it badly. The danger, of course, is that the bozos will just dispense with the hard bit. MySQL was built without the essential transaction engine, and became wildly popular. (Of course the soundness of this reason depends on the idea in my previous paragraph failing.)

Evolution 1.4.5 still crashes almost every day. I've never had Mutt crash, not even once. Evo, Galeon, and XFree86 are the only programs I (still) use that ever crash.

I just did something fun with high voltage. It involved two metal mixing bowls, aluminum foil, thread, a metal bottle cap, and a TV. Drape foil across the top of the TV and covering half the screen, and put one of the bowls on it. Put the other bowl near it on another scrap of foil, not touching. Hang the metal bottle cap from a thread between the bowls. Attach the scrap of foil under the second bowl to a wire to a good ground, such as the third prong of an outlet, or a water pipe.

When you turn on the TV, it sends a nice static charge into the foil on the screen, and the bowl on it. The bottle cap swings over and gathers charge, and then swings to the other and dumps it into that side, and swings back again, ringing like a gong. This is called "Franklin's Bells", and is perhaps the first electric motor. He attached his to a lightning rod instead of his TV, and used it to detect incipient lightning. For more fun, see scitoys.com, e.g. this one.

That guy who plays Morpheus in the Matrix movies may have had the best role of his career as Cowboy Curtis in Peewee Herman's "Peewee's Playhouse" series, now available on video.

3 Oct 2003 (updated 3 Oct 2003 at 19:40 UTC) »
Bram: Why start by turning all this great high-grade energy into heat? Photons are about as clean an energy source as ever there was, albeit oscillating three or four orders of magnitude faster than we can quite manage to rectify efficiently yet. Lightning is already electricity! You need extreme temperatures to get any respectable efficiency from a heat engine, and all a heat engine does is turn dirty heat into clean motion. The problem with lightning is that it releases an extreme energy burst (1.21 gW? :-) in a millisecond, but you usually need smaller amounts of power over a longer period. Therefore, what you need is really a storage system that can absorb a huge amount of energy in an instant, and then feed it (all of it!) back slowly. Run the lightning through a coil to generate a magnetic field, and use the field to loft a heavy object that releases gravitational potential energy as it descends.

mrd: I can't imagine you neglected to put a "$" at the end of your regular expression to anchor it to the end of the file name...

Evolution 1.4.5 crashed, twice. Back it goes onto my GNOME panel, even though it's quite a lot better, crashwise, (maybe 5x) than 1.4.4. Crashiness seems to be triggered by searching, FWIW.

I've been running Evolution 1.4.5 for over 24 hours, and it hasn't crashed yet. I'm removing its icon from my GNOME panel now, in hopes that I won't be needing to restart it any more.

Does anybody know why jimw's diary entries are being filtered out? This is they guy I mentioned last week as originator, in 1992, of the expression "Sooner if you help" as applied to Free Software releases. I had no idea he was here. If you can do anything to raise his diary rating, please do.

Congratulations to Ximian on release of Evolution 1.4.5! I'm running it now. Here's hoping I can afford to remove the startup button from my GNOME panel, after I verify that it won't crash every day, any more. So far so good!

I've tracked down the origin of the couplet,

When will it be done?
Sooner if you help.
as applied to Free Software release schedules. The earliest use I have found is by Jim Winstead, in 1992, referring to the Linux 1.0 release. Most people credit RMS, but he is not on record saying it until 1999. I wrote to Jim, and he doesn't recall whether he got it from somebody else, so he gets credit until somebody finds an earlier reference.

amars: I think the quote you want is, "Couldn't you at least act like a legitimate government, instead of a pack of thieves?" (cf. "Long Shot for Rosinante", by Alexis Gilliland, the second (small) volume of the trilogy that starts with "Revolution from Rosinante". Recommended! I also encountered there the original expression, "can't fart and chew gum at the same time", which had been sanitized, for popular consumption, into "can't walk and chew gum at the same time" for use on President Ford. Anybody remember him?)

Paolo Carlini has been and gone. Now he is back in Italy and working for Suse, getting paid to do what he's been doing so well all along, but now raising Suse's stature in the Gcc/C++ world. Sometimes justice happens.

Shortly before he left, I ran into Ian "Intent to Package" on the train, wearing his Ximian monkey shirt. Paolo and I didn't get a chance to go out with the Ximian folks before he had to leave. (Not that C++ work gets the respect it deserves at Ximian... evolution would certainly crash less if it were written (well) in C++.) If you ever need advice about a movie, ask Paolo -- he's seen all the good ones.

forrest: It's good to be getting away from Perl, but don't bother with Java for your HTTP coding. Use libcurl.

I can't take the Evolution icon off my Gnome panel just yet. My copy of 1.4.4 just crashed twice within ten minutes.

Finally saw Matrix Reloaded, in IMAX format. It made me wonder about the significance of bad skin -- even Monica Belluci had a rash -- and of what the Oracle is really feeding to Neo -- a cookie (!) last meeting, candy this time. Maybe the bad skin is just meant to remind us that detailed texture doesn't really imply reality. The plot significance of food treats is crudely but definitively demonstrated by the Merovingian's trick. Imprinting with food is common in mythology, e.g. Persephone in Hades, and in pop culture, e.g. Scooby-snacks. Um.

Also saw Spirited Away, on tape. I liked that dragons give paper cuts.

diablod3 and chipx86: Persistently rude users are easily handled: "Please send a patch." Users of free software are not worse than people at large; you now have more contact with the people at large. You are learning about humanity, or anyway westerners. The rude ones are not representative, though. They self-select: polite or otherwise engaged people only write if they have something to say, or to offer.

Often what people say, anyway, isn't what they think they're saying, and what they're really saying is more useful. "Your program can't do X" might mean "It's not very clear how to get your program to do X". Telling them how, or telling them to zark off, misses the point. Fixing the real problem helps a lot more polite people (whom you don't know) than rude people. Some of former wrote the software you depend on every day. They deserve far more than you or I will ever achieve by our little efforts. E.g. ...

The redoubtable Paolo Carlini is in Cambridge, Massachusetts, for nine more days. He will be doing free-software work for Suse starting next month. Anybody willing to get together, or offer advice on what he should take in? He favors Guinness and seafood.

I posted a screed on security & bug fixes, in response to the Postfix hole, on LWN. It's the first-posted (:-) comment.

Saw "Dirty Pretty Things" last night with Paolo. Recommended. Audrey Tautou has a much harder role than in Amelie, and carries it off well.

I just added an icon for Ximian Evolution to my gnome panel. I had to do that because the version I'm running, 1.4.3, crashes a lot more often than the previous ones I used. I see that 1.4.4 is out. I have hope that I will be able to remove its icon from my too-cluttered panel, and just leave it running for weeks on end, like the old one.

73 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!