Ex Bibliotheca

The life and times of Zack Weinberg.

Sunday, 29 December 2002

# 9:55 PM


I can get five days' worth of clothes, a towel, and a sleeping bag into my new suitcase, and that's without using the "unzip this zipper to make it five inches thicker" option. It's light, it has wheels and an extensible dragging handle, and it's pretty much indestructible. And it fits in an airplane overhead luggage bin.

(The hyperlink above is brought to you by the Don't Put Pointless Crap In Your URL Foundation.)

# 5:05 PM

unsuccessful experiment

You ever read one of those novels in which someone steams open an envelope so that the recipient won't know it's been tampered with? Such as Bagthorpes Abroad (if my hazy twelve-years-ago memory is accurate)? I'm here to tell you it doesn't work. Or anyway it doesn't work with modern envelope glue and very little care taken over the operation.

The full story goes, I wrote out this month's rent check early and put it in an envelope to be mailed at the end of the month. Then I got a note stuck under my door saying "please deduct $30 from your rent this month, as compensation for interest earned on your deposit." So I had to change it somehow. Rather than just destroy the envelope and make out a new one I thought I'd steam it open and put a new check in. The steam did indeed soften the glue -- but only in the center of the envelope, where it also softened the paper to the point where it tore at a touch. Meantime, water condensed on the edges of the envelope where it was touching the pot, ruining it.

After some thought, I did the sensible thing, which was to make out a new check and envelope, cut the stamp off the old envelope, and glue it on the new one.

weather musing

In Seattle, the weather was consistently in the low forties. Here, the weather is consistently in the low fifties. Yet I am much colder in this apartment than I was in my aunt's house. I suspect the apartment's lack of central heating and insulation has something to do with this.

political tangent

On some blog or other, I read an entry which points out that Clinton's "Clipper chip" proposal, if implemented, would have provided us all with more privacy than we do now; it would have made all network traffic secure against eavesdropping by anyone other than law enforcement officials with legitimate warrants. The status quo is that almost all network traffic is cleartext and can be eavesdropped upon with relative ease by anyone.

This is true on the face of it, but misses three points: one technical, one sociological, one political. The technical point is simply that the chip would not have become universal, because that would have required revisions to every protocol and every operating system in use today. Right now, when you fill in your credit card number on that secure web page, no one can read the dialogue between your browser and the remote server, but there's a decent chance your transaction will be lumped with a whole bunch of others and emailed somewhere in cleartext. And it's actually easier to intercept that message than the original.

The sociological point is that the crypto is never the weakest link in a security perimeter. It is always easier to steal information by social engineering tactics: for instance, call up the helpdesk and claim to be someone with access to the data you want, who has forgotten their password. This attack has been successfully carried out in the wild; and it can be made a lot more subtle. Consult your friendly local con man for ideas. Or read Secrets and Lies.

And the political point is that it wasn't just a Republican smear job that sent Clipper down in flames. The people in the computer security community who would have needed to approve of it, for it to go anywhere, tend to be of the opinion that the presence of a back door — any back door at all — in a cryptosystem renders it totally worthless. Furthermore, they generally have a deep-seated, considered distrust of government proposals, and the Clinton administration did two things which ruined its credibility on the issue. The design and implementation of the chip was classified, so it could not be reviewed. Contrast the process leading to the promulgation of the AES cipher, which was open to the public; that algorithm is now in wide use. Also, at the same time that the government was pushing Clipper, it was stifling development of secure protocols by preventing the code from being exported from the USA or even discussed with researchers outside the country. (This policy has now been relaxed but there are still awkward bureaucratic hoops to jump through, and active court cases challenging what remains.)

So I don't think it's correct to blame Republican dirty politics for the failure of Clipper, and I don't think it would have been as helpful as the blog-author suggests.

(If anyone knows which author and which post I am responding to, please tell me.)

Friday, 27 December 2002

# 4:30 PM

Back home in Berkeley. The trip wound up with a visit to the Seattle Space Needle and a visit from my aunt and uncle's friend Scott Freeman, his wife Susan, and their children. Scott is a lecturer at the University of Washington and has written an introductory biology textbook. I taught everyone to play Telephone Pictionary, which was a great success.

Telephone Pictionary is a party game for an odd number of people sitting in a circle (or around a table); it works best with seven to eleven players. Each person needs a sheet of paper, a pencil, and a writing surface. To start, everyone marks their sheet in the lower right-hand corner with their initials, writes a sentence at the top of the paper, and passes it to the person on their left. (Or to the right. Doesn't matter, as long as the same convention is followed for an entire round.) That person is to draw a picture which conveys the same meaning as the sentence. When finished, they fold the paper so that only their drawing is visible, and pass it along. The next person is to write a sentence conveying the same meaning as the drawing, fold the paper, and pass it along. Continue until everyone gets back the sheet they started with.

When the sheets have returned to their original authors, then everyone takes a turn reading out the progressive evolution of their sentence. Describe the drawings, too. Much hilarity will ensue.

Take care that everyone agrees on which way to fold the paper, and try to make drawings small enough that one won't run out of page before the sheets make it all the way around. (If this does happen, it can work to continue on the back, if you're careful about folding so that no one sees what's on the other side.)

All this happened yesterday. Today I got up at 0415 to catch my plane at 0600. Ugh. But the flight was uneventful (or so I assume; I was asleep for most of it) and there were only three hundred-odd email messages waiting for me at this end.


The Av is next to the University of Washington Seattle campus, not USeattle.

Wednesday, 25 December 2002

# 8:40 PM

I'm writing this entry from Seattle, where I'm visiting my aunt and her family for Christmas. Seattle is cold and rainy this time of year, but still a fine-looking city to spend some time in; I would like to see more of it than is possible over a three-day visit. But that's okay.

Trip highlights: Yesterday, drove around town with my cousins Sam and Travis. Sam has just started college, Travis is in high school. We went to "the Av" (University Avenue, near USeattle) and to the Pike Place Market. That evening, we all got in a car and drove around a nearby neighborhood almost all of whose residents compete to decorate their houses in the gaudiest possible manner. Thus, e.g. six-foot-high inflatable snowmen. Most awe-inspiring.

Today, all of us went to the Woodland Park Zoo for an afternoon stroll. Most of the animals were hiding from the rain, but we did see some friendly elephants and monkeys. There were only a few other humans present.

I'd like to give a shout-out to the fine folks developing the Bash Debugger, which is slow and somewhat buggy itself, but nonetheless saved my butt last week; and also to Isometric Space Ninja, fine web comics about skateboarding cubes. Finally, Powell's has a review of Baudolino, Umberto Eco's new novel (which I have a copy of, waiting for me at home).

Merry Christmas; catch y'all on the flip.

Saturday, 21 December 2002

# 7:55 PM

Yesterday I had lunch at Restaurant Peony with a bunch of people from Wind River. This is a dim sum place, or at any rate that's what we had (they serve other stuff too) — really good food, but it's necessary to bring someone who speaks Chinese, because the staff are all fresh off the boat, as they used to say. (I suspect this is why the author of the linked review thought the service was spotty.)

Then that evening Shweta and Nathaniel and I rented some videos: Yes Minister episodes, and Labyrinth. Yes Minister is a thoroughly British sit-com about a member of Parliament who's newly Minister for Administrative Affairs and must confront for the first time the dreaded Civil Service; it's brilliant. Labyrinth is a Jim Henson fairy tale starring Jennifer Connelly as the teenage girl trying to find her baby (step?) brother, who has been taken away by the Goblin King to his palace at the center of a labyrinth. She's cardboard, unfortunately; the baby (Toby Froud) and the goblin king (David Bowie) steal the movie. It is not brilliant, but it's quite funny, and has a wonderful variety of muppets as the goblins. I liked it, even though I think a much better movie could have been made on the same theme. Perhaps with a more believable protagonist, or by having the baby and David Bowie literally steal the movie.

Thursday, 19 December 2002

# 1:40 AM

your dose of role playing gaming for the month

The Random Grimness Tables. (May not make much sense if you are unfamiliar with Earthdawn.)

Wednesday, 18 December 2002

# 8:05 PM

Got to the office just as the sun was going down, today. It's the classic joke about nocturnal computer programmers. Of course, when the sun goes down at 4:30 PM, it's easier to achieve this than it might be. But I do expect to be here quite late. Never mind that I got quite a bit done from noon to two, on my laptop, sitting in the laundromat. I still feel nocturnal.

In other news, my new glasses came. They're rimless and they have an antireflective coating, which is nifty, but most importantly they don't have two years' worth of scratches from falling off my head on a regular basis. At present, they don't fall off my head like the old pair did, but that may not last. The old pair used to fall off because I'd mangled the earpieces until they almost stopped pinching my head, at which point they no longer held the glasses in place. We'll see if this pair can manage to not pinch my head.

Antireflective coating for glasses is a nice example of just how scary advanced our technology is. The coating is several layers of silicon and titanium dioxide with their thicknesses carefully controlled such that visible light reflections interfere with each other and cancel out. This requires being able to lay down a coating only a few hundred nanometers thick, with essentially no variation over the surface. They can do this, and they can do it cheap enough to be only about fifty bucks extra on the cost of one's glasses. (Here's how.)

After picking up the glasses I went to the laundromat, and was somewhat relieved to see that washing machines are still simply rotating drums with various hoses attached to fill them with soapy water, drain it out again, etc. (But perhaps not for long.)

Sunday, 15 December 2002

# 3:45 AM

so close and yet so far

$ ls x-* xm-* */x-* */xm-*
alpha/x-vms       i386/xm-djgpp.h    mips/xm-iris5.h
alpha/xm-vms.h    i386/xm-mingw32.h  pa/x-ada
i386/xm-cygwin.h  i386/xm-vsta.h     x-interix

Two years ago there were 249 of these little monsters. Now only nine remain. One day they will all die, oh yes, and then I will tear out the logic that uses them, so that they will never ever ever come back. Alas, that day is not in sight.

Saturday, 14 December 2002

# 6:25 PM

water water everywhere

The rainy season has begun, only two months late for this locale. Been raining more or less continuously since Thursday. Which leads to a rant, on the subject of public transportation.

I've been having to go to Alameda for on-site consulting for the past week-anna-bit. I can drive there in fifteen minutes when it's dry, if I avoid rush hour; when it's raining it takes a bit longer, but still less than half an hour.

There is also a bus which goes from right near my house to within bicycle distance of $CLIENT's office. This is an order of magnitude less stressful than driving myself. However, it takes between an hour and two hours, depending on traffic and weather. The time eaten more than compensates for the stress reduction. And driving myself is not terribly stressful to begin with.

And people wonder why public transport in the Bay Area doesn't work. Clue phone: Successful public transportation systems tend to be called "rapid transit" systems, and the "rapid" is there for a reason. BART, for instance, is not only less hassle than driving to San Francisco, it's faster than driving to San Francisco, especially when one considers time wasted trying to find parking. Not to mention time wasted getting lost in the city's maze of incompatible street grids. Unfortunately, BART only helps if one is going to or from San Francisco.

Wednesday, 11 December 2002

# 1:30 PM

web logs and search engines

These days there's a lot of good content out there in the form of web logs. Unfortunately, it's not indexed well by search engines. The trouble is, the webcrawler comes by and records whatever's on the front page of the log at the time, but by the time you go to make a search, a whole bunch more entries will have been added, pushing the entry you searched for off the front page. Entries in the archives may not be indexed at all.

This despite the fact that most weblogs have 'permanent links': the little blue hashmark at the beginning of this entry is an <A> tag pointing to a URL which will always and forevermore reference this article. (Unless Panix goes belly up or something.) If the search engines knew about the permanent links, they could use them in their indexes, and it'd all work.

Here's how I would implement this. Suppose we invent a labelling scheme which will allow a webcrawler to tell that an <a> tag is a permanent link. I'd use the class attribute, like this:

  <a class="permalink-above" href="...">
  <a class="permalink-below" href="...">

"permalink-above" means that the tag precedes the text it is a permanent link for; "permalink-below" means that it follows that text. (Both styles are used.) We also need a way to indicate the block-level element that contains all the permanent links, so that navigation and page header boilerplate don't get sucked into the permalink indexing mode. For this, we define another class attribute, "weblog-content". This is to be put on a block-level element that contains (in the DOM sense) all of the permalink tags. The ambit of each permalink tag then runs as far as the next such tag in the appropriate direction, or to the boundary of the weblog-content element, whichever comes first. Permalink tags outside the weblog-content element are ignored. If there is no element explicitly marked weblog-content, the body element gets the job.

Search engines then should record each chunk of text in the ambit of a permalink tag as a separate logical document. However, links to the base URL for the weblog should count as links to all of these chunks, for scoring purposes. (This corresponds to the intuitive interpretation of a link to the base URL, which is "I like everything this author says.") Links to individual permalinks count only for that chunk.

Your comments are requested.

Wednesday, 4 December 2002

# 1:30 AM

Systems of magic, in roleplaying games or otherwise, all have in common that magic spells are comparable to verbs. A magician casts a spell, which has an effect on the universe. So I was wondering, what sort of magic would be comparable to other sorts of words? Nouns, for instance. If a spell is a magic verb, what's a magic noun?

Magical artifacts, at least the normal variety, are not nouns; the most common sort of artifact is just a spell trapped and preserved for future use, so that's a verb too. Shadowrun has "foci" that make certain kinds of magic easier (i.e. give the player bonuses on their die rolls). But that's still the same sort of thing: the spell trapped inside that sort of focus is a "make it easier to do magic" spell.

A genuine possibility, however, is a meditative mantra or mandala. Many forms of real-world mysticism have these. Their function is to be contemplated, which may bring some insight. As such, you can make a case that they are objects, and therefore nouns. But in a high-mana world unlike the one we live in, perhaps such things would be "confer enlightenment upon user" active spells and therefore verbs.

Thoughts, anyone?

Tuesday, 3 December 2002

# 2:40 AM

thanksgiving in brief

Had dinner with parents, sister, and grandmother on both Thursday and Friday. Friday being the first night of Chanukah, my parents gave me a rice cooker. Ate far too much. Made salad.


  • 1 head red endive
  • 1 head yellow endive
  • 1 red onion
  • 2 green apples
  • 1 cup pecans
  • ¾ cup olive oil
  • ¼ cup red wine vinegar
  • 1 tbsp honey
  • ½ tsp mustardseed
  • ½ tsp garlic powder (or 2 cloves garlic)
  • ½ tsp dried basil leaves

Chop up the red and yellow endive into squares about 1" on a side. Slice the onion into rings, then section the rings into fourths. Throw all of this in a bowl and mix. Roast the pecans lightly, then throw them in the bowl with the veggies.

While you're waiting for the pecans to roast, pour the vinegar into a small mixing bowl. Add the garlic powder and basil leaves. (If you're using fresh garlic cloves you'll need to chop them up really fine first.) Mash up the mustardseed and add that too. Wait five minutes, then add the oil very slowly while stirring like mad with a wire whisk, or better yet, an electric eggbeater. You're trying to make an emulsion of the oil and vinegar. It should come out opaque and yellowish-orange.

After you've got an emulsion, taste it. If your wine vinegar is like mine, it'll be way too sour. This is what the honey is for. Add it in small globs, mixing thoroughly and tasting, until it stops being too sour. Now chop up the apples into chunks about ½" on a side, and mix them into the vinaigrette. (This last is not necessary if the salad will be served immediately, but if it will sit for awhile you need to stop the apples from turning brown.)

Just before serving, combine the two bowls of ingredients and toss thoroughly. Assuming your endive is the same size as mine, this will serve four people with enough left over for the next day.


Another thing I did last weekend was go buy more furniture. I needed another bookshelf, and I also picked up a clothes-drying rack. This is in hopes of not having to trust my clothes to the dryer downstairs or the clothesline on the roof anymore. It's not big enough for sheets but should do for everything else. I am not sure how long it will take for stuff to dry; there's currently a load of laundry hung over it and we'll see how dry it is tomorrow morning.

Tuesday, 26 November 2002

# 12:45 AM

Good article in the online Washington Monthly: How [the] Democrats Could Have Won (the 2002 elections, that is).

Sunday, 24 November 2002

# 6:05 AM


Congratulations to Sumana on her promotion.

oh, that's why

For the past week or so I have been occupied with the difficult question of why Computer A refused to respond to ARP queries from Computer B.

Today, I finally thought to read the routing table on Computer A closely enough to realize what was wrong. Computer A used to have two IP addresses (long story), and the second one has been recycled for Computer B, but the old annotation saying to route packets for B's address via the loopback interface was still there. The loopback interface, naturally, does not reach Computer B.

and once again

why am I still awake?

Friday, 22 November 2002

# 9:50 PM


ICSI is located in an oldish building with oldish elevators. The emergency phones in these elevators were installed when there was only one Phone Company and it wouldn't sell you anything except phone lines with telephones attached. In other words, they're not intercoms, they're telephones, old-fashioned telephones with rotary dials. And, as I discovered today, it's possible to call these telephones. I was in the elevator when it started ringing.

Who was on the other end? A robot, inviting me to participate in a survey. "If you are interested," it said, "press 1 now." On a rotary phone, this would be difficult. I wanted to see if I could somehow get hold of a human and explain to them what place they had reached, but I was holding up the elevator, so I just hung up.


This has been there for awhile: Teresa on the vanity-press scam. In the discussion is some very interesting stuff on why self-publishing is such a scam in print fiction — and the only sane way to go in many other genres, like music.

# 3:35 PM

not dead yet

The lack of posts for the last few weeks has been entirely caused by my not being in the right mood to write any. This, in turn, is because very little happened which would be of interest to a general audience. I could blather about the endless rounds of test case redaction that have occupied my working hours, or about the joys of changing one's mail client, primary editor, and desktop environment all at once, but really, what would be the point?

good stuff

Unmedia: principled pragmatism.

Tuesday, 5 November 2002

# 2:20 AM

i'm only going to say this once, so listen

Tomorrow is Election Day in the USA. Both houses of Congress are balanced right on the edge between Republican and Democratic Party control. Quite a few races are also balanced right on the edge — Democrats Abroad has a list for your perusal.

I want all my readers who are US citizens to vote tomorrow. You really can make a difference this time, especially if you live in the ambit of one of those close races. I'm not going to tell you which way to jump — but consider carefully. Specifically, consider carefully these articles. And ask yourself: do you want to let people who do things like that run the country?

Monday, 4 November 2002

# 4:15 PM

worth your time

Commentary on the Microsoft antitrust decision by Ben Rosengart.

Review of the coherent arguments for war on Iraq (as opposed to the incoherent ones currently being put forth by the USA's leadership) by Joshua Marshall.

Teresa Nielsen Hayden on fraud and gormless cover letters. Read the discussion.

Friday, 1 November 2002

# 1:30 AM

I just spent about an hour stuffed inside a narrow cylinder with my head immobilized, only able to see a blurry projection screen, instructed to imagine carrying out sentences projected on the screen while a giant magnet induced radio frequency absorption in my brain.

Or, in other words, I was asked to be a guinea pig for Shweta's fMRI experiment. The idea is to see which parts of the brain are active when one imagines taking an action, and compare this with the parts of the brain that are active when one actually carries out an action. The theory is that they will be more or less the same.

The experience of being MRI-scanned is not terribly pleasant: you can't move, you're in a coffin-sized space, and the machine makes a horrific noise while it's operating, sort of a buzzing chirp, which is so loud that they give you earplugs to prevent hearing damage. However, it was fun to have done it, and theoretically I will get to print out pictures of my brain and stick them on my wall or something. Also, the setup is thoroughly mad-science: it's a giant magnet, full of liquid helium! With a crazy tangle of hoses to carry various coolants, and big fat copper cables to supply current! You have to walk through a metal detector to get into the room, lest you have some iron on your person that might get yanked around by the field!

Thursday, 31 October 2002

# 11:05 PM

Tonight, the ICSI Movie Committee (of one) screened "Dark City", which is a beautifully disturbing movie about memory and identity. I can't really describe the movie without spoiling it; for this reason I am not linking to any reviews. But go rent it, you won't be disappointed. (It is not a horror movie.)

We were invited to come in costume. I had all of ten minutes to put mine together, so I pulled some old clothes out of the back of my closet and went as a 1992 grunge rocker. This costume worked only because of the wonderful hat which my mother made for me this summer: it's all black and brown and blue wool, in a sort of pointy cylinder shape. I don't think any grunge rockers actually wore such a thing, but it is definitely something one can imagine seeing on a grunge rocker.

This makes two movies in one week, which is a personal record for the entire year: I see a movie about once every three months, on average.

In other news, the British Standards Institute has reissued the original C standard, ISO/IEC 9899:1990 (commonly known as "C89"): a hard copy can be yours for only £30. Just punch "9899" into the search box on that webpage. C89 has been superseded by the newer C99 (ISO/IEC 9899:1999) but it's still good to have it available; backward compatibility will be important for years to come.

# 3:45 AM

Just got back from seeing Seven Samurai at the Castro Theatre with friends. It was an amazing movie. I'm not going to try to review it in detail, there's plenty of commentary on it available elsewhere; let's just say it's worth seeing in uncut form, despite the length (more than three hours).

Walk into the Castro Theatre and you step right back into the Roaring Twenties. The place is as spectacular as any of Los Angeles' remaining Deco theaters — and none of them have a real live pipe organ which is played before every nightly show. It is apparently the largest fully operational Wurlitzer organ remaining on the West Coast.

I got to Castro Street by taking the Muni streetcars from a downtown BART stop. In downtown SF, the streetcars run underground; it reminded me strongly of the New York City subway experience, even to the crowdedness. It is utterly lame how difficult they make it to transfer between BART and Muni. You have to exit through the BART turnstile, cross the station, and enter the Muni turnstile, paying a second time, and woe betide you if you haven't a dollar in coins. At some stations, there are change machines that will break a dollar bill, but none that will break a five... too bad that BART's change machines will only give you fives for larger bills.

Wednesday, 30 October 2002

# 4:45 PM

They're putting in new network wiring here at ICSI. Current practice for this seems to be to run separate cables from the wiring closet to each and every ethernet jack on the floor. I find this bizarre. It's harder to do, it's not at all extensible, it uses far more wire than it should, and it'll have to be done all over again when they want to bump from 100baseT up to whatever replaces it. I would have thought that the appropriate tactic was to put a fiber optic loop all the way around the building, with fanout hubs to each cluster of offices.

Tuesday, 29 October 2002

# 6:50 PM

from the greatest-thing-since-sliced-bread department

Replay Gain is a specification for adjusting the gain on audio tracks encoded in several popular formats (MP3, Vorbis, etc) so that when you play them back they all sound about the same volume. You can average over individual tracks (good for shuffle play) or entire albums (good for listening to several albums in sequence). The MP3 support is not really there yet, but Vorbis players have snapped it up.

This is a thing of beauty. I can now set up background music for a party and not have to touch the volume dial once, even if I put Enya immediately before Rammstein. And it doesn't distort, or suddenly slew the volume a couple seconds into a track, the way the XMMS "volume normalization" plugin did.

# 2:35 PM


A couple weeks ago I bought a sharpening stone, and yesterday I sat down and sharpened all the kitchen knives. This has needed doing for some time. I have not yet achieved daver-sharp, but 'tis only a matter of practice. And chopping vegetables is so much easier even with a mild improvement to the edge.

daver sharp: There's razor sharp, then there's scalpel sharp, there's the kind of sharp a monomolecular whip is, and then... There's daver-sharp. Where the edge of the blade planes down to the ninth dimension and goes away.

From Undocumented Features.

pasta with minimalist sauce

  • ¼ box pasta
  • 2 large mushrooms
  • 2 large green onions
  • 1 clove garlic
  • 1 tbsp balsamic vinegar
  • Enough hard cheese

Set the pasta on to boil.

Chop up the onions, mushrooms, and garlic. Fry them in olive oil. When they are mostly done, throw in the balsamic vinegar and fry a bit more. Then set them aside on a cutting board so they don't burn while you're waiting for the pasta to be done.

Grate the cheese.

Drain the pasta, mix in the veggies and the cheese. Serves one. Should scale linearly, except you probably don't want to be putting in more than two or three tbsp of vinegar, no matter how big you go.

Compare to the other, rather more elaborate pasta sauce I make.

nifty thing

The Left Foot Living Review is "an irregular journal of style, trend, fashion, and innovation" ... which happens to have fallen through a time warp from several centuries in the future. It'll make you laugh, wince, and occasionally scream "I want one of those."

fun with javascript

You may have noticed the nifty effect of clicking on the hyperlink above ("daver sharp"). This feature is brought to you by the W3C Document Object Model. (If you got the annoying alert box, consider upgrading to Mozilla.) It seems quite appropriate to use it for an UF reference, considering how many fine undocumented features one must be aware of when writing JavaScript to work reliably cross- browser.

Wednesday, 23 October 2002

# 5:10 PM

Leonard reports the creation of a nifty utility. And I'd like to say that I don't get why people like putting spaces between the parentheses and the argument list, either.

# 2:55 AM


My mother points out that I misspelled bain Marie earlier — the first word has an I in it. This is no doubt why I couldn't find Maria the Jewess's history online. She wasn't French at all; she lived in Egypt in the third century BCE, or possibly the first century CE, sources differ.

In the "why didn't I think of that?" category, a chap name of Tkil suggests that the way to prevent your car's wheel from turning when you're trying to loosen the lug nuts is not to jack it up until they're already loose.

# 2:10 AM

more "trusted" computing

Seth responded to my earlier comments on his owner override concept.

Let's back up from the technical details and talk about goals. The status quo is that if you've got a computer and a chunk of data in a computer-readable format, you can do whatever you want with the data. In particular, you can make an unlimited number of perfect copies of that chunk of data, and transfer them to other people, without any effect on the original. There are people who would like this not to be the case, and they have designed technological measures such as Palladium which could prevent it in the future.

I am perfectly happy with the status quo. In fact, I prefer the status quo to the alternative. However, it is possible that a system similar to Palladium could be designed which I would prefer to the status quo. I'm the customer; the people pushing Palladium and/or other "trusted computing" initiatives have got to convince me to buy new hardware that implements it. (Let me remind you that most corporations can be prevented from doing things by not fucking paying for the product.)

So, on the hypothesis that we are going to design a new computer architecture incorporating something similar to Palladium, what functionality should it have, and equally what functionality should it not have, to make me consider it something worth buying? Here are some examples of both categories. Features that would be useful:

  • Store data such that only I can read it, where I am authenticated to the system by some mechanism more secure than a username+password pair.
  • Transmit data to a remote server for storage, and retrieve it later, without practical risk that the operators of that remote server will be able to read it.
  • Transmit data with an assurance that the intended recipient, and only the intended recipient, will initially be able to read it. (This mechanism must not prevent the intended recipient from relaying the data to a third party.)
  • Issue an unforgeable authorization to transfer a specific sum of money from my bank account to someone else's bank account, with assurances that the money will be received by its intended recipient, and that the intended recipient will get only as much money as I wanted them to.

Features that would be undesirable:

  • Store data such that it can be read by only one physical computer.
  • Transmit data such that only its intended recipient will ever be able to read it (i.e. such that intended recipient cannot pass it along to someone else).
  • Transmit data with an assurance that at some future date I can render any or all extant copies of that data unreadable.
  • Receive data and force me to honor any sort of sender-imposed restriction on its use or distribution.

Now, can we design devices and primitive operation sets that permit the implementation of the desirable features, while preventing the implementation of the undesirable features? I suspect we can. However, I suspect the result doesn't look much like Palladium; I suspect it's more like a normal computer with a smart-card interface.

In this vein, I'd like to point out Richard Stallman's opinion piece on "treacherous" computing (as he styles it), and also his much earlier essay The Right to Read.

other political items of interest

The organization Transportation for a Livable City has released a roadmap for improving transportation in San Francisco.

This open letter encourages the FCC not to bail out failing telecoms companies.

Thirty-five questions that haven't been answered, but should be.

Thursday, 17 October 2002

# 3:40 PM

Seth's in top form today. Go read him.

The concept he proposes, "owner override," bears reexamination in the context of the other Seth's point (which Seth linked to at the bottom of his entry). To wit: even if an action is possible, it may be so difficult as to be impractical for most people, and this is generally good enough for the people who don't want the action taken. Owner override makes it technically possible to break many (I hesitate to say "all") of the noxious applications of "trusted computing," but the mechanism is not terribly practical for the average user; you have to have a second computer available, and specialized tools for grovelling through a total memory dump to extract the information you actually want.

Consider remote document revocation, which is one of the most noxious applications: you have a data file on your hard disk which is encrypted. The viewer application consults a remote server over some sort of secure channel, passing it a cryptographic hash of the file and some authenticator; the server chooses whether or not to reply with the decryption key. A "trusted computing" mechanism ensures that the viewer will not reveal the decryption key to the user or allow the decrypted document to be written to permanent media. The document's author can thus decide at any time to deny the key to people who possess the document. To break this mechanism using Seth's owner override, you would need to trigger a memory dump at precisely the right moment, so that the decryption key was in memory, in cleartext (it has certainly been transmitted encrypted). The viewer application can be designed to make this arbitrarily difficult.

I think there's the germ of a good idea in here, though; the concept is the right one, it just needs to be more deeply integrated into the system.

# 3 AM

a partially successful experiment

One of the biggest problems with candle making with molds is uneven cooling. As I described earlier, the candles shrink as they cool, and set up from the outside in, so you risk getting voids in the middle of the candle. It occurred to me that this problem could be alleviated by insulating the upper half of the mold. The wax would then solidify from the bottom up, and there would be no voids; you'd have to top up the mold after awhile, but no more.

So I slapped together an insulating jacket for one of my molds, using one of those cardboard tubes you find at the inside of a roll of paper towels, some foam rubber from the East Bay Depot for Creative Reuse, and a buttload of duct tape. It did have the desired effect - the wax started solidifying from the bottom up. Unfortunately, it slowed down the solidification process bigtime. Worse, the duct tape wicked up some of the wax from the open top of the mold and spilled it down the outside, ruining the jacket.

The concept is sound, but the implementation needs more work.

Wednesday, 16 October 2002

# 1:45 AM

further to previous

The difficulty with the ban Marie, at least the cheapass one I bought specifically for candlemaking, is that it boils over at the slightest provocation. To melt the wax, you want the water in the bottom level just barely below the boiling point. The stove setting that achieves this, once the thing's reached working temperature, is just barely above the point at which the burner goes out. Note that this is not "off." Small amounts of gas continue to leak out of the burner once this happens, which is Not Good.

The hardest part of candlemaking is actually cleaning up. Wax sticks to everything and dissolves in nothing. The best approach I've found is to pour gallons of boiling water over all the dirty equipment. Even this doesn't work very well.

A number of operations would be easier if I had a heat gun. I wonder how much they cost.

# 1:10 AM

being an explanation of the previous entry

I was making candles last night. And I decided to be totally perfectionist about them. I'm not sure why, but possibly the fact that one of the molds had its sealing gook come off, thus spewing molten paraffin all over the stove, twice, had something to do with it.

The thing about casting candles is, paraffin shrinks when it cools. Since it cools from the outside in, unless you're careful you'll get a huge air bubble in the middle of the candle, with a narrow channel connecting it to the exterior. Care, in this case, means re-melting the skin on the top of the candle and pouring more wax in at regular intervals. Normally one does this a maximum of twice, with about half an hour in between pours, which makes them come out with dips in the bottom but otherwise fine. I was poking holes in the top and putting in half-tablespoons of wax at ten-minute intervals from about midnight until about 3:30 AM.

Of course, this means I had to have a supply of molten wax. It is extremely dangerous to melt wax over an open flame, so one uses instead a ban Marie, which is a fancy name for a double boiler. The water in the lower half acts as a thermal buffer, preventing the wax from getting hot enough to flash over. "Marie", it is said, was the French alchemist and witch who invented this technique; I cannot, unfortunately, find any reference to her history online.

I've linked to the Alarm before. The song I quoted is from the album Raw, although it seems to have been written much earlier. The title is The Wind Blows Away My Words.

In the dirty towns, on the dirty streets
There's a violent wind that blows
Across the generations, men like me
have been swept to these crossroads
Blown out of house, blown out of home
Blown down the road

On the wind that blows away my words
Blows away my reason
Blows away my soul
Taking my existence
Oh the wind blows away my words

There's a rushing sound that is sometimes heard
When your mind won't let you sleep
It's the flickering sound of a thief
Who's come to tear up all these dreams
Stealing from the heart, stealing from the soul
Stealing from the future

On the wind that blows away my words
Blows away my reason
Blows away my soul
Taking my existence
Oh the wind blows away my words

(repeat from "Blown out of house" to end of chorus)

Despite the rather grim lyrics, I find this song cheers me up immensely.

Tuesday, 15 October 2002

# 5:15 AM

Late night ... listening to the Alarm, waiting for the candles to stop shrinking. Hoping I've found the right setting on the stove so the burner won't go out and leak gas into the kitchen, nor will the ban Marie boil over.

I'm blown out of house, blown out of home
Blown down the road
On the wind that blows away my words

Monday, 14 October 2002

# 6:40 PM


Yesterday I went to the "Heart of the Forest" Renaissance Faire with a bunch of friends. Sights! Sounds! Clothes which have been out of fashion for centuries! ...Five hours in miserable heat with no sunglasses. The site was by no stretch of the imagination in a forest; there were a few big oak trees, but not nearly enough to provide adequate shade to make it pleasant to wear medieval garb (designed for a much cooler climate).

However, it was great fun. The high point of the day was probably the various performances, including a demonstration of falconry, an Irish dance (I didn't know they had tapdancing then!) and an authentic Punch and Judy puppet show.

The low point of the day was the shop selling a remarkably malicious set of magical charms. Either the shopkeeper doesn't believe that they work, in which case they're a fraud and a charlatan to sell them in the first place, or they do believe that they work, in which case selling e.g. a "charm to break up an existing relationship" with no strictures or conditions on its use is highly unethical. And the whole concept of openly selling magic charms is out of period. If I'd been properly roleplaying the honest merchant type that my costume implied, I should have gone straight to the constabulary and denounced them for witchcraft.


This biological taxonomy web site.

Saturday, 12 October 2002

# 8:15 PM

worth your time

Two articles in Forbes by John Perry Barlow: The Pursuit of Emptiness and Why Spy?. (While you're reading Barlow, take a gander at his The Economy of Ideas.)

An article in the New Yorker about the trouble with being the world's only superpower.

And a lengthy rant about the apparent motivations for invading Afghanistan.

Wednesday, 9 October 2002

# 5:05 PM

automotive blues

Last night one of the neighbors knocked on my door. "Hey, did you know your car has a flat tire?" "Uhh... no..."

This morning I went downstairs and sure enough, flat tire. So I got to have the fun of taking the wheel off and mounting the spare. It turns out that the hardest piece of this is getting the lug nuts off. Since the flat was on one of the front wheels, the only way to prevent the wheel from turning when I tried to wrench the nuts would have been to put a brick on the brake pedal — and start the engine, so that the brake assist would kick in. This struck me as a bad idea. Instead I wedged a crowbar between the wheel and the ground, which worked well enough.

Of course, once I got the spare on, it proved to have gone soft over two years of sitting in the back unused. It worked well enough to drive to the tire dealers, though, and even as I type this a new tire is being installed.

There was a big honkin' gash in the sidewall; I must have scraped against something sharp. (It wasn't clean enough to have been done with a knife.)


"So you hit a tree and the light changed?"

"Yeah. It was fantastic!"

Sunday, 6 October 2002

# 9:15 PM

a little story for you

From Ftrain: How Google beat Amazon and Ebay to the Semantic Web.


I sold all of my Preacher graphic novels, and then went and got the latest two Transmetropolitan bound volumes and an Usagi Yojimbo collection.

I can't recommend Transmetropolitan highly enough. It's brilliantly written, and the story one that needs telling; for all its futuristic trappings, it's just as much about right here and now. It is, however, rated R.

Usagi Yojimbo ("Rabbit Bodyguard") is just fun.

Preacher was a nice concept but did not live up to itself, alas.

psychology of html tags

I find that it looks wrong to write "a <a href=..." even when I know perfectly well that in the rendered version the word after the "a" will begin with a consonant.

in closing

a sticker.

Saturday, 5 October 2002

# 6:15 PM

I'm pleased to report that the handymen showed up and are repairing the doorframe that got kicked in last night. They haven't gotten to the outer door yet, but I'm guessing that's only a matter of time.

# 8:55 AM

Someone just broke into my apartment building. He smashed a pane of glass in the front door to get in, and then came upstairs and tried to kick in one of the apartment doors — not mine. The door frame is wrecked but it didn't actually break open. Then he seems to have just left. Unfortunately, no one got a look at him, so the cops are not too sanguine about being able to catch him.

What surprises me is that he didn't do anything else. My bike is still parked in the hall, he didn't try to kick any other doors down, and so on. The people who live in that apartment are shook up but unhurt.

# 1:30 AM

Today, I gave the client three hundred megabytes of almost-working source code, and they gave me nine hundred cubic inches of printed manuals. (That's a 1'x9.5"x8" rectangular prism.) I'm not sure which of us got the short end of the stick.

I also discovered that if I turn my monitor around so it faces the other way, it has to be degaussed. Not sure why.

Friday, 4 October 2002

# 3:20 AM


Couple weeks back I got a notice instructing me to report for jury duty. "Call this number after five PM the day before for instructions." So I call, and the tape recording says we don't need anyone in the morning, call back tomorrow to see if we need you in the afternoon. I call back in the morning — thanks, we don't need you this afternoon either, you're done.


Driving home from the grocery store yesterday at twilight, as I pulled into my parking space, I saw a pair of raccoons on top of the adjacent wall. They looked at me for awhile, then startled and ran away when I opened the car door.

invader zim

Invader Zim is a fine work of animated cartoon fiction from the twisted mind of Jhonen Vasquez. It ran for two seasons on the Nickelodeon network, but seems to have been cancelled now. Some of my friends have been raving about it; I just now got to see the first few episodes. I like it — particularly Gaz — however, it disappointingly suffers from History Eraser Syndrome, that is, each episode has no connection whatsoever to the previous. For instance, the "Walk of Doom" episode ends with Zim and Gir lost in the barrio, with no obvious way to get home; the following episode begins with them at home, just fine. Grrr.

Monday, 30 September 2002

# 2:40 PM

Another John-Wood-ism, from another post in the same thread that invented nasal demons:

...the C compiler itself MUST issue a diagnostic IF this is the first required diagnostic resulting from your program, and then MAY itself cause demons to fly from your nose (which, by the way, could well BE the documented diagnostic message)

concisely and accurately describing the (lack of) specification in the C standard about what constitutes a diagnostic message. I like the mental image of turning over a page in a compiler manual and discovering a sentence like "in the event that the compiler detects a syntactic or semantic error, you will be notified by means of a demon flying out of your nose."

Sunday, 29 September 2002

# 2:50 PM

c99 section 6.5 paragraph 7 rears its controversial head again

It happens about once a year. Some programmer discovers that their code has been "mis-optimized" by GCC, files a bug report, and we point out that it doesn't obey the rules in the above-mentioned section of the C standard. Thus GCC is allowed to do whatever it pleases to their code, up to and including replacing it with an invocation to make demons fly out of your nose (when executed, not at compile time). They come back with "but it's obvious what this code is intended to do, you should get it right anyway!" and the thread degenerates into name-calling and references to the Halting Problem.

The 1999 instance of this argument is particularly long, painful, and has Richard Stallman in it; but thankfully I seem to have stayed out of it. Alas, not so this year.

The "demons fly out of your nose" quip is due to John Woods, who also invented a line which I had on a button on my backpack for a long time:

SCSI is NOT magic. There are fundamental technical reasons why you have to sacrifice a young goat to your SCSI chain every now and then.

The button had no attribution. I'd just like to say thank you, John.

# 1:50 AM

Because I'm tired and procrastinating... let's have a tinfoil hat joke, from Warehouse 23:

you open one of the 1008 boxes on this floor and find...

A set of one dozen MIB-grade tinfoil hat-liners with complete instructions on their construction and use to prevent the effects of mind-control rays. They would work, but are now of merely historical interest, as the mind control system has since been upgraded and will bypass protection of this nature.

In the other random thoughts department, a number of new apartment buildings around here have this nifty racked storage system for cars. It's basically two fixed platforms on a hydraulic lift, which can rise or fall to bring either platform to the level of the garage floor. This lets them get twice as many cars into the floorspace. But to do it, they have to dig a pit under the platforms, to give the lift somewhere to go. There's space for another row of cars there, but it can't be used.

How would your friendly local mad scientist fit more cars into this space? Consider the humble fifteen puzzle. Any of the tiles can be brought to the lower right-hand corner. Now imagine that you have a parking garage laid out like this. Instead of tiles, you have motorized platforms with cars on them. To get a car out of this garage, you rearrange the platforms until the one you want is adjacent to the entrance, then drive the car away. To put it back, rearrange the platforms until an empty one is at the entrance, then drive the car on.

There's no reason to restrict this system to two dimensions; the platforms could easily be stacked to fill whatever space is available. It can store as many cars as could theoretically be crammed into the space, less one for the required empty cell. (Assuming of course that all cars are the same size, but this assumption is shared by the original system I described.)

Wednesday, 25 September 2002

# 10 PM

The FSF has released a lengthy FAQ on why, in their opinion, one should speak of "GNU/Linux" instead of just "Linux."

I don't wish to address that issue, but I do want to respond to one of their questions:

"Why not just say "Linux is the GNU kernel" and release some existing version of GNU/Linux under the name "GNU"?"

It might have been a good idea to adopt Linux as the GNU kernel back in 1992. If we had realized, then, how long it would take to get the GNU Hurd to work, we might have done that. (Alas, that is hindsight.) Today, with the GNU Hurd working, it would not make sense to do this. We don't want to release a GNU/Linux system as "GNU", because we are getting ready to package and release the real GNU system.

There is another reason why we don't want to take some existing version of GNU/Linux and relabel it as "GNU": that would be somewhat like making a version the GNU system and labeling it "Linux".

I take issue with the description of the Hurd as a working kernel. It's never going to be efficient, nor has adequate attention been paid to security; features have been thrown in for no good reason; all the interesting things that the Hurd claimed to make possible are also possible with the Linux kernel. It is my personal opinion that the Hurd should be scrapped immediately, and the resources currently devoted to its development redirected to work on Linux or EROS. The latter is an interesting experimental kernel, which genuinely does have capabilities (no pun intended) that Linux lacks; further, serious attention has been paid to elegance, efficiency, and security.

# 9:15 PM

more politics

Very interesting two-part article in the Sierra Times: "Dis-Mything 9-11: Is The USA PATRIOT Act Patriotic?" (part 1, part 2). I smell kookery in both the article and the Sierra Times generally. For instance, Mr. White refers to a "hard money clause" of the Constitution, which he implies made the 1933 Act abolishing the gold standard unconstitutional. There is a sentence in the Constitution which could be described as a hard money clause (in article I, section 10, paragraph 1) but it does not make that Act unconstitutional. It is a restriction on the powers of the individual states, not of Congress; it's clearly intended to ensure that the states do not issue their own currencies (as they did under the Articles of Confederation).

A few paragraphs before that, in section 8, Congress is given unrestricted power to "coin money and regulate the value thereof," without any mention of what material the coin must be made of, or what if anything its value must be backed by. There is no justification for an assertion that the Constitution requires a hard currency.

However, that's a minor flaw in an otherwise excellent pair of articles. Mr. White is correct to object to legislation passed without due consideration, and to the PATRIOT Act specifically. I would like to encourage all my readers who are resident in the USA to sign the online petition for its repeal.

Another good article is in this week's SF Weekly: Matt Smith reports on a professional architect's conclusions about the most effective ways to respond to the destruction of the World Trad Center. Apparently simple and cheap-to-implement changes to the fire codes could ensure that skyscrapers can be evacuated safely in the event of another such disaster.


Also in this week's SF Weekly is a review of Das Experiment, a German movie based on the 1971 Stanford prison experiment. It sounds well worth seeing.

In last week's SF Weekly there was a feature article on why the Bay Area has stopped producing big-time rock bands. I especially want to call your attention to the segment beginning on page two, "This Band Should Be Your Life," profiling the Pattern. This is a new, happening band that deserves more attention. I've downloaded their MP3s and I like what I hear. They're playing Slim's in San Francisco on October 7th; I think I'll go.

from the out-of-total-left-field dept.

I'm walking home today and some guy buttonholes me and asks where he can score some pot. What I wanna know is, where did he get the idea that clean-shaven T-shirt-and-jeans white-boy me knows where to score pot? Maybe it's the ponytail.

# 3:20 PM


It's not a good thing when updating your weblog becomes one of the things that you avoid doing because you're already ages behind on it. So I'm just going to throw out a bunch of random things that come to mind and we'll call it caught up, okay?

duct tape

This weekend I bought more stackable CD racks because I was out of space, only to discover that the Crate&Barrel and IKEA brands are incompatible. (I would link to pictures of each, but just try to find a specific product in either store's online catalog.) Duct tape and coat hanger wire to the rescue! I bent a coat hanger into an adapter between the two kinds of stacker tab, and duct-taped all the joints together so it wouldn't fall apart. It does want to tip over, but that's okay, it's up against the wall.

mad linkage

The reply brief for the petitioners in the Eldred v. Ashcroft case is well worth reading. Free the Mouse!

Speaking of which, BumperActive is a pretty cool thing in its own right. As are Rolling Thunder Down Home Democracy Tour and Junction City. I bet the tour would be right up the SF Mime Troupe's alley; perhaps I'll try to hook them up.

As long as I'm on the subject of politics, Anna has a fascinating discourse on Socialism and Peter Maass has a number of interesting comments on the Iraq juggernaut. And I think it's high time I added Avedon Carol to the links on the right.

It turns out that Lore Fitzgerald Sjöberg lives in Berkeley and patronizes Cafe Elodie, which is also one of my favorite downtown cafes. He also has a "mysterious letter" of advice for web-log-writers, which is worth reading. I am not sure I measure up. And finally, he proposes the glossing links concept, which is nifty, and I may decide to play with it. The link density on this page is arguably too high.


Rael has a new version of Blosxom out. I'm not sure I will upgrade. I've already heavily customized this version, and he seems to be taking it in a different direction from me, anyway. (Can someone explain to me what RSS is for and why I should care, please?)

A more interesting possibility: an anonymous correspondent sent me a reference to a comment add-on for Blosxom. This is something I'd really like to have, except that it doesn't seem to work on that guy's site, which means I'd probably have to do a bunch of debugging, which I do not have time for right now.

Movable Type's standalone trackback utility is also interesting, although perhaps I should just switch to Movable Type...

babylonian mythology was never so bishonen

Utukki is being updated again.

Wednesday, 18 September 2002

# 6:15 PM

continuing saga of the car radio

Several different places which actually sell car radios have now told me that no, they don't sell adapter cables for Radio Shack radios, and have I tried Radio Shack?

Monday, 16 September 2002

# 1:30 PM

We crammed all of Dara's stuff into my car, and she drove off to Stanford. I have to stay here and work.

# 3:05 AM

Just now back from Woodminster. You don't normally think of the Continental Congress as a bunch of cranky middle-aged men, but such was the (historically accurate!) depiction. The libretto and the story it told were both excellent. The music and singing were not as good, but acceptable for a low-key production like this one.

Bed now.

Sunday, 15 September 2002

# 7 PM

Decided to try to replace the radio in my car, with Dara's help. (The amplifier is kaput.) I've had a replacement sitting in my closet for months. We got the old radio out of the dash with no real trouble. Then we discovered that the cables between the radio and the rest of the car are not standardized. So I spent the past hour chasing around town looking for an appropriate adapter. The replacement was made by Radio Shack and their website claims that they have adapters for most car models, but the local store told me smugly that the chain no longer carries any car-radio-related anything. (I got the replacement at a swap meet.) All other potential sources are either closed because it's Sunday or closed for renovations. Feh.

# 5:40 PM

Dara's come back from Los Angeles; I picked her up at the airport. Tonight we're going to go see 1776 (the musical) at Woodminster.

Saturday, 14 September 2002

# 2:10 AM

Went to see Garmarna at the Freight and Salvage with friends. Garmarna are described as a "Swedish contemporary folk fusion ensemble" in the Freight and Salvage's calendar flyer. I'm not sure what they mean by "fusion," but if you're into Swedish traditional folk tunes done with rock'n'roll stylings on violins, and/or a hurdy gurdy being made to do things more conventionally associated with electric guitars, Garmarna is the band for you. Me, I thought it kicked ass.

Thursday, 12 September 2002

# 4:25 PM

Why Socialists Don't Believe in Fun, by George Orwell: a look at why utopias aren't usually places one would want to live. Worth reading.

Wednesday, 11 September 2002

# 3:25 PM

Here we are one year after terrorists crashed planes into New York City and Washington DC. There's a lot of sound and fury in the media right now; I won't be looking at any of it. Sound and fury, as the man said, signifies nothing.

There are, however, a number of thoughtful, constructive observations that various people are making, which I encourage you all to go read:

  1. Patrick Nielsen Hayden's observation that all grief is local.
  2. And Teresa's expression of what it's like to be a New Yorker after the event. I used to live there; I've been in that subway station; I know how she feels. (Haven't been back since. Something to be remedied.)
  3. Moving from the personal to the political, the Christian Science Monitor has a special report in four articles, asking the question Is America the "good guy"?
  4. Joshua Marshall had an excellent piece in the Washington Monthly back in June, examining the plans to attack Iraq and the political figures behind both sides.
  5. Once again you should read the proclamation of Enough Day.

Now I'm going to get up on my soapbox: I want every one of you who reads this to go out today and create something new. It can be anything; I'm not picky. Pick up that hammer, or that pen, or whatever tool you feel most comfortable with; do it with your bare hands even. Put something into the world that wasn't there before, something bright and beautiful. Do it because you can, do it to show the world that even in the face of such catastrophe you will not be broken. And when you've done it, don't hide it away; show your friends what you have done, and make them create something too.

We did. Now it's your turn.

Saturday, 7 September 2002

# 3:05 PM

Note to self: do not make pancakes with rice flour in future.

# 12:25 AM

It's mildly entertaining to read through the lists of bugs I've submitted to Debian. There's still-unfixed (minor) bugs more than four years old in there...

Friday, 6 September 2002

# 7:45 PM

Enough Day.

A-fucking-men, and right on, and well said, and all that good stuff.

# 7:40 PM

There's a nifty interview with Larry Wall on Slashdot today. I'm pleasantly surprised to discover that he is familar with the Liavek stories.

# 2:40 AM

self-reference for fun and profit

When people come to your webpage because it showed up in an Google search listing, the referer URL says what they searched for. Here's some things that people searched for and wound up here:

"Joel Rosenberg" jeweler
"Shadowrun spells"
"black people in brazil"
"lightning damage" car
"persistence of vision" led
"segmentation fault" kazaa
"spider" "noe venable"
"steam" + "inject" + "wash" + "machine"
BATHtub overflow rust repair
Bayesian spam outlook
Cast iron steam radiator rebuild
Crap Assert perl Linux
EMP Seattle slick technology
Luther Wright and the Wrongs' Rebuild the Wall: Part 1 mp3
Noe Venable
Shadowrun "object resistance"
Shadowrun Adepts
Trurl's Machine
anbaric -pullman
ankh mushrooms
band logo fonts ramones
bayesian filter spam outlook
beanbag pellets
blosxom and style head
blosxom download
cinder blocks from home depot
closet organizer with permanent wall board
conor quinn linguistics
convex ass
convex shelves

customer reviews on Ikea kitchen cabinets
cvs "is in the way" bug
denver the city of shadows review shadowrun
diablo 2 hacks grandfather sword
dreamwalking technique
elder futhark
electric samovar parts
fast beverage immersion heater
form filed scroll css style
free trail download resize partition
furniture foam padding florida
include "check-in comments" source code
induction furnace+tesla coil
inpassing.org weblog
judis teixeira
linguistics Protos
nightclub set stage
persistence of vision color LED
qmtest archives
rpccore backend client
saint elmo fire healing
shadowrun 3 magician's way adept
soldering formulae tin
steam-heat pointer MP3 download
unclog shower drain
vacuum cleaner burning smell
zack blog
zack weinberg

Also, someone is reading this page in Italian. I don't speak that language well enough to guess how good the (machine) translation is, alas. Interestingly, it stops translating about three-quarters of the way down the page.

Thursday, 5 September 2002

# 10:45 PM

This post by John Trussell is highly amusing.

Somewhere in America, a rock band is missing an opportunity, because frozenvermin.com is available. The only question is where to put the umlauts. (My suggestion: over the "o" and the "i".)

# 12:40 PM

I dreamed a fairy tale last night. Rather than recount it as I saw it, I think I'll tell the tale the way it would be told in a book:

once upon a time...

there was a monastery, and in that monastery there was a young monk. Next to the monastery was an apple orchard. In the apple orchard lived a farmer, his wife, and their son. The monk and the son were great friends. But what the monk didn't know was that all three of that family were secretly man-eating giants.

One day all the monks were to go on a pilgrimage. Our hero made an error calculating the supplies that would be needed. When the abbot found out, he was furious, and he forbade the monk to come on the pilgrimage with the rest of them. He had to stay behind and copy books in the scriptorium.

The apple farmer saw all the monks leave, so he snuck into the monastery to steal a pig (when you're secretly a man-eating giant, you take what you can find). He found the monk asleep on his lectern. He decided to steal the monk and eat him instead. But when he brought the monk home, his son protested: "That's my friend, we can't eat him!" So instead they let him wake up, and traded him some of their magic apple cider for a pig.

What the monk did with the magic cider ... is another story.1

Sunday, 1 September 2002

# 1:25 PM

Maersk Sealand, a huge shipping conglomerate, has put online all their schedules and rates; you can book yourself a cargo shipment from just about anywhere to anywhere else. Well, you can if you know what you're doing. I tried to get a rate quote out of them and was faced with questions like "Do any Shippers Export Declarations apply? Choose [none] [1] [2] ... [10]" with no explanation of what Shippers Export Declarations 1 through 10 might be, but a strong implication that answering incorrectly could get you in legal trouble.

Sending a single 20-foot container from the USA to Hong Kong will run you about $3000. Sending more appears to be an additional $2000 per container, but I could have gotten confused.

Saturday, 31 August 2002

# 4:50 PM

check your facts, mmmkay?

This is the text of the letter I just sent to the errata-reporting address for Shadowrun:

On page 128 of Target:Wastelands is the paragraph


Firearms do not function in outer space unless modified to accept an air tank connection. Modifying a weapon to accept an air tank connection increases the cost by an additional 50 percent. Explosives (including rockets and missiles) also do not function in space unless built with an integral oxidizer. Explosives built with an integral oxidizer also cost an additional 50 percent more than their normal counterparts.

This does not match reality. All explosive compounds, including gunpowder, already have "integral oxidizers" — they could not explode otherwise, even in an atmosphere. Therefore firearms, and other explosives will all work in outer space, without needing to be modified for air tanks or integral oxidizers.

I suspect you put this in for game balance. If so, consider instead that explosive-propelled weapons may work in outer space, but probably not well, unless specifically designed for that environment. Normal missiles and guns are designed with assumptions about the presence of air and gravity. For instance, a normal smart missile makes course corrections by adjusting its fins; in outer space there is no atmosphere so that won't work. The smart missile effectively becomes a dumb one. Guns are more likely to jam or fire inaccurately — it would be plausible to apply target number modifiers for each turn a gun is used in a zero gravity environment, until it is disassembled and realigned (rather like the existing rule for sniper rifles). The simpler a gun is, the less it should be affected by this.

Bombs and demolition explosives, on the other hand, should work perfectly fine in outer space.

Since outer space is such a tightly controlled environment, the market for firearms that work reliably there is going to be tiny; I would suggest applying markups of 5x to 10x list price, or even forcing the PCs to have custom design work done.

# 2:25 AM

Today I helped my sister move out of her apartment in San Francisco. We went to Joe's Cable Car Restaurant for lunch, with her boyfriend and one of her flatmates who was also moving out. Joe's could well be the most expensive hamburger joint west of the Mississippi - we spent $15 per person! - but it is also damn good.

Came home and installed a shiny new three-prong outlet in the kitchen so that I can plug in my microwave. There was nothing behind the old outlet to attach the grounding screw to... so I didn't attach it to anything. No great loss. The microwave may be marginally less safe than it should be, but if I wanted a safe electrical system I shouldn't be living in this building in the first place.

Oh, and in the nifty things department, Patrick Farley is now doing a new weekly comic strip called Barracuda: The Scotty Zaccharine Story. He describes it as "looking back at dot-com San Francisco."

Friday, 30 August 2002

# 4:20 PM

worth your time

Noah Johnson's report on the August 22 protests in Portland.

Cory Doctorow's story, 0wnz0red.

John Judis and Ruy Teixeira's fascinating article in The New Republic on what they call the emerging progressive-center majority in American politics. (This is a summary of their book, The Emerging Democratic Majority. Courtesy of Talking Points Memo.)

# 4 AM

Why am I still awake?

Oh, right, because I spent the last two hours reading the entire archive of Bob the Angry Flower.

Wednesday, 28 August 2002

# 10:55 PM

lame thing

Galeon's parallel download widget will only download eight files at once. If you try to queue up a ninth download, the "save as" dialog box only comes up when one of the current eight finishes. If you try to queue even more (figuring that "save as" will appear eventually for all of them) it forgets about all of them except the last one you clicked.

This may actually be GTM's fault.

not-lame thing

Machinae Supremacy: I'm going to call it Swedish techno punk rock, because I have no idea what the official term for it is. Alan Cox calls it excellent hacking music. I concur.

# 9:55 PM

why zack should be kept away from the plumbing

Yesterday, I was cleaning the bathroom and discovered that the overflow drain on the sink was blocked, and could not be unblocked by rooting around through the hole with a bent wire. So, of course, I took the sink apart. In short order I discovered that (a) it's not possible to take apart the part of the sink where the blockage is, and (b) when you try to unscrew an old rusty steel pipe in the wrong direction, it tears apart. Oops.

Today, I went to the hardware store and got a replacement. The sink works again. But still — keep me away from your plumbing.

Tuesday, 27 August 2002

# 3:30 AM

I can't resist pointing out Teresa's delightful article on lost fandoms, specifically those of the nineteenth century.

But I really am going to bed now.

# 3:20 AM

I hardly ever make HTML coding errors anymore while writing these entries. It's a little scary; I expect to make errors, but time and time again the W3C's validator gives them a clean bill of health. I suppose this means I am a web monkey now.

(Addendum: one disadvantage of rounding times to the nearest five minutes, is you can get collisions. Need to do something about that.)

# 3:20 AM

I've plugged Stefan Gagne's work before, but allow me to do so again: both Unreal Estate and Penultima are amazingly nifty. The latter requires Neverwinter Nights, which I do not have, so I have not actually played it, but the text visible when you run strings(1) on the modules is funny enough that I'm sure the games are worth playing just for the jokes. (I am considering purchasing NWN just to play Penultima with, but they get my money only when the Linux version is actually released, not while they're still just making noises about doing one. Yeah, I could install Windows on the disk partition that is waiting to have Windows installed on it, and play that version, but that wouldn't be nearly as convenient, nor would it give Bioware any incentive to finish the Linux port.)

# 2:35 AM

Electrolite commented on a post on Poor Man, and in the process registered a complaint about the page style which spawned a whole series of interesting comments and a response from Andrew Northrup. All in all, an interesting excursion from political commentary (standard fare on Poor Man and pretty common on Electrolite) into graphic design.

But I would like to register a complaint in this context. The issue Patrick had with the Poor Man template was, in a nutshell, poor choice of background and text colors. Now, if the page author doesn't do something special, HTML leaves the choice of colors up to the reader's browser, which has nice handy controls for setting them to something the reader can read. Same same font, text size, and so forth. But you will notice that almost all web pages that have done anything at all with page layout, have explicit color choices. Is this because it's easy to dink with the colors, and has a nice obvious visual impact? Perhaps. However, there's another problem, which is: if you're doing your web page layout with CSS the way it appears to have been intended to be done — with div and span and all the positioning in the CSS instead of the HTML — and you want even one block somewhere which is a different color, you have basically no choice but to specify the color of every last block element, or you will get hideous smears of color all over the place.

Or, at least, I have not been able to avoid these smears, and believe me, I have tried. Since I think it's more important to leave font and color choice up to the reader than to write HTML4/CSS2 the way they were intended to be written, I don't do it the "right" way. It's endlessly frustrating, though; CSS seems to go out of its way to make obvious simple things that the author would really like to be able to do, very hard.

In other news, Seth Schoen as usual has lots of interesting things to say including some short comments on the EFF benefit at the DNA Lounge which I am now even more disappointed to have missed. But I'm pleased to see that Seth too reads Electrolite.

Monday, 26 August 2002

# 7:20 PM

because sumana demanded it

Effects of Sleep Deprivation, in convenient table format for incorporation into your role-playing campaign. (It is system-agnostic, despite the /shadowrun/ in the URL. Well, I suppose the requirement for percentile dice could be taken as a system dependency, but everyone's got a couple of 10-siders lying around, don't they?)

Friday, 23 August 2002

# 12:30 AM


I think I'm coming down with a cold. Which is frustrating, because I wanted to go to CAFE 2002 tonight.

seen on the street

Ten- or eleven-year old girl with the top of her head shaved, down to about ear level; the hair that sprouted below her ears, however, went all the way down her back.

there was something else

but I can't remember what it was.

Wednesday, 21 August 2002

# 3:05 AM

a collection of thoughts

Depressing to discover, via a series of endless threads on debian-legal, that LaTeX and possibly even TeX itself may have to be considered not free software. The LaTeX developers have apparently decided that consistency across installations is more important than freedom. This is the exact same philosophical difference that makes, e.g. qmail not DFSG compliant. The problem is, while there are good alternatives to qmail, there really aren't good alternatives to LaTeX. (All you troff fans can go ahead and flame me now.)

I normally don't have much interest in Wired magazine — it plays around far too much with form for the content to be readily accessible. But some of their recent content is indeed worth reading. Here's an article about a real, honest-to-ghu bionic eye; another one on the water crisis in central Asia; one on Europe's GPS clone; and finally, GM rethinking the whole "car" concept.

And check this out: a Bayesian spam filter, with solid theoretical reasons to believe it will work and keep working. Me want.

(If the first paragraph is unreadable turn CSS off. I tested it, it looks good in Mozilla, but I have this nagging feeling you're not supposed to do kerns like that.)

Sunday, 18 August 2002

# 3:45 PM

apartment life, joys of

Instructions for setting up my shiny new microwave oven:

The plug must be plugged into an outlet that is properly installed and grounded. Plug the three-prong power cord into a properly grounded outlet of standard 115-120 voltage, 60 Hz. Your oven should be the only appliance on this circuit.

Considering that there is exactly one circuit for the entire apartment, and that the building was wired back in the days when Real Electricians didn't use three-hole outlets, this is going to be difficult.

Oh, also, what's something you don't want to smell on opening up a box containing a food-prep appliance? Model airplane glue! I suspect it's the paint, and I suspect it'll be fine if left to air out for awhile, but still.

Saturday, 17 August 2002

# 10:15 PM

I went to Bed, Bath, and Beyond in search of a microwave, but the only thing they had was the Sharp "half pint", which is accurately described as super-deformed. (Check out the red and blue models.)

Managed to find a full-sized one at Macy's.

# 4 PM

I got a new toaster. (The old one had had a spring fail, I think, so that it would jam every time it popped up.) It's nice - four big slots, removable crumb tray. However, the instructions clearly state that one should keep it unplugged whenever it's not in use. Where does this come from? I've never seen any such restriction on a toaster before.

Friday, 16 August 2002

# 10:50 PM

Sumana links to several versions of a list of reasons books are better than drugs. The list is amusing, but I take exception to one of the entries:

21. Books don't have negative interactions. You never have to worry about what's going to happen if you mix two or more books.

Simply not true — negative interactions are common. Read, for instance, Ayn Rand and John Stuart Mill in quick succession. If you are not damn confused at the end of this exercise, you missed at least one author's point. Worse, consider what happens when inappropriate connections are drawn between unrelated authors — social Darwinism, for instance.

Thursday, 15 August 2002

# 1:05 PM

One thousand eight hundred thirty-six.

That's how many email messages were waiting for me at my work account.

A rough breakdown: 30 messages addressed to me, seven of them spam. Six more pieces of spam caught by the (much less aggressive) filter on this account. 26 messages to internal CodeSourcery mailing lists. Then, 966 from the various GCC development lists; 446 from the Subversion project list; 322 from the Python development list; and a handful more from lower-traffic lists.

In the time it took to download all that mail, read everything but the high-traffic mailing lists, and prepare this summary, another twenty-one messages arrived.

Wednesday, 14 August 2002

# 8:40 PM

i can stop anytime i want

Datastarve, they call it in cyberpunk role playing games. An addiction to information, brought on by spending too much time with your brain wired directly into the network. But you don't need to jump forward thirty to sixty years and undergo major surgery, have a high bandwidth "datajack" installed into your head, to suffer datastarve. Most of us already have a high bandwidth channel directly to our brains, came free with the body: our eyes.

I just spent five days in Los Angeles with my parents. I had great fun. Swam every day. Went barefoot as much as possible. Saw an exhibit of Hopi tithu dolls (more commonly known as "kachina dolls") at the UCLA Fowler Museum of Cultural History. And I didn't touch a computer the entire time.

What did I do the moment I got off BART here in Berkeley? Came over to ICSI, where I am now, to check some of my email and write one of these blog entries. And I've the urge to go straight home, turn the computer back on, pick up the remaining mail (the vast majority, since most of the mailing lists go to the other account) and spend the next, well, however long it takes, catching up on every last one of the information feeds that I normally read daily. Takes an hour or so each morning — I would be done by midnight.

But I'm not gonna. I'm going to go eat, and then I'm going to San Francisco to the FSF benefit.

seen on the street

While riding AirBART away from the airport: A cab with an ad for Yahoo!jobs on its top, showing a signpost for the intersection of Opportunity and Van Ness Avenues.

In the Berkeley BART station, a guy busking — with a didgeridoo.

the junkmail wars

Waiting for me in the primary inbox for this account: 37 messages, of which 7 were wanted, 5 were spam, 12 were mailing list traffic I don't care about anymore, and 13 were copies of whichever Outlook worm is making the rounds this week.

In the spamtrap box, on the other hand, were 81 messages, of which 3 were legitimate, 1 was a different Outlook worm, 73 were garden variety spam, and 5 were the Nigerian scam.

I like SpamAssassin, yes I do.

Tuesday, 6 August 2002

# 8:50 PM

Went back to the vacuum cleaner place.

Me: I have a [brand] vacuum cleaner and it started spewing this burning smell...
Clerk: Because the beater had seized up and burned out the drive belt, so you need to replace both. Lemme see what kind of beater it was.

So I showed him, and he went in the back and got me a new one. Happens all the time, he said. He also showed me how to clean hair out of the bearings before they seize up (after they seize up, you're hosed). The aftermarket beaters have an improved end cap that's supposed to stop the hair from getting into the bearings quite so easily. I haven't yet tried it out though.

On the way there, I stopped to watch Fulton Street (alias Oxford Street) being repaved. Asphalt is an interesting substance: it comes in a truck, as a pile of slightly sticky gravel/sand/tar mixture, which can be moved around with a shovel. Heat it up and squash it, and it becomes a solid. That is all the road-paving machine does. The trucks dump a trail-like pile of asphalt down the area to be paved. The paving machine comes along, scoops up the pile, spreads it evenly over the road, heats it up, and squashes it. (I think the middle two things happen in the opposite order. It's hard to tell just from looking at the outside of the machine.) Poof, road. Then they come round with the grader and make it all even, later.

Road repair machines always remind me of a short story I read once. It's called Mary Margaret Road-Grader. The full text is online at Strange Horizons.

In other news, Bruce Sterling's speech at OSCON 2002 is well worth reading. (Scroll past all the contest entries.)

Kasuri Dyeworks turns out to sell only cloth, not finished pillows.

# 11:50 AM

Last month he came and bothered Shweta, now he's come for me: the man running a chainsaw under my window at 6 AM.

Monday, 5 August 2002

# 7 PM

I noticed that my vacuum cleaner was emitting an awful burning smell so I took it apart. There was so much hair wrapped around the rug-beater and into its bearings, that it had stopped turning. The motor axle had been spinning against the stationary drive belt, heating it until it charred.

So I took the beater and the belt down to the vacuum cleaner parts place on Berkeley Avenue (just east of Shattuck, north of University) only to find out that on Mondays they are open from 9AM to 1PM. I had gotten there just too late.

I'm all for shopkeepers taking half days if they want, but couldn't they be open in the afternoon when I'm awake enough to get there, instead?

Oh well, I'll just have to go back tomorrow, which is fine 'cos then I'll have a chance to stop at the Kasuri Dyeworks (which is just plain closed on Mondays) and maybe get some new pillows for the couch.

# 1:40 AM

mime troupe

I spent today as a volunteer helper-outer for the San Francisco Mime Troupe's show in Ho Chi Minh Park (aka Willard Park). This was loads of fun. I got to lift heavy objects, eat a free lunch generously provided by one of the actors,canvass the crowd for mailing list subscriptions, watch the show, canvass the crowd again for donations, and lift the heavy objects again. All this with a bunch of really cool people. What more could one ask?

There were two guys at the back of the crowd with signs protesting the show, on the grounds that it gave a false impression of small obscure Central Asian countries. This accusation is wholly justified, but I think it also totally misses the point. Obscuristan (the show is titled "Mister Smith Goes to Obscuristan", and takes place largely in that fictional country) is a parody, as is everything else in the show. I mean, does anyone actually think George W. Bush wears a shimmering purple dressing gown all the time, and watches celebrity boxing? Does anyone actually think that a celebrity boxing match has taken place between Henry Kissinger and Noam Chomsky? And the accurate elements are precisely those that are salient in the public meme pool right now, which is just what you want in a parody.

(Okay, I would be willing to believe that Mr. Bush does watch celebrity boxing; I am not in possession of evidence either way.)

The troupe has a nifty portable stage which they built themselves, made out of aluminum trusses with a wooden floor above that. It has several different ways to change the set, lots of ways to get on and off, and good sight lines for everyone in the audience. It's also really easy to put up and take down.

seen on the street, sort of

I do the occasional "seen on the street" post where I write about something wacky I saw. inpassing.org, however, is a blog devoted to things that the pseudonymous Eve saw or heard on the street. In Berkeley. I should add that I have no trouble believing that even the wackiest things she writes up did happen.

unless otherwise specified all superheroes are jewish

Teresa says so.

Friday, 2 August 2002

# 2:45 AM

A day of unpleasant discoveries:

  • When I got in the shower and turned it on, the showerhead came flying off the end of the pipe and hit me. Turns out the only thing that holds it in place is one nut, which is made out of cheap plastic, and which had cracked.
  • There is no execvpe(3).
  • DALnet insists you have identd installed. If you do, Exim will ping it once for every last message fetchmail passes it.
  • The hardware-monitoring chip on this computer will generate alerts for sensors that are clearly inside their programmed limits.

Wednesday, 31 July 2002

# 3:50 PM

At nine-thirty this morning, two people from the Daly City police department and three from the the San Mateo County crime lab arrived to check out my apartment for traces of blood. They had arranged this with me last week, as part of the investigation of the body found in a Daly City storage locker last month. The body had been dismembered, and the detective on the case thought that the murderer might have done it in my apartment. The actual murder happened in San Francisco in January 1999, so this would have been long before I moved in.

The investigators had me sign a consent form permitting them to do a search without a warrant. This authorized a much more thorough search than what they actually did; I assume it's standard text. They photographed all the rooms in the aparment, drew a floor plan, had me show them all around the building, and then got down to checking for blood. This is done by using damp cotton swabs to sample locations, then dripping chemicals on the swabs that turn green in the presence of iron. Rust generates a false positive; they got one off the rust stains below the overflow pipe in the bathroom sink. They checked out the bathroom very thoroughly, the kitchen and bedroom cursorily. They didn't find anything.

In the middle of this, the handyman showed up to unclog the bathtub. He freaked out a little at the sight of five police officers standing in and around the bathroom, but they were all immediately reassuring: no, please, do unclog it now, then we can get at the drain opening. (This is a major reason why I wanted him to show up yesterday, not this morning.) Anyway, he extracted an enormous hairball from the drainpipe, and the tub now drains faster than it has in months.

# 2:55 AM

You know how sometimes you avoid doing a task for ages and ages because it seems like it'll be really hard, and it only becomes bigger as time goes by so you get even more reluctant to do it? And then when you actually do sit down and do the task it turns out to be much easier than you expected? This just happened to me regarding cleaning up the apartment. Once I got started it was ridiculously easy. Pick up all the clothes, vacuum the floor, put the books on the shelves somewhere, shred all the receipts, done.

There is no longer much organization to my bookshelves, but that's to be expected, since I am now officially out of space; things have to be squeezed in whereever they will fit. Also, the handyman never showed up, so the bathtub is still clogged. If he doesn't turn up tomorrow, the landlord will regret it.

Now off to rescue Adam and Robin from the airport.

Tuesday, 30 July 2002

# 6:30 PM

The spiraling shape will make you go insane. (Explanation.)

# 6 PM

Backdating entries with Blosxom is way too hard. You have to find the relevant entry file in a pile of, er, about 250 others at last count, and use touch to adjust its last-modification datestamp. Putting that together with the sheer size of the pile, which will only get bigger, I think it may be time for a bit of redesign.

The bathtub is still clogged. It looks like it may take a plumber's snake to unclog it, which means time to call the landlord. They had better get on it today; I'm not going to be happy if I have to shower tomorrow standing calf-deep in yesterday's bath water. (I did not have to use the Dremel to get the plate off; it turns out to be easily unscrewed.)

# 5:20 PM

seen on the street

A panhandler type sitting on the sidewalk, back against a wall, intently reading Target: Wastelands.

A guy wearing this T-shirt.

I'm also pleased to notice that a restaurant is opening in the long-deserted building on the southwest corner of Bancroft and Fulton.

apartment life

The bathtub drain has been threatening to clog up for months; today it finally did. Cue my discovery that I do not own a plunger. Easy enough to go buy one, but it hasn't yet had any effect. I suspect I need to plug the overflow pipe, which will be tricky, because there's an apparently unremovable metal plate in the way. Well, worst case, I cut it off with my Dremel.

# 11:30 AM


I was riding around in a Zodiac [warning: unnecessary use of Java] with Nathaniel and Shweta, in a swimming pool. This Zodiac had a bizarrely designed outboard motor: it got fuel pumped to it by an immersion pump in the tank, which you could not turn off; if you did, it would explode and spray fuel oil all over the place. You could only stop the motor by hoisting the pump out of the tank, leaving it running.

Unfortunately, someone did turn off the pump, and it did spray fuel oil all over the surface of the water, and I had to clean it up with nothing more than a bucket at the end of a retractable chain on a pole. As I did this, the swimming pool gradually got bigger and bigger until it was a full-size harbor, and no matter how many patches of oil I scooped up, there were still more. Also, there was nothing to do with the oil except dump it on the ground, which is not exactly a good move.

Then I woke up.

Monday, 29 July 2002

# 11 PM

Today I went to Fairfield for a company meeting. (There is no office and we all live scattered around the Bay Area; Fairfield is about equally inconvenient for everyone.) I got to meet Nathan Sidwell, who was visiting the States on account of SIGGRAPH 2002. Among other things, we played miniature golf at Scandia Funland, which is your standard arcade plus minigolf course except it's all Scandinavian themed. We don't know why.

# 2:50 AM

new keyboard

Not exactly new. I had an old dirty keyboard in my closet for awhile; I got it out and cleaned it. The keys don't move as smoothly as they could, but the right-hand Shift key works properly. Now I just have to retrain my fingers to use it.

what are they teaching at hogwarts these days

Honest to ghod actual email I received today:

From: "Hermione Granger" <censored>
To: <censored>
Subject: Segmentation Fault
Date: 29 Jul 2002 06:30:16 +0100

Can someone please tell me what a Segmentation fault is?

I guess they're diversifying...

Sunday, 28 July 2002

# 12:35 AM


I went to the Exploratorium in San Francisco today, with Shweta, Nathaniel, and about fifty of Shweta's students from Cognitive Science 1. I'd been last year too, and a lot of it was familar, but they had enough nifty new exhibits to make it still interesting. For instance, they'd expanded their seeing collection with a demonstration of change blindness, a selective attention demo (watch these people play basketball, count how many times the team in white shirts bounces the ball... okay, now did you see the bear walk across the court?) and a really nifty persistence-of-vision demo. This last was a huge LED scroller display, like the ones they have for instant replay at sports stadiums, except that there were only a few narrow vertical strips actually present, separated by blank wall. If you looked at this the right way you could see what was going by just fine, as if the display had been complete.

you learn something new every day

Turns out that you really are supposed to write & as &amp; in the href= attribute of an <a> tag, and that most browsers really do support this. (See, for instance, this explanation.) And it also turns out to be inappropriate to use %26 for this purpose; the point of %-escape is to make the server not interpret the & as a delimiter. LiveJournal's CGI scripts are just fine.

So I've changed all the back entries to use this convention. If you've got a weird browser that this breaks, file a bug report.

Friday, 26 July 2002

# 2:50 PM

I sent in a bug report for the LiveJournal issue mentioned below. We'll see what develops.

Monday, 22 July 2002

# 9:55 PM

Seth: All of the Nethack Sokoban levels are solvable without destroying boulders, as long as you're playing 3.3.1 or later. And you don't want to destroy boulders, because you get penalized to the tune of -1 luck for every boulder you smash. Having negative luck is Very Bad.

Cleverer people than me have worked out complete instructions for solving Sokoban; they're available from Kate Nepveu's spoilers page. [You can safely load that page without being spoiled about anything.]

I find it helps immensely to instruct Nethack (via ITEMS=, or boulder= in 3.4.0) to use digit zero for boulders instead of backquote. This makes it harder to get confused about which square the boulder is in when you're below it. Since zero is normally only used for iron balls, which are rare and (in color mode) drawn in a different color, there's no real risk of confusion with another object. Just make sure your font has readily-distinguishable glyphs for zero and capital O, or that boulder may turn out to be an ogre.

Another handy nethack tip, if you feel up to hacking the source, you play in color tty mode, and your tty displays bright-black as a visible color — the x86 Linux console does; to check, execute this shell script with any modern Bourne shell:

for a in '' '1;'
do   for x in 0 1 2 3 4 5 6 7 8
     do   printf '\033[%s3%sm%s' $a $x $x
printf '\033[0m'

... is to cause Nethack to stop confusing black and blue objects. You can do this by applying this patch to win/tty/termcap.c:

Black objects will then appear as dark gray, not dark blue, which makes it (e.g.) possible to tell the difference between a pit and a rust trap, or a black dragon and a blue dragon. Note that this patch only works for systems that define both UNIX and TERMINFO; other systems do color with different code, elsewhere in that file, that I'm not about to try to hack up.

A minor complaint: LiveJournal URLs tend to look like this:


Note the ampersand. The W3C HTML validator (correctly) objects to this, but if you substitute &amp; then some browsers mangle the URL, and if you substitute %26 then the LJ CGI scripts don't understand the URL. The latter, at least, damn well ought to work.

# 2:30 AM

There is a large road-repair machine parked a couple blocks from my apartment. It rather resembles a dinosaur, perhaps a brontosaurus, except for having four tractor treads where its legs should be, and no tail.

Friday, 19 July 2002

# 2:20 PM

More reviews of the TMBG concert: Leonard, Seth (scroll down), Benjy (Tuesday and Wednesday), Adam (metareview). I have to applaud Benjy's dedication in going both days and writing down the complete set list both times.

Leonard and Seth both pointed out the excessive volume of the concert. It was loud enough that I worry a little about (gradual, cumulative) damage to the audience members' hearing. Also, even if you don't care about going deaf, some of the songs were totally incomprehensible because of massive distortion. Jamie Zawinski, with his nightclub-owner hat on, has some comments on show volume (down at the bottom: look for the bit that starts "Oh, and we're also giving away free earplugs at coat-check now...").

Leonard: Yes, Nethack does give you okonomiyaki instead of pancakes when you play a samurai; as I understand it, it is the closest that traditional Japanese cuisine comes to pancakes. It is difficult to find web pages on the history of this dish, because of the flood of Ranma ½ fan pages that come up. It seems one of the more popular characters on that show, Ukyō, owns a okonomiyaki restaurant. The best I can offer on the history front is the paragraph near the bottom of the Otafuku Foods corporate webpage.

Thursday, 18 July 2002

# 10:35 PM

funniest spam in some time

Date: Thu, 18 Jul 2002 20:45:08

GUARANTEED! NO RISK! NO GIMMICKS! NO OBLIGATION! ABSOLUTELY FREE & ALREADY PAID FOR! To receive your FREE TICKET TO HEAVEN delivered by the U. S. Postal Service, simply contact us and give us your name and complete mailing address including ZIP CODE & COUNTRY.

  1. CALL OUR TOLL FREE NUMBER: 877-655-4557--OPEN 24 HOURS! or
  2. EMAIL IT TO: Free_Ticket_2002@lycos.com, OR
  3. WRITE US AT: P. O. BOX 720791, Orlando, Florida, 32872, USA, or
  4. FAX IT TOLL FREE TO: 888-299-7532, OR
  5. IF YOU ARE OUTSIDE USA, CALL US AT 407-207-7971.

(1,000,000 SENT IN MEMORY OF ETTA CAYWOOD (1917-2002))

I am almost tempted to arrange a postal dropbox and send it to them, just to see what happens.


Bought from both Amoeba and Rasputin, this time. They have near-complementary used CD collections.

  1. The Alarm: Standards and Eye of the Hurricane.
  2. The Art of Noise: Daft.
  3. Big Country: Live in Cologne.
  4. Blue Öyster Cult: Heaven Forbid.

I'm listening to the Big Country album right now; it's good.

# 8:05 PM

John Gilmore is suing the government for the right to travel anonymously. Good for him. I wish I could help.

Bank of America has finally developed enough clue to realize that they should offer their online bill payment service for free. This comes just in time for this month's cycle of bills.

Wednesday, 17 July 2002

# 11:10 PM

Here's an interesting Wired article about GM's plans to make hydrogen-powered cars profitable. (From the Daily Illuminator.)

# 3:45 PM

Last night I went to see They Might Be Giants at the Fillmore Theater in San Francisco. This is only the second time I've seen a live rock concert in a nightclub (the first being Blue Öyster Cult at the now-defunct club on California Avenue in Palo Alto). It is definitely a different experience from a concert in an auditorium; since I've now seen TMBG in both kinds of venue, I can make a comparison eliminating other variables.

The basic difference: In a nightclub, one stands up on a dance floor, fairly close to the performers, who are on a stage elevated about five feet; so you're looking up at them, across other people's heads. In an auditorium, one is assigned a seat which is likely to be above the level of the stage; you're looking down at the performers. Unless you paid an awful lot of money, also, you are far away from the stage. The presence of a seat doesn't make an awful lot of difference; I have never been to a rock concert where anyone bothered sitting down through the entire show. (However, a dance floor is designed with the expectation that people will stand, and even jump up and down, on it; therefore it is more pleasant to stand on than an auditorium floor, which may well be thin carpet over concrete.)

Since you are much closer to the performers in a nightclub, the performance is much louder. I neglected to bring earplugs, and regretted it throughout. It was simultaneously easier and harder to see what was going on on stage; the Johns were closer and much more visible, but the sight lines made the backup band (all of whom are named Dan) very hard to see. I spent a lot of time jostling for positions with sight lines unblocked by tall people's heads.

At a nightclub, the lights are set up to be played over the audience as well as the band; they usually don't bother doing that at an auditorium. TMBG used this effectively, as part of their usual tactics to make the audience participate in the show. However, I do not like having 1000-watt stage lights shone directly into my eyes, especially when they've just been adapted to seeing the inside of a dark nightclub.

The show itself was superb. It took them awhile to click with the audience, which is my only complaint. In particular, I think Birdhouse In Your Soul works much better played as a closing number (which is what they did last time I saw them) than as third in set (this time). But they were not pressured into playing Spider which they don't like anymore, and they clearly did enjoy everything that they did do. Including Fingertips. Bet you didn't know it was possible to do Fingertips live. They repeated the dial-a-drum-solo joke in the middle of She's Actual Size, to good effect (well, the drummer was expecting to be asked to do Animal this time; he got this wonderful deer-in-headlights look last time).

One somewhat disappointing thing about going to see TMBG is that they never play all the songs I'm hoping they'll play. This time, it was Spiraling Shape they didn't get to; last time, I Should Be Allowed to Think. But the list of songs I wish they would get to is just endless: Ana Ng, The Bells Are Ringing, Turn Around, Wikkid Little Critta, Dirt Bike, The End of the Tour... So it's not exactly fair for me to complain, especially since they do always play something I wasn't expecting to hear, and it is good. (Robot Parade and How Can I Sing like a Girl, this time.)

The opening act was Noe Venable, a local musician playing solo. She was great too; good music, solid stage presence, knew how to work the audience (not quite as well as John Flansburgh, but then friggin' Bono isn't as good at working the audience as John Flansburgh — admittedly, this is not a fair comparison, Bono has to work an audience at least an order of magnitude bigger). I think she's going places.

Tuesday, 16 July 2002

# 5:05 PM

A challenge for the readership:

  1. Figure out what this does.
  2. Obfuscate it into an appropriate shape (like this).

The best answer will be posted.

#include <stdio.h>
int main(void) {
 int x, y, k;
 char *b = " .:,;!/>)|&IH%*#";
 float r, i, z, Z, t, c, C;
 for (y=30; puts(""), C = y*0.1 - 1.5, y--;){
    for (x=0;
         c = x*0.04 - 2, z=0, Z=0,
         x++ < 75;){
       for (r=c, i=C, k=0;
            t = z*z - Z*Z + r,
            Z = 2*z*Z + i, z=t,
          if (z*z + Z*Z > 10) break;
       printf ("%c", b[k%16]);

# 12:40 PM


According to GnuCash, I should have $32.04 in my wallet. I have only $28.04. What did I spend those four dollars on? I have no idea.

this could get ugly

Afghanistan risks disintegrating into warring regions.

introducing anna

I've added a new link, to Anna Feruglio Dal Dan's weblog. She writes long chewy articles about the politics of Italy, and related things, every now and then.

# 3 AM

book review

Frank Herbert wrote an awful lot of books besides Dune, which is the only one that anyone remembers him for. One of these other books is The Dosadi Experiment. The premise is simple: a mixed population of two sentient species (Humans and Gowachin) has been isolated on a hostile planet, Dosadi, by parties unknown as an experiment; they've survived, and in fact they've become so dangerous that the experimenters are considering destroying the whole planet rather than let them get out into the more civilized galaxy. The protagonist must attempt to find a better solution.

The book unfortunately does not live up to its premise. The whole issue of whether or not the Dosadi are dangerous to the galaxy is sidestepped, in favor of a lot of tangled stuff about body-swapping and the Gowachin legal system. It reads well, though. In fact, the descriptions of the Gowachin legal system are one of the most interesting parts of the book. It's genuinely different from anything we Humans have ever put together, but coherent and does seem to work. Herbert does not paint a very clear picture of the system, or how it is used in ordinary times — the Dosadi situation cannot be described as ordinary. The glimpses we do get are nifty enough to leave me wanting more.

Sunday, 14 July 2002

# 1:05 PM

Another dream. I was at a party. There were these two people going around trying to kill the other party-goers because, they insisted, they were servants of the Handmaiden of Death. I said something like "Why settle for the handmaiden?" and began a ritual to summon Death. Everyone was trying to stop me, but it worked anyway. Death showed up in the form of one of those Hopi kachina figures, grabbed the two people, and took them away to learn how to be his servants. Then I woke up.

The most interesting part of the dream was the bit where I was doing the ritual. It was a song and dance ritual, and when I woke up I could remember all of the words of the song. They were nonsense, but they were all there. (They've faded now.)

Friday, 12 July 2002

# 2:25 AM

Random cool thing: a bibliography for Nethack. (Nethack is a really cool computer game which happens to be chock full of references.)

Saturday, 6 July 2002

# 3:40 PM

Sailor Nothing is a fine work of on-line fiction written by Stefan "Twoflower" Gagne. It's about why being a magical warrior of love and justice is no fun. Y'all should go read it. (Caveats: It's fairly dark; it would probably get an R if it were a movie; if you're not familiar with the "magical girl" anime subgenre you may not get the references.)

# 11:50 AM

A lengthy dream in which I was wandering around this insanely expensive hotel suite in a bathrobe. I wanted to take a shower, but someone had put all their clothes in one of those plastic stacking shelves on wheels, and wheeled it into the shower, and I couldn't move it or use the shower while it was there.

Then this crazy man broke into the suite and attacked me with a kitchen knife. I said "Ha, I'm crazier than you are" and took the knife away from him (getting some small cuts in the process). It then transpired that the crazy man was trying to steal enough money to buy a plane ticket back to Stanford (he was a college student). I was on the phone with a lawyer, trying to explain this, while simultaneously restraining the guy. It's hard to tie someone up properly when they aren't cooperating and you don't have any help.

At this point an older man materialized in the same room claiming to be the crazy man's father. "Okay, whatever, you take him." Then I woke up.

# 2:20 AM



... no law respecting an establishment of religion

I would like to make an actual legal argument for why the phrase "under God" should not appear in the Pledge of Allegiance, nor "In God We Trust" on U.S. paper money, nor any other reference to God or gods anywhere in anything officially endorsed by the government of the United States, federal, state, or local.

The precise text of the First Amendment relating to religion is

Congress shall make no law respecting an establishment of religion, nor prohibiting the free exercise thereof.

On its face that is pretty narrow. An "establishment of religion" refers only to the practice of having one organized religion endorsed by a state and supported by its laws, to the detriment of all others. It doesn't say anything about mentioning religion. But permit me to make an analogy to Jewish law, which has mitzvot and gezeirah. The mitzvot are the things which were explicitly prohibited in the Torah; the gezeirah are additional prohibitions added by the rabbis to prevent people from accidentally violating the mitzvot. Gezeirah are written on the principle that one should not do anything which has even the slightest potential to turn into, or look like, a violation of a mitzvah. For instance, the mitzvah against cooking a lamb in its mother's milk is expanded into a requirement that milk and meat be eaten only at separate meals, off separate sets of dishes, with separate sets of utensils, etc. etc.

It is this guiding principle that I would like to apply to the First Amendment. The government, then, should avoid anything that might even potentially be, or appear to be, an establishment of religion. Yes, it is a stretch from an officially established church to "In God We Trust" on a dollar bill. But it is also a stretch from not cooking a lamb in its mother's milk to eating milk and meat off separate sets of plates.

Wednesday, 3 July 2002

# 10:45 PM


Just got back from buying a whole bunch of groceries. There will be food tomorrow.

Never seen Berkeley Bowl as crowded as today. I'm guessing lots of people are stocking up for parties tomorrow.

Overheard by the bike racks: "It was a nice vacation in the meat world."

# 6 PM

Over at Nerve, there is a hilarious deconstruction of the Abercrombie & Fish catalog. Lore Fitzgerald Sjöberg would be proud.

Then again, Abercrombie do a pretty good job of deconstructing themselves with their splash page.

[Caveat lector: All of Nerve contains nudity and/or discussion of sex.]

# 3:50 AM

book reviews

Two great books in a row this week: Patricia McKillip's Winter Rose, and Neil Gaiman's Coraline. I read the first, and had the second read to me and ~800 other people by the man himself. Yes, the entire book. It took more than three hours, from 7-11 last night, with a break for refreshments in the middle.

It's interesting to compare these two. They are quite different books, told in different styles and with different heroines, but you could make a strong case that they have the same antagonist. I wish I could expound further, but it would be too spoilerful.

A couple of observations on style, though. McKillip is wonderful at atmosphere, and it shows in Winter Rose: it is bitterly, bitterly cold inside that book. Just as it should be, given the plot. Gaiman, now, he's better at painting characters. There's a talking cat in Coraline and it's a cat, not a human wearing a cat's body.

Tuesday, 2 July 2002

# 6:20 PM

Sumana points out that it was one in four simulated weapons that got through security. I had it backward.

# 2:35 AM

seen on the street

A newspaper headline: "Airport Security Still Ineffective." The subhead said that only one in four simulated weapons was caught by security screening. My thoughts were first "no surprises" and second "I'm glad they're actually testing the system."

A truck went by with a modified U.S. flag: instead of the field of stars, it had an Aldermaston (peace sign).

worth reading

Salon interviews John Gilmore about why ICANN should be abolished.

Sunday, 30 June 2002

# 2:50 PM

Further to my rant about version numbers: I left out two important ways to do it wrong.

  1. Failing to bump the major number when you should have. A good current example of this is automake. Versions 1.5 and 1.6 of this program are incompatible with version 1.4; therefore, they should have been called 2.0 and 2.1.
  2. Incrementing any component by more than one. This contributes to the pernicious misapprehension that version numbers are decimal fractions. People sometimes do that when they want to suggest that there have been a lot of changes and compatibility is not 100% guaranteed; for instance, Autoconf jumped from 2.13 to 2.50. The proper thing to do, again, is bump the major version.

It is, by the way, okay to delete features without bumping the major version, as long as the upgrade path is straightforward.

# 2:35 PM

Yesterday was the wake for my grandfather. Well, it wasn't a wake in the technical sense. There was just a large afternoon party at my grandmother's house, with about eighty of his relatives and friends invited. No speeches were made and no one got drunk. A proper farewell to a man who had three hundred people show up for his fiftieth wedding anniversary (last year), though.

It was the first time since about nine years ago that I saw all my cousins in the same place; they've done an awful lot of growing in the interim. The eldest is off to college in the fall.

This morning, I set out to make pancakes, only to discover that the maple syrup had gone moldy. I didn't know maple syrup could go moldy.

# 1:05 AM

From Salon's interview with the writer for the new HBO miniseries Wire:

I'll tell you what, this would be enough for me: The next time the drug czar or Ashcroft or any of these guys stands up and declares, "With a little fine-tuning, with a few more prison cells, and a few more lawyers, a few more cops, a little better armament, and another omnibus crime bill that adds 15 more death-penalty statutes, we can win the war on drugs" — if a slightly larger percentage of the American population looks at him and goes, "You are so full of shit" ... that would be gratifying.

I'm impressed that HBO is willing to take on a show like that. It seems, well, real, and to be saying something that needs saying. That's unusual in TV.

Saturday, 29 June 2002

# 12:25 AM

In my mail today was a response to a trouble ticket I'd filed with my DSL provider. At the top was a lengthy block of boilerplate, containing this passage:

Members: Please DO NOT reply to this email, as we will not be able to respond to it or provide additional support.

We will update this with status or resolution via the Customer Support tool in TAC. If you need to make updates or close your support request, please go to [web page].

This strikes me as sheer laziness on their tracking system's designer's part. How fscking hard is it to set up a robot that adds e-mailed responses to the relevant trouble ticket's logs?

But it's not just that tracking system; every fscking bug tracker I have ever used has the exact same anti-feature, except for Debian's. Now let me outline the series of steps involved in responding to a request for feedback, with and without the ability to send responses by mail.

With Without
1. Receive query by e-mail. 1. Receive query by e-mail.
2. Hit "reply" key. 2. Launch web browser.
3. Write response in favorite text editor. 3. Wait for web browser to start.
4. Save message and hit "send". 4. Navigate to relevant web page.
5. Write response in itty bitty form box.
6. Push "submit" button.

I think it's quite obvious that responses by e-mail are better. So why on earth is it that only one bug tracker on the face of the planet supports them?

(To be fair, some other trackers, such as GNATS, claim to support responses by e-mail, but in practice it doesn't work reliably enough to be usable.)

Thursday, 27 June 2002

# 9:45 PM

one nation, under god, indivisible

As has been mentioned all over the place already, the Ninth Circuit has ruled the Pledge of Allegiance unconstitutional, at least as amended in 1954 to include the phrase "under God." This has come in for bipartisan outrage, e.g. a 99-0 Senate resolution objecting to the decision.

So let me weigh in here with my total agreement with the decision. The pledge should never have had any reference to divinity in it, and the Ninth Circuit ruled correctly. I am disappointed that it seems the Supreme Court will not agree. Matter of fact, I would like to see the pledge abolished altogether, but I'll settle for this change.

Seth Schoen speaks far more eloquently on the subject than I can manage. Go read what he says.

ow ow ow

Tried to learn how to wear contact lenses. I did, once, manage to get one onto both my eyes, at the same time even, and back off again. And it seemed like they worked; edges were sharp and all that. The procedure for putting them on and taking them off, however, was unpleasant and painful, and most of the time unsuccessful. If the optometrist had not kept reassuring me that everyone has this much trouble, I would have given up. My eyes are still sore.


I've a copy of Diane Duane's reissued first two volumes of "The Tale of Five" (as an omnibus). This is a wonderful sword-and-sorcery series, which has been very hard to find for years. Well, the first two volumes were not so hard. The third volume was very difficult to find, and the fourth... well, the fourth volume never actually got finished. Supposedly, the third and fourth volumes will be printed in another omnibus later this year or early next. Here's hoping.

seen on the street

Down at Shattuck and Addison there is a piece of public art which I've been walking by for months, and every time it bugs the heck out of me. It's an area of sidewalk that has been sculpted to look like there's lots of human lips poking out of it. So if you walk on this area, you are walking, metonymically, on human faces. I would rather not do that. There is a reason why 'If you want a picture of the future, imagine a boot stamping on a human face — for ever' is such a powerful line. I don't think it was the artist's intent to evoke that frame, but I'm not going to cut him or her any slack on that score. People should think of these things.

On a lighter note, today I saw a couple of pre-teen kids staggering down the street, each carrying two cardboard boxes about as big as they were. It was a Three Stooges moment.

Monday, 24 June 2002

# 7 PM

A programming puzzle for the readership:

Coding in Python, what is the most robust way to write a work scheduler that dispatches assignments to N asynchronous execution threads? Each assignment is the execution of an arbitrary piece of code. Dependencies between assignments are static and known in advance.

It needs to be thoroughly robust against the assignment inadvertently trashing the scheduler or execution thread's private state, failing to terminate, or consuming excessive machine resources; the scheduler should in all these cases be able to recover control, abandon execution of the problem assignment, and continue.

Also, no matter what, a user interrupt must be able to abort the entire thing. I.e. even in the face of assignments maliciously trashing the scheduler, or outright bugs in the scheduler or execution threads, control-C should work.

Ideally, the implementation of this scheduler would be damn fast. Some performance hit is okay. I said "threads" up there, but any asynchronous execution mechanism is fine; I don't insist on the use of honest-to-ghu threads. (Coroutines, however, are no good; I do need to be able to execute assignments in parallel.)

In case anyone is wondering, yes, I already have a scheduler, it's just not nearly robust enough.

# 2:40 AM

Picked up my sister at Oakland airport this afternoon and took her into San Francisco, where she's living this summer. The airport still hasn't recovered from post-Sep.11 security "upgrades"; the lines for the checkpoints are still just as long. Also, since the building was built on the assumption that people who are meeting arriving flights could come to the gate, there is nowhere to get so much as a newspaper on the outside of the security perimeter. And you can't cross the security perimeter without a ticket anymore. Feh.

I got to meet all of Dara's housemates — she's living with a bunch of friends from Stanford. We all had dinner and watched Jumanji, which they had a tape of. This is a silly comedy with a relatively non-lame performance turned in by Robin Williams. It came out in 1995, and it's kind of depressing how poorly the CGI effects have aged. They looked really spiffy back then; now they seem obviously fake.

Sunday, 23 June 2002

# 2:40 AM

Another week, another game session. The PCs are trying to rescue a whole bunch of kidnapped children from a farm. The kidnappers, you see, have holed up on this farm, taken the farmers hostage, and are threatening to kill everyone if they don't get given safe conduct out of the country. The farm, incidentally, is guarded by barghests — not because the kidnappers brought them along; they belong to the farmers. So however they get in, they can't let the barghests notice, or they'll strike up a howl and alert the kidnappers (and likely maul the PCs to death too).

The players devoted the entire session to planning. Frankly, I like having players that would rather spend that long making plans than risk getting any of the hostages or kidnappees killed. Or the kidnappers, for that matter. The PCs have already once been forced to trek to the land of the dead to interview an adversary who inconveniently killed himself before he could be questioned; they're not going to get themselves stuck in that situation again.

It does, however, mean that we made no use whatsoever of about half the background detail that I worked up, that being the half that only becomes evident once they get on-site. (Oh yes, it gets even hairier.)

Thursday, 20 June 2002

# 5:45 PM

a rant about version numbers

Version numbers, as you know, Bob, are those odd digit strings attached to computer software. They look like "1.2.4" or "3.1.0". Now, lots of people are out there releasing software without the slightest understanding of how to generate these numbers, so here is my own explanation, after the style of another such (which neglects to say anything about the its/it's mess, but never mind).

This is how to do version numbering right:

  1. Realize that these numbers are not decimal fractions. They are integers separated by periods. That means version 1.99 is older than version 1.100, and version 1.100 is not the same thing as version 1.1.
  2. Only offically released versions of the program get version numbers. Development snapshots don't. Nor do test releases.
  3. A version number should have three components: 1.2.0 or 1.2.3. If the last component is zero, it may be omitted, but that's just shorthand: 1.2 and 1.2.0 are the same thing.
  4. Each of the three components has a meaning:
    • The first is the major version. You increment this number only when you have made changes that break backward compatibility. This is to be avoided if at all possible.
    • The second is the minor version. You increment this number when you release the result of a development cycle, having made lots of improvements, probably introducing new bugs as well.
    • The third is the patch level. You increment this number when you release the result of a bug-fixing cycle. A patch release should have strictly fewer bugs than the previous one, and no additional features.
  5. The first official release of your program is 1.0 (aka 1.0.0).

Now, some of the numerous ways to do it wrong:

  1. Bumping the major version number for no good reason. This is extremely common. If you bump the major version, it means that upgrading is dangerous, because changes were introduced which deliberately broke some of the ways the program used to be used. Do not bump the major version if this is not true.
  2. Not having a three-component version number. If you have fewer than three components, you hide information that your users need. If you have more, you merely create confusion. (Four- and five- component version numbers can be correctly used by repackagers; see for instance the Debian policy manual. But if you wrote the program, use three components.)
  3. Using anything other than numbers in version numbers. Versions such as 1.0a are ambiguous; is that the same as 1.0.1, or is it an alpha test for 1.0 (which shouldn't have had a version number in the first place)? Automatic sorting procedures disagree on how this is supposed to work, as do humans.
  4. Giving version numbers to development snapshots. The worst offender here is the Linux kernel, which makes a distinction between odd and even minor versions, then tacks a ton of extra suffixes on the end because the patchlevel isn't sufficient detail. This is a symptom of that development effort's longstanding habit of not using a proper version control system, but that's beside the point.
  5. Using major version number zero. This is not a total proscription; it is possible to use it correctly, if you know what you are doing. (See Subversion for an example of the correct use of major version zero.) Normally, however, anything before 1.0 is a development snapshot, which — once again — should not have a version number at all.
  6. Distinguishing version X.Y from version X.Y.0. This just plain causes confusion. (Fortunately, very few people do it.)
  7. The GNU maintainer advice for test releases has an especially pernicious suggestion, to use 4.5.90, 4.5.91, ... for test releases up to 4.6; not only does this clash with the namespace of patchlevel releases (what if there really were 90 patchlevels to 4.5?) but it continues by suggesting that the sequel to 4.5.99, if you're not done, should be 4.5.990, which is just plain wrong. See above about version numbers not being decimal fractions. Taking this advice is a common error.

The proper thing to do with development snapshots, by the way, is to give them date stamps, which look like 20020602. It is also acceptable to use 2002-06-02, if you're consistent. No other date format is acceptable; there are far too many of them, they're ambiguous both to humans and computers, and they don't sort right by naïve string comparison. If you are generating snapshots for two different branches at once — say, the main trunk and the 3.1 release branch — you can disambiguate them by mentioning the major and minor number of the previous release on that branch in the bundle name.

Ex Bibliotheca hopes that this has been an informative and useful rant, and that more of you out there will get it right in the future, dammit.

Wednesday, 19 June 2002

# 9:55 PM

Leonard nitpicks Star Wars: Episode II. And behold, it is funny. Contains the beautiful phrases "...look on the bright side: you wouldn't all be crushed under the jackbooted heel of the Dark Lord of the Sith!" and "I don't know how this could possibly happen, but I could probably think something up if George Lucas put me on the payroll."

(Me, I plan to wait until it comes out on DVD and then propose that the ICSI movie club either MST3K it, or take Dave Trowbridge's advice.)

# 9:35 PM

Hobo Nickels. Check it out. (From Boing Boing.)

# 4:05 AM

Threw a party for Shweta's 25th birthday. Lots of people came: herself, Nathaniel, Sumana, Vince, Rebecca, Michael, Julia, Eve, and Alex. We played Once Upon a Time and ate pizza from Zachary's.

Tuesday, 18 June 2002

# 7:45 PM

There's a certain category of fictional works, which are populated entirely with characters that I hate. I mean, these people are scum. They have no redeeming qualities whatsoever. If I were to be in the same room with them in real life I would be forced to blow their heads off with a machine pistol. Fortunately I can avoid this sort of person easily in real life. I can also avoid these people in fiction, by not reading the books, but sometimes I get suckered in and don't realize until it's too late to do anything but hurl the book out the window and scrub my brain out with lye.

The question here is, why do people write these books? How can they stand to have these scum living in their heads? To have made them up and be personally responsible for every last bit of their scumminess? Why did they not blow their characters' heads off with a machine pistol in chapter one, then find a story to write that has at least one person who is worth knowing?

# 3:30 AM

Joshua Micah Marshall, a fine investigative journalist with a blog, thinks that Patrick Buchanan was Deep Throat (of Watergate fame). It is not clear whether this is true or not, but it is a juicy little theory, is it not?

(Why am I still awake?)

# 3:20 AM

ihnta, ijls

Teresa has a post on Lutheran humor, in which she mentions "everyone's favorite Martin Luther quote:"

Sin boldly, but believe and rejoice in Christ even more boldly, for he is victorious over sin, death, and the world.

I feel obliged to point out that I have never heard that before. However, now that I have, it is indeed my favorite Martin Luther quote. (It is also my only Martin Luther quote.)


I haven't done an Amoeba run in awhile, but the albums in heavy rotation on xmms are:

All the band names start with "T." This means something, but I do not know what.

The Sisters of Mercy get mega bonus points for doing their own web page, with an attitude I approve of, and not fscking up the HTML, unlike some other bands I could mention. Well, except for the red-on-orange color scheme in some places. Owwww.

The Bosstones get negative points for pointless Flash; the link above bypasses it, for your convenience. Ditto TMBG; you will notice that the link goes to a fansite, not their official site, and there's a reason for that.

Time was that if XMMS was playing music, the Flash plugin couldn't make any noises. This is no longer true. I need to find out what changed and change it back. (Or find some way to prevent the Flash plugin from ever making noises. Hmm... hexedit the binary and change /dev/audio to /dev/null...)

# 2:40 AM

Yesterday, I went to see my friend Julia Bernd receive her masters' degree. Julia is another linguist — these days I seem to be hanging around an awful lot of them. She had a lot of family and friends show up. I didn't know anyone was named Desiree in real life, which is presumably what I get for being such a Yankee (Julia and company are all from various parts of the Old South).

Today, I spent an awful lot of time playing Freecraft, which is a clone of Warcraft II, which I was hooked on for a while back in college. It is a strategy game, in which you have to defeat a series of small armies of orcs (in the original; the Freecraft people are systematically renaming all of the cast in order to make it a tad less cliched, but they haven't finished yet). One thing I hadn't noticed before, about both the original and the clone, is that you invariably wind up clear-cutting all the forests on the board in order to build stuff with the wood.

An increasing number of web sites in my bookmarks list are becoming inaccessible from my DSL connection; routing traces go off into the weeds. I've poked the ISP and we'll see if it gets fixed. Unfortunately one of the inaccessible places is the W3C's HTML validator, so if there are any markup errors in this post, that's why.

Thursday, 13 June 2002

# 2:40 AM


Checked with my mother; Roger was born in 1922. He would have been eighty years old later this year.

Further to my complaints about the local anti-war protesters: my father is of the opinion that there haven't been any effective protest agitators since Mario Savio. He was in Berkeley at the time of the Free Speech Movement, so I think he is likely to know what he is talking about.

It also occurs to me that one of the assertions I made in that post may be misinterpreted. I said that the protesters take the position that War is Bad, end of discussion, and this is an absurd stance. Now, in an absolute sense, war is bad. To quote Eisenhower:

Every gun that is fired, every warship launched, every rocket fired signifies, in the final sense, a theft from those who hunger and are not fed, those who are cold and not clothed. This world in arms is not spending money alone. It is spending the sweat of its laborers, the genius of its scientists, the hopes of its children... We pay for a single fighter plane with a half million bushels of wheat. We pay for a single destroyer with new homes that could have housed more than eight thousand people... This is not a way of life at all, in any true sense. Under the cloud of threatening war, it is humanity hanging from a cross of iron.

The catch is that international politics isn't a matter of absolutes. There are situations where war is the best available action for a nation to take. There are more situations where making a credible threat of war is the best option. You will notice that Eisenhower did not abandon WWII just because it was the colossal waste of money and lives that he knew it to be. The alternatives were worse. On the other side, the Vietnam-era antiwar protesters were credible because they could show that that war was not our best available option.

The trouble with the current crop of protesters is that most people realize that sometimes war is necessary. The protesters' position comes across as "war is never necessary," and that's an absurdity, at least to their audience. The pro-war demagogues can therefore run right over anyone raising objections to this war, by claiming that their position is equivalent to this absurdity. That's a lie, but it's a lie that gets believed.


The Neilsen Haydens are full of interesting posts lately. Patrick has a couple of snappy ones on nuclear power and one on people's reactions to Coleen Rowley (the FBI whistleblower). Read the comments on both. Teresa has a long chewy speculation on Mr. Bush not knowing that there are black people in Brazil. Again, read the comments.

Sunday, 9 June 2002

# 2:20 PM

roger alexander, 192x-2002

My grandfather is dead.

He never recovered from the heart attack he suffered last week. He was unconscious for most of that time, but did wake up enough to recognize and speak to my grandmother on Friday. I'm told he died in his sleep, early Saturday morning.

I'm not sure precisely how old he was (pathetic—what kind of grandson am I?) but he interrupted his college education to fight in the second world war, so he has to have been born in the twenties. He had a long and distinguished career as a geologist with the Standard Oil Company (Chevron, after the breakup). After he retired, he taught petroleum geology for a while at Cal. He never stopped doing stuff, even this past year when he was continually ill. In fact, the thing that makes me saddest, right now, is that I remember him being all excited last Christmas about doing a geologic cross-section map of the Bay Area. It was to be displayed at the Mount Diablo state park's visitor center. He never got to start it.

Yit-gadal v'yit-kadash sh'mey raba, b'alma di v'ra hirutey, vyam-lih mal-hutey b'ha-yey-hon uv'yomey-hon uv'ha-yey d'hol beyt yisrael ba-agala u-vizman kariv, v'imru amen....

Goodbye, Roger, I'll miss you.

Wednesday, 5 June 2002

# 8:40 PM

Mozilla 1.0 is finally out!

# 8:35 PM

Hacked up Blosxom to go faster. Here are gory details.

# 6:50 PM

further car follies

I went and test-drove the new Honda Civic hybrid (warning: pointless use of Flash). This is a nice little car. It is pretty much indistinguisable from the conventional-engine Civic except for being about $4,000 more expensive and getting an additional ten-fifteen miles per gallon. Unlike the Toyota product, the dashboard and controls are all normal.

Honda has a surprising-to-me corporate policy of not allowing anyone to rent their cars. They don't sell to rental companies, and the dealerships don't do rental arrangements. The sales guy said this was to improve the resale value; rental places (he said) buy lots of cars, keep them for a year or two, and sell them again, glutting the used market. Now, since I am of the "buy one car and keep it for ten years plus" school of thought, I don't care about the resale value. But it makes it impossible to test drive the car over a long distance, which is somewhat frustrating. I didn't even get to try it on a freeway.

Also, the dealership has a markup on all their cars' sticker prices: "market value." This, the salesman explained, is an adjustment to reflect how much the car is worth, over and above the MSRP — which is already marked up quite a bit from dealer invoice. I imagine it should be possible to talk them down, but gosh, that's awful blatant.

I was pleased that the sales guy took me at my word that I wasn't going to buy anything today, and let me go in peace.

On the way home on my bike, I saw a car go by with the logo of the Bay Area City Car Share organization. This, frankly, would be the ideal car arrangement for me. I drive about three thousand miles a year, I know when I'm going to need a car well in advance, and I don't wanna deal with the hassle of parking, insurance, maintenance, etc. So why am I not signing up? Because you have to be twenty-five years old. Feh.


It is once again intolerably hot (i.e. 81°F). Fortunately, I remembered to make ice cubes this morning, so I can now have iced tea and cool down some. This is going to interfere with doing laundry, though.

Tuesday, 4 June 2002

# 8:10 PM

Discovered today the lovely Russian Tea HOWTO, buried in the Linux HOWTOs collection. They've taken it out of the official bundle, so here it is for your amusement.

# 4:10 PM


I cannot find anywhere that sells organically-grown white sugar, or even brown sugar. All there seems to be is "evaporated cane juice," which tastes quite strongly of molasses, much more so than brown sugar. It's not a bad taste, but even so. Why shouldn't there be people out there who want to buy sugar without pesticide residues in, but still refined — say, for use in recipies where molasses is inappropriate?


I would like to be anti-war and pro-Israel at the same time. I don't think this is too much to ask. Yet somehow, all the local anti-war protesters are thoroughly pro-Palestine, to the point where one suspects them of outright anti-Semitism. I can't countenance that.

Furthermore, my own opposition to the present war is based entirely on my opinion that it's not going to help any. We may or may not have succeeded in removing a despotic government from power in Afghanistan; it's too early to say whether another one will replace it. Meantime, we haven't even dented the root causes of the terrorist problem. If we were doing things that would, and those things happened to include the use of military force, I'd support that.

The local anti-war protesters, however, take the position that War is Bad, end of discussion. Since this is an absurd stance, it actually strengthens the pro-war position; they can just brush off more meaningful objections as equivalent to the above.

(When I rule the world, rhetoric will be a required subject in elementary school.)

Here's an article by Paul Berman on the subject of resurgent anti-Semitism in the developed world.

Sunday, 2 June 2002

# 8:35 PM

Sumana tells me that ska music is simply rock 'n roll with a horn section, and that often the bandmembers wear suits and ties. I am Enlightened. I always thought it was much more complicated.

# 1:30 PM

The time stamps are fixed now.

Saturday, 1 June 2002

# 6:45 PM

After five months of bloggery by hand, Ex Bibliotheca is now powered by Blosxom, with a number of personal hacks applied. To do this, I had to change the base URL; you may have noticed a nasty nag message on the way in, or you may not have, depending on whether the server redirect is still present. Please update bookmarks accordingly.

One nice effect of this change is that I can now do like Sumana did, and provide permanent links to individual entries. That's what the hash marks to the left of each date stamp are. (Sumana calls them pound signs. The Jargon File entry for ASCII appropriately points out that

...There are more culture wars over the correct pronunciation of this character than any other, which has led to the ha ha only serious suggestion that it be pronounced `shibboleth' (see Judges 12:6 in an Old Testament or Tanakh).

On the down side, all the time stamps are stuck in Greenwich Mean Time for no apparent reason. I have done the appropriate magic to make them appear in Pacific time, but it doesn't work. Yet.

I may change software again; Blosxom is nice and simple, but it's also rather heavyweight - one file per entry, all in the same directory, and it has to read them all every time you load a different subset. Also, it doesn't do comments, nor does it autogenerate the archive pointers for me. However, Apache's mod_rewrite should mean that I never have to change the URL again. (Famous last words.)

Thursday, 30 May 2002

# 10 AM

A dream: I was helping someone assemble a complex map-of-the-world puzzle, with a nasty twist. All the pieces had the same shape, and if you put one in the wrong place it would melt. There was also some concern about pieces having been used up already — they gave the owner magic powers, rather like the cards in Card Captor Sakura, but only when loose, and using them that way could make them vanish. It was really important that the puzzle get completed.

Also there was something about a can of spray paint but I don't remember that bit clearly,

Wednesday, 29 May 2002

# 9 PM

I'm playing with Galeon, which is a web browser. The authors basically took Mozilla, peeled off the layers and layers of bloat wrapped around its rendering engine, and put in a nice thin GTK-based user interface instead. Thoughts so far:

On the up side:

  1. It's fast.
  2. I can make all the unnecessary chrome go away.
  3. It does antialiasing, which magically makes all the tiny print on various web pages (such as Electrolite's comment windows) legible.
  4. It has "load no images", "ignore all color specifications", "ignore all font specifications", and "ignore the style sheet" right there in the menu bar, instead of buried in preferences.
  5. "I want my bookmarks to be my home page" is a standard feature.
  6. There's no artifical limit on the length of the back-button's history menu.
  7. Did I mention it's fast?

On the down side:

  1. It doesn't have Mozilla's lovely "search by typing into the URL bar" feature. Or at least I can't find it.
  2. It randomly forgot half of my preferences when I quit it the first time.
  3. It doesn't have a mode in which pop-ups can only happen as a result of a mouse click (which should have been the only way it worked from Day One of Javascript). It does have the ability to turn all pop-ups into tabs, which compensates partially.
  4. The bookmarks-as-home-page mode is not perfect. Lemme dust off a rant from my old journal:

    Arrgh. Fscking Netscrape.

    I have it set to start by displaying my bookmarks list. There is no way to get rid of either the Personal Toolbar Folder (although you can delete all its entries, thankfully) or the top header; nor can you change the text of the header. Thus both of these things are wasting my VALUABLE VERTICAL SCREEN REAL ESTATE which should be PRODUCTIVELY occupied displaying BOOKMARKS.

    I have the same bitch about the menubar, toolbar, location bar, status bar, and title bar (ok, that last is the window manager's fault). An entire inch of my screen is lost to this crap.

    Galeon's "my portal" mode does the Right Thing and displays the bookmark as a series of paragraphs, not an unordered list, which makes them almost fit onto the screen. And there are neither large headers nor unnecessary chrome wasting space. However, there is a huge image floated in the upper right hand corner, and guess what? That makes the difference between everything fitting onscreen, and not.

# 7 PM

Powell's Books interviews Norton Juster (author of The Phantom Tollbooth).

(So has Salon, last year.)

# 6 PM

heat wave

It's hot. It's not ever supposed to get hot here, dammit. I cannot cope with temperatures above 70 degrees Fahrenheit. (Half kidding.)

more shelves

I've bought more cinder blocks and boards with an eye to enlarging my bookshelves again. Two more tiers on the shelves on the far wall of the living room, should hold me for another six months or so.

Home Depot does not carry the right kind of cinder blocks. I think the pavers I bought instead will work, but they are disturbingly thin.

# 12:30 AM

Dave Trowbridge (linked from Electrolite) proposes a solution for the "excruciating dialogue" of Attack of the Clones: set the language on your DVD player to one you don't speak, and pretend it's opera.

I have not seen this movie, and after all the bad reviews I don't plan to bother. If you want to see a big-ticket action movie, consider Spider-Man instead: it's well written, believable (as much as a superhero movie ever is) and has three-dimensional, interesting characters. I do have to agree with Roger Ebert (review - mild spoilers) that the movie doesn't portray Spider-Man as well as it does Peter Parker, but I didn't mind that so much as he seems to have.

Dammit, I miss New York City.

Tuesday, 28 May 2002

# 7 PM

This afternoon, I spent a good hour in the bank putting two years' worth of small change (pennies, nickels, dimes) into rolls so that I could deposit them. It came to $40.22, which is not trivial; however, I'm left somewhat disgusted at the bank. Why on earth don't they have a counting machine? Bank-scale models only cost about two thousand dollars, which is chump change from their point of view, and I'm sure they have plenty of customers who could use it (think small businesses; two grand is not small change to your typical low-margin restaurant).

# 11 AM

Neglected to mention, yesterday, that while Dara and I were loading the futon onto my car we saw and heard some military jets scream by overhead. I don't know what they were doing, and it didn't make even the local news. It still makes me nervous.

On a related note, here's a feature article for the Washington Monthly discussing whether or not the USA should attack Iraq.

Monday, 27 May 2002

# 8:30 PM

I picked my sister up at the airport this morning, she was flying back from having spent Memorial Day weekend down in L.A. We visited the SF MoMA; they were showing a bunch of themed selections from their permanent collection, and a retrospective on the work of this photographer whose name I unfortunately cannot remember (and their website is timing out on me so I can't look it up either). He lived in Carmel and took hundreds of photos of, at, and around Point Lobos.

After that, we went to pick up a futon she was buying from this guy who was moving out, and deliver it to the apartment she'll be living in this summer. That would have been easier if the frame had come apart all the way. They're supposed to break down into five or six relatively flat pieces that fit into my car's cargo space. This one's fasteners were frozen, so we wound up lashing most of it — still a three-dimensional object — to the roof. Driving up and down San Francisco hills with this thing up there was, well, an experience. But we did arrive with no injuries and nothing broken.

Finally, we went to the Cliff House for dinner. We were too tired to visit the camera obscura afterward, which was kind of a shame; I've done that before and it's really nifty.

Sunday, 26 May 2002

# 8 PM

My grandfather has been hospitalized after suffering a heart attack and a whole cascade of complications. He might well recover; the doctors are talking about doing an angioplasty to reopen the blocked artery, and optimistic about the prospects for success. We won't know if it worked for several days though.

Saturday, 25 May 2002

# 11 PM

Shweta's friend Conor Quinn (possibly Connor) was visiting for the past couple of days. He's a linguistics student at Harvard, and was in town on his way to Indonesia, where he's doing a month of field work. He speaks half a dozen languages, most of which I had never heard of, and will happily animadvert on the resemblance of words or names that come up in casual conversation, to words in other languages.

We (me, him, Shweta, Nathaniel)went out to lunch at Vik's, which is a really great Indian chaat house down on Fourth and Addison. Then we wandered up and down the Farmer's Market and the Telegraph bookstore row for awhile, and in the evening we went to see Spider-Man (the movie).

Friday, 24 May 2002

# 11:30 PM

I ran into Seth on the street, but I don't think he saw me.

# 5 PM

zack does the happy chainsaw dance

config/1750a/1750a-protos.h, config/1750a/1750a.c, config/1750a/1750a.h, config/1750a/1750a.md, config/1750a/ms1750.inc, config/a29k/a29k-protos.h, config/a29k/a29k.c, config/a29k/a29k.h, config/a29k/a29k.md, config/a29k/rtems.h, config/a29k/t-a29kbare, config/a29k/t-vx29k, config/a29k/unix.h, config/a29k/vx29k.h, config/alpha/osf12.h, config/alpha/osf2or3.h, config/arm/arm-wince-pe.h, config/arm/arm.h, config/arm/riscix.h, config/arm/riscix1-1.h, config/arm/rix-gas.h, config/arm/t-riscix, config/clipper/clipper-protos.h, config/clipper/clipper.c, config/clipper/clipper.h, config/clipper/clipper.md, config/clipper/clix.h, config/convex/convex-protos.h, config/convex/convex.c, config/convex/convex.h, config/convex/convex.md, config/convex/fixinc.convex, config/convex/proto.h, config/elxsi/elxsi-protos.h, config/elxsi/elxsi.c, config/elxsi/elxsi.h, config/elxsi/elxsi.md, config/i386/386bsd.h, config/i386/aix386.h, config/i386/aix386ng.h, config/i386/bsd386.h, config/i386/dgux.h, config/i386/djgpp-rtems.h, config/i386/isc.h, config/i386/iscdbx.h, config/i386/linux-oldld.h, config/i386/next.h, config/i386/osf1-ci.asm, config/i386/osf1-cn.asm, config/i386/osf1elf.h, config/i386/osf1elfgdb.h, config/i386/osfelf.h, config/i386/osfrose.h, config/i386/rtems.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h, config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h, config/i386/sun386.h, config/i386/t-dgux, config/i386/t-next, config/i386/t-osf, config/i386/t-osf1elf, config/i860/bsd-gas.h, config/i860/bsd.h, config/i860/fx2800.h, config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h, config/i860/i860.md, config/i860/mach.h, config/i860/paragon.h, config/i860/sysv3.h, config/i860/sysv4.h, config/i860/t-fx2800, config/i860/varargs.asm, config/m68k/a-ux.h, config/m68k/altos3068.h, config/m68k/apollo68.h, config/m68k/aux-crt1.c, config/m68k/aux-crt2.asm, config/m68k/aux-crtn.asm, config/m68k/aux-exit.c, config/m68k/aux-low.gld, config/m68k/aux-mcount.c, config/m68k/auxas.h, config/m68k/auxgas.h, config/m68k/auxgld.h, config/m68k/auxld.h, config/m68k/ctix.h, config/m68k/dpx2.h, config/m68k/dpx2.ifile, config/m68k/dpx2cdbx.h, config/m68k/dpx2g.h, config/m68k/isi-nfp.h, config/m68k/isi.h, config/m68k/lynx-ng.h, config/m68k/lynx.h, config/m68k/math-3300.h, config/m68k/news.h, config/m68k/news3.h, config/m68k/news3gas.h, config/m68k/newsgas.h, config/m68k/next.h, config/m68k/next21.h, config/m68k/rtems.h, config/m68k/t-aux, config/m68k/t-lynx, config/m68k/t-next, config/m68k/x-next, config/m88k/dgux.h, config/m88k/dgux.ld, config/m88k/dguxbcs.h, config/m88k/dolph.h, config/m88k/dolphin.ld, config/m88k/luna.h, config/m88k/m88k-coff.h, config/m88k/sysv3.h, config/m88k/t-bug, config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs, config/m88k/t-dolph, config/m88k/t-m88k-gas, config/m88k/t-tekXD88, config/m88k/tekXD88.h, config/m88k/tekXD88.ld, config/mips/bsd-4.h, config/mips/bsd-5.h, config/mips/dec-bsd.h, config/mips/dec-osf1.h, config/mips/elflorion.h, config/mips/iris4loser.h, config/mips/mips-5.h, config/mips/news4.h, config/mips/news5.h, config/mips/nws3250v4.h, config/mips/osfrose.h, config/mips/svr3-4.h, config/mips/svr3-5.h, config/mips/svr4-4.h, config/mips/svr4-5.h, config/mips/svr4-t.h, config/mips/t-bsd, config/mips/t-bsd-gas, config/mips/t-svr3, config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas, config/mips/t-ultrix, config/mips/ultrix.h, config/nextstep-protos.h, config/nextstep.c, config/nextstep.h, config/nextstep21.h, config/ns32k/encore.h, config/ns32k/merlin.h, config/ns32k/pc532-mach.h, config/ns32k/pc532-min.h, config/ns32k/pc532.h, config/ns32k/sequent.h, config/ns32k/tek6000.h, config/ns32k/tek6100.h, config/ns32k/tek6200.h, config/pj/lib1funcs.S, config/pj/linux.h, config/pj/pj-protos.h, config/pj/pj.c, config/pj/pj.h, config/pj/pj.md, config/pj/pjl.h, config/pj/t-pj, config/sparc/rtems.h, config/we32k/we32k-protos.h, config/we32k/we32k.c, config/we32k/we32k.h, config/we32k/we32k.md:

Delete file.

Delete file. DELETE FILE. DELETE FILE!!!!! DIE ZOMBIES DIE!!! Forty-four thousand lines of rotten spaghetti code! GONE! MWAHAHAHAHAHHAAHAHAA!!!!1!!!11!

Okay, I'll stop now.

# 8:30 AM


At about five AM someone started rolling a noisy cart up and down the sidewalk in front of my building. Clatter, clatter, clatter. This continued until around seven. At first I was woken up; after awhile I drifted into a dream in which the exact same thing was happening, only I was staying in a cheap motel somewhere.

Thursday, 23 May 2002

# 11:30 PM

Monthly Berkeley-area SF kaffeklatsch. Shweta and I went, and I convinced Shweta's friends Conner and Pat to come along too. A good time was had by all. I got to meet Heather Nicoll (aka Darkhawk) which was nice - have read her Usenet posts for some time and thought she might be interesting to talk to in person, and so it proved.

# 6:30 PM

For some reason, whenever I do laundry, none of the socks get dry. They are all spread out on my bed now, drying the rest of the way.

Everything else gets dry, you understand, just not the socks.

# 9:45 AM

Joshua Micah Marshall on the Vice President's opposition to an independent inquiry into intelligence failures pre-Sept. 11:

...Earth to Democrats. You're being bullied. This is the oldest trick in the book. Lash out at your enemies for saying what they didn't say and see if they'll run scared. This man is a bully. He's arrogant. In the marketplace of ideas and argument he believes solely in force. Accepting it now will only encourage further untoward behavior. In any context, bullies can only be treated in one way. Call him on his lie. Be firm in what is a very reasonable position: support for an independent commission.

To which, the only thing one can say is "Right on." And hope that various members of Congress read his column.

Wednesday, 22 May 2002

# 1:30 PM


I dreamt I was asked to perform a marriage between two of my old college friends. A full-fledged Jewish religious marriage. One is not obliged to be a rabbi to do this; however, the rabbi is less likely to make a total mess of it, which is what I did. (It would have helped if I'd had a prayer book to work with. I had to make up most of the ritual.) For some reason all this was happening on the top of a hill and everyone was wearing beach clothes.


Ted Barlow has a lot of good commentary, and links to commentary, about the intelligence failures leading up to Sept. 11 and the current political arguments over same. Go read.

Meantime, Electrolite links to a bone-chilling post by Charlie Stross:

World War Three ...

... Looks as if it's going to break out in the next week. No, I'm not kidding. Two regional superpowers with a combined population of 1.2 billion people -- half the Earth's population at the time of WW2, double the combined population of the USA and USSR -- are eyeball to hairy eyeball over Kashmir. Both sides have got nukes and delivery systems capable of hitting each other's cities. They've fought three wars in the past half century, and they're both pissed.

Makes our little political dust-ups seem real insignificant by comparison.


Over here on Willamette Week Online, we got four articles about marijuana. One in particular argues that legalizing pot will kill pot culture, and that this would be a Good Thing. I am not convinced of either prong of this assertion, but it's still a fun read.

They also have a more serious interview with New Mexico Governor Gary Johnson, who advocates legalization of pot and possibly other recreational drugs on the grounds that prohibition is a failure, and one with horrible side effects:

There has been the acknowledgment on my part since 1993, when I started to run for office, that the War on Drugs is a failure. I have always believed that we could not continue to arrest and incarcerate all the drug users in this country. When I stepped out on this issue, my intention was to have a dialogue, and let's include legalization as a potential alternative. Half of what we spend on law enforcement, half of what we spend on the courts, half of what we spend on the prisons is drug-related. And again, from my standpoint, I don't think there's a bigger issue facing the world today that has some practical solutions.

The elimination of drug prohibition would have a positive impact on our country. We can't continue to arrest 1.6 million people a year.

This is a position I wholeheartedly agree with; it's nice to see a serious politician (and a conservative, no less!) espousing it.

(Also from Ted Barlow.)


Two of my all time favorite Mozilla bugs, 76431 and 101016, have been fixed. Now if they would just do something about 29838...

Tuesday, 21 May 2002

# 8:15 PM


Groceries have now been bought. Berkeley Bowl is a local non-chain supermarket, which has any number of interesting quirks. For example, it's the only market I've ever seen which has Ready Made and the Utne Reader but not the National Enquirer on its check-out magazine rack. Also, they do not stock any Coca-Cola products. I do not know why, but it's likely to be because the store is run by ex-hippies (they have a complete selection of organic and other good-for-the-environment stuff) and they have some issue with Coca-Cola. However, they stock plenty of other megacorporate products (Kleenex, for instance) so I am not sure.


Emacs 20 has an irritating bug in its "customization" code. When you ask the customizer to save your changes, it writes a bunch of Lisp forms at the end of your initialization file (.emacs). If it sees there's already a block of forms that it wrote, it is clever enough to replace them without clobbering what you put in the file by hand.

However, if you have byte-compiled your initialization file, which you might like to do if you have lots of Lisp functions in there, then it goes and writes its stuff at the end of the compiled file. It does not know how to remove the existing byte-compiled version of its stuff from before, which means all the settings get applied twice, and any side effects happen twice. Worse, the next time you modify your personal set of Lisp routines and recompile the file, those settings get clobbered.

The Right Thing would be to modify the source file, which will cause Emacs to ignore the out-of-date compiled version, and notify the user that they may want to recompile. (You don't want to recompile every time you tweak something, it's quite expensive.) A user who has a byte-compiled init file can be assumed to know what the program is talking about. For all I know this has been fixed in Emacs 21, but I'm not particulary interested in upgrading (it's likely to break a lot of my complicated custom Lisp...)

# 3:30 PM

One is not entirely clear as to where the month went. One also suspects that one has forgotten to move one's car to avoid street sweeping and will now owe the city $26.

The computer got a lot quieter after I removed one of the fans, which seems to have a vibration problem. I upgraded to a 2.4 kernel; despite earlier concerns, it seems to work quite well for my purposes, and is noticeably faster in some situations. (It's not obvious which of those are due to better hardware though.) Bonus, the combination of the new machine's video card and the new kernel enables accelerated 3D graphics, which means that if I ever feel like playing elaborate 3D games it'll be possible.

Desperately need to buy groceries.

Saturday, 18 May 2002

# 10:40 AM

Robert Dewar's attitude (exhibits A, B, C) is really starting to grate.

# 10:15 AM

I've upgraded from a two-year-old computer to a one-and-a-half-year-old computer. It's faster, has more memory, more disk, and a spiffier sound card. On the other hand, it's got four fans and two noisy hard drives... it's loud. I'll be looking into noise-reduction technology.

Sumana had her graduation party yesterday. Lots of people came. There were samosas. Seth captivated everyone with his EFF rants.

Today I go watch Shweta get her masters' degree.

Wednesday, 15 May 2002

# 4 PM

Turns out there's a ton of Internet resources for car buyers. Of course, it also turns out to be hella complicated and require wheeling and dealing. I hate wheeling and dealing. But I hate getting suckered more.

# 3:30 PM

So I'm looking into getting a new car. This is unpleasantly difficult. First off, car salesmen are really big on high-pressure tactics. You would think that if I walk into a dealership and say "I want to buy a car sometime in the next two months, I am looking to spend less than $25,000, whadya got?" this would put the discussion on a somewhat more relaxed footing. But no. They do not take my word that I want to buy a car. They try to convince me anyway. This does not strike me as good customer relations.

More seriously, the car companies are all assuming that their customers (a) have a track record of buying cars already, and (b) drive at least a thousand miles a month. Thus, for instance, the warranty on the drivetrain on a Toyota runs five years or 60,000 miles. In five years, assuming no major lifestyle changes, I will drive less than 20,000 miles. (Perhaps this is an unsafe assumption.)

Accordingly, all of the helpful calculate-your-payments webpages that the auto manufacturers have ask me multiple-choice questions to which the correct answer is invariably "none of the above" and I'm left not having any clue how much money will be involved. Well, the sticker price gives a ballpark figure, but 9% interest for however many years does add up.

# 10:40 AM


There's a whole village of spiders living in the window frame of my bathroom. I saw three this morning while showering. As I've said previously, I like spiders. And anything that stops flies getting in that window (which is open most of the time for ventilation) is good by me.

However, I am getting a little concerned. They don't seem to understand that it is not safe for them to come onto the inner windowsill, because they'll fall into the bathtub and be drowned. I would rather not have to worry about this every time I take a shower. Also, guests that need to use the shower may not be as egalitarian as me about sharing the apartment with spiders.

(Insects, mind, are not welcome.)


A week in deep hack mode means another sink full of dirty dishes. Once again I have to do two loads because there isn't enough space in the dishrack. I wonder how expensive those portable dishwashers that latch onto the sink spout are, and how difficult it would be to get one up the stairs.

# 8 AM

Trying to get back to a reasonable frequency of bloggery... let's start with some


One honest-to-gosh anxiety nightmare that left me not wanting to go back to sleep, in which my parents were being disappointed that I'd failed them by washing out of graduate school.

One surreal situation in which I was trying to play a complicated card game to which I did not know the rules, on a table piled high with kipple much of which was part of the card game. And impress a girl at the same time.

And another surreal situation in which all the GCC developers had gathered at someone's house to celebrate the release of 3.1 but I was having to talk someone down who was upset that his patches hadn't been included.


Here is the final paper I wrote for CS 260, and the presentation I gave.

Tuesday, 14 May 2002

# 1 AM

There was a minor earthquake (more details) a few hours ago. The USGS reports it as magnitude 5.2 at the epicenter, which is getting up there. But it was quite a ways south, near Gilroy. In Berkeley, the building rattled a bit and that was all. Still a creepy feeling... I haven't been in an earthquake since the big 6.7 in Northridge back in 1994. For a moment I was expecting it to keep shaking and get worse.

The paper's done. I go to bed now, and do the presentation in the morning (which will be a simple matter of cloning text out of the paper and turning it into bullet points).

Monday, 13 May 2002

# 9:10 PM

That was one bloody awful week, followed by a kick-ass weekend, and if I can just finish the paper that's due tomorrow, I'll be done with coursework, which will give this week a chance to be kick-ass too.

But I have to finish the paper first. I just want to show you my evil rock star made of Legos:

picture of lego man with helmet,
glowing red eyes, and electric guitar

Done with the Mini-Mizer.

Monday, 6 May 2002

# 6:20 PM

Sumana points out that Eric Raymond is giving a talk, er, right now, at Soda Hall. I have seen him talk before, so I'm not particularly interested in going (besides, that would involve getting up and dragging my ass all the way back across campus). In fact, I am singularly unimpressed with the stuff he's been writing recently. The issues he presents are all either so obvious as to be not worth saying, or a lot more controversial than he makes them sound.

It occurs to me that I'm singularly unimpressed with an awful lot of free software advocates—and developers too, come to that. The movement, like any other movement with a political component to it, attracts political kooks. Some political kookery can be necessary and even useful—there probably wouldn't be any free operating systems today if not for the Free Software Foundation's efforts, and the FSF was started by a kook of the first water. (Disclaimer: I hack GCC, which is an FSF project).

But compare this article with this letter. The fundamental message is the same, but one was written by a kook, the other by a professional politician and his staff. It's pretty clear which brand of advocacy is more effective, I think.

(To be fair, the politician has a distinct advantage here: he is responding to a specific letter which is written with so little understanding of the thing it attacks, that it might as well be a straw man. Except it isn't. Please note that the link above is a translation from Spanish; the grammar issues are not the fault of the original author, but I think it's safe to say the content issues are.)

# 6 PM

There was a fire in an apartment building down on Shattuck, not so far from where I live. I went by there on the way to the grocery store, and there were three fire trucks on the block and policemen directing traffic. Wonder what happened. It'll probably be in the local newspaper tomorrow.

I got my notebook back! Apparently I left it at the Other Change of Hobbit (local bookstore). The staff were kind enough to hold it for me. Now I don't have an excuse not to finish the Minicon report.

Sunday, 5 May 2002

# 1:45 PM


My art project is done: twenty-four obsidian (I think) pebbles with symbols carved into them:

ᚠᚢᚦᚫᚱᚲ  ᚷᚹᚺᚾᛁᛃ
ᛇᛈᛉᛋᛏᛒ  ᛖᛗᛚᛜᛟᛞ

—that is, the Elder Futhark, also known as the runic alphabet. If you transliterate all the symbols into the Latin alphabet it comes out "FUThARKGWHNIJYPZSTBEMLNgOD", and now perhaps you see where "futhark" comes from: it's the first six letters glommed together, as if we were to call our alphabet the abcdef. Which, if you think about it, we do, only in Greek.

There are a lot of "extended" futharkim: all the cultures that borrowed the original set from the Norse added letters so they could have all their phonemes represented. This one doesn't do so badly for English; the only letters missing, compared to the conventional orthography, are CQVX, and in exchange you get single letters for "th" and "ng" which would come in handy. In fact, in older books (we're talking Old and Middle English here), "the" was occasionally written þe. This was misread by medieval monks as "ye", and now you know where that alternate spelling came from.

I think it's interesting that the correct plural for "futhark" uses the Hebraic "-im" suffix. Ain't English fun?

Wednesday, 1 May 2002

# 9 AM

Hyperfocus is a phenomenon observed mostly in people with ADD. Most of the time ADD individuals cannot concentrate on much of anything. However, they often have the ability to concentrate on one thing to the exclusion of anything else, for hours on end, if they really want to.

I can do this sometimes; for me it's more like "if I really need to". I did it on Monday, putting in about eight hours straight to complete the big merge I mentioned then.

The problem is it leaves me utterly wiped out for up to a day afterward.

Monday, 29 April 2002

# 11:45 PM


I now know more about Emacs Lisp than I ever planned to learn, Emacs' 3-way merge utility works almost the way I'd like, and the big merge is done. Later merges will hopefully be smaller.

(fx: collapses in a heap)


Also, today I finished rereading The Dispossessed. I like it just as much as I did as a twelve-year-old, but for completely different reasons. The twelve-year-old me liked it mostly because Shevek (protagonist) gets to invent new physics theories. I wanted to do that. The idea of a culture with no law but basic decency to one's fellows was appealing, but I didn't really grok it at the time.

The current me likes the book because Le Guin manages to make her anarchist society genuinely believable. The people of Anarres are real people, with their flaws and virtues both. She understood what troubles it would have, why Shevek might decide to leave in hope of reopening communication with the outside universe, and what he would not understand about the more conventional culture he travels to.

The idea of inventing new physics is still appealing, especially physics that could let us leave our little blue dot and see the wide universe. Do you ever look at the stars and want to go visiting? I sure do.

Sunday, 28 April 2002

# 5:45 PM

It turns out that Emacs has two three-way merge facilities, and the one I didn't try is a lot better in terms of showing you what the situation is. Unfortunately it's got a totally brain-dead user interface: it matters which pane is active when you type commands. Fixing this would appear to take considerable hacking. Grrr.

To use it, I'd also have to figure out the undocumented "gnuserv" interface (for getting a running Emacs instance to do stuff) well enough to make the merge facility play nice with Perforce, which may be a serious pain. But it might well be worth it. How much do I feel like hacking Emacs Lisp?

# 9:45 AM

Cringe-inducing filkage.

# 9:15 AM

Series of bizarre dreams, the only one of which I remember involved me trying to read a book which was done entirely in embroidery, words and all. There seemed to be a picture on each page. The content of the book was rather similar to the Dictionary of the Khazars (which I never did manage to finish...)

Unsurprisingly, Emacs does indeed have a three-way merge facility, but it lacks many of xxdiff's abilities; in particular it is not nearly as good at showing me enough context to figure out what needs to be done. I must resist the temptation to hack it up and make it better.

# 12:30 AM

not impressed

The Postal Service gave me two slips of paper with tracking numbers on them when I mailed my tax returns. They have a web form where you can enter the number and be told where the item is. The Federal return came up as "delivered" within forty-eight hours. But for about a week, punching in the number for the state return gave me "We've never heard of that". Then it changed to this:

Your item was accepted at 1:37 pm on April 15, 2002 in BERKELEY, CA 94704. Status is updated every evening. Please check again later.

and it still says that today, nearly two weeks later. I doubt it's gotten lost; much more likely that whoever delivered it neglected to scan the bar code, or that their database is still out of date. But it doesn't fill me with confidence, either.

three way merge

Sounds like something that might be illegal in Georgia, but it isn't. It's the process of combining changes made by Alice with different changes made by Bob to the same program. It tends to take days and be extremely tedious. There is good software to help out, but not quite good enough for my tastes: in particular, the best program I've found (xxdiff) does not have a facility to edit the merged file as I go along. This means I have to write down all the edits I need to make, finish the merge, then launch an editor. Slow, error-prone. Yuck. The author says he doesn't want to turn xxdiff into an editor, but I think that's a lame excuse.

It just now occurred to me to wonder if Emacs has a three-way merge facility. That would solve that problem...

Wednesday, 24 April 2002

# 11 PM

An exercise: How long can you keep from thinking any words? It's not easy. Seems to be easier while walking, for me anyway.

# 6 PM

apple with one bite missing

Back from the Mac OS X talk. It's really technically spiffy, but I don't see it as serious competition for Windows. This only because they, as a company, still don't have a clue how to position themselves to be competition.

Case in point: If they were willing to consider giving up just a smidge more control, by porting the operating system to stock PC hardware, they would suddenly have a much bigger market. They insist that it isn't worth it, because they can offer a user experience that's just so much better by controlling the hardware platform, but I don't buy it. Users would be content with better than what they already have. The drivers don't have to be perfect, nor the mobility, nor whatever.

Perhaps they have some slick long-term strategy which requires them to not look like serious competition for Microsoft right now. But that just smells like conspiracy theory to me.

city life

There's an old guy with a beard, in dirty overalls, doing something with a plumber's snake on the roof of the building next door. (One would assume he is a plumber.)

# 3:30 PM

I've redone the layout again, mainly so that I can put a mug shot in the upper right-hand corner. (If it's not there, your browser doesn't support CSS. Have you considered upgrading to Mozilla?)

The original photo was taken by David Dyer-Bennet at Minicon 37.

The observant will note that I gave up on doing all the layout in CSS and am using tables again. This is because it's impossible to specify the layout I want in CSS. Or at any rate I have not been able to manage it. If you know how to make the right column be exactly as wide as it needs to be, the left column stretch to take up the entire rest of the page, and the yellow background not smear across part of the left column, please contact me.

Now off to see a talk on Mac OS X.

# 11 AM

Random linkage: Book-A-Minute. Hilarious but only if you've read the books, or attempted to, first.

Panix has a system administrator who does nothing (as far as I know) but install and upgrade software packages. This makes me feel somewhat less pathetic for having nearly killed myself doing the same thing way back in 1996 except on top of a full load of college courses.

Tuesday, 23 April 2002

# 5:30 PM

Bad precedent.

# 9:30 AM

Spent most of yesterday sorting through my finances. I was expecting this to be a drag, but keeping accurate records (using gnucash) turns out to be kind of fun. And it should prevent next year's taxes from being another exercise in digging through file folders to find old credit card bills to attempt to reconstruct how much I spent on what. Or, for that matter, an exercise in wondering what the hell "Yang's" is and why I spent fifty bucks there.

It is a bit sobering to discover that I'm $3K in the hole this year.

Gnucash's save files are much too big, because they're dumping out extremely verbose XML; they compress down about ten-fold. I wonder how hard it would be to wire zlib into the program so they got automatically compressed.

I also read a whole bunch of investment advice over at The Motley Fool. Again, I expected this to be a drag, but it wasn't; they're really good at laying out your options in clear, witty language, and at making the subject interesting. Annoyingly, Fidelity's website has regions which don't work with Mozilla—not the actual "invest online" forms, but the bits where they explain the details of each mutual fund. Which is important to know before one goes off and buys them.

Sunday, 21 April 2002

# 10:15 AM

From Slashdot: Havoc Pennington (one of the core GNOME hackers) has written an essay on free software and user interfaces. Very interesting read.

If you hit some of the hyperlinks you eventually run into a bunch of people making the assertion that graphical user interfaces are always and intrinsically better than command line interfaces. These days, every time I run into this I want to confront the person making the assertion with Jo Walton, who is emphatically not a "power user" (whatever that means) and yet is much happier at the command line than in a GUI, simply because iconography doesn't work on her. Period. She cannot, for instance, read comic books, because they don't make any sense: in the same way that a text in Hebrew makes no sense to someone unfamiliar with the language. It seems unlikely to me that she is unique in this.

I agree with Havoc that excessive customizability is a bad thing in one user interface, overall. But I claim something else, which is that a computer ought to have completely different user interfaces which offer roughly equivalent functionality. Some people like the GUI, others the CLI, and yet a third group want to use each for the tasks it's good at. For evidence, I point at Mac OS X, which has got hard-core Mac junkies poking at the Unix layer and liking it, and hard-core Unix junkies poking at the friendly GUI and liking it.

# 8:40 AM

So as I'm getting out of the shower this morning, a big spider falls off the window ledge into the tub. I do not freak. I rather like spiders, come to that. It kept trying to climb back up and failing because everything was slippery and wet, so I did the only sensible thing: I laid strips of toilet paper down the wall and side of the tub to make a path with some traction. It caught on real fast, and is now happily back at its web in the window frame.

It only now occurs to me that I could have just taken a towel and dried off the wall and the side of the bathtub. Oh well, next time.

Brenda Clough's novella May Be Some Time is available online from Analog. It's about what might have happened to Titus Oates, who was on the ill-fated Scott expedition to the South Pole, and whose body was never found. There's a spoilerful review at Infinity Plus.

Saturday, 20 April 2002

# 11:30 PM

Blue poster-stickum works better than candle-mold putty for holding little obsidian pebbles down so I can grind designs into them. Now I just have to figure out what I'm doing wrong that causes the diamond grit to wear off the grinding bits. Not enough water, probably. Or it might be that a cheap $10 set of grinding bits is, well, a cheap $10 set of grinding bits (but you'd think they'd sell the good ones at a jeweler's supply...)

Friday, 19 April 2002

# 11 PM

Tonight and for the next few weeks, all five planets visible to the naked eye are in conjunction. Shweta, Nathaniel, and I climbed up on the roof of my apartment building and looked for them; we found Mercury, Venus, Mars, and Jupiter with no difficulty, but couldn't agree on which of several candidates was Saturn. According to the article, Saturn is lower in the sky than Jupiter, so Shweta's candidate was probably right. Makes me want to go buy some binoculars or a mini telescope just to be able to check them for discs.

If you want to look tomorrow night, start immediately after the sun goes down; Mercury sets only about an hour after the sun does. They'll all be in the western half of the sky, between the Moon and where the sun set, in a diagonal line. Venus and Jupiter are the brightest two points in the sky. Mars looks like a moderately bright star, tinged red. Saturn and Mercury are faint, and Mercury will be very close to the horizon.

Thursday, 18 April 2002

# 9:30 AM

man-eating snails, snail-eating men

I had a dream in which I was expected to eat live albino snails. Except the snails might eat me first. They were the normal snail size, but secreted a paralytic toxin. One of them began eating my left hand and I couldn't get it off.

There was also a scene in which I was trying to load stuff onto a truck with the assistance of a bunch of anthropomorphic lizards. The lizards kept trying to steal stuff while my back was turned; they had sabotaged the lock on the truck's cargo door. This was culturally expected and I had to keep complimenting them on their cleverness while stopping them.

educational experiments

This website documents experiments in making computers available to minimally educated children. They call it "minimally invasive education."

Wednesday, 17 April 2002

# 12:20 AM

die zombies die!

We get to throw away dozens of old obsolete GCC target configurations. I was expecting opposition, but people seem positively enthusiastic about suggesting dead targets.

a29k-*-* alpha*-*-osf[123]* arm-*-riscix* c*-convex-* elxsi-*-* i?86-*-aix* i?86-*-bsd* i?86-*-chorusos* i?86-*-dgux* i?86-*-freebsd1.* i?86-*-isc* i?86-*-linux*oldld* i?86-*-osf1* i?86-*-osfrose* i?86-*-rtemscoff* i?86-*-sunos* i?86-go32-rtems* i?86-next-* i?86-sequent-bsd* i?86-sequent-ptx[12]* i?86-sequent-sysv3* m68[k0]*-*-lynxos* m68[k0]*-*-rtemscoff* m68[k0]*-*-sysv3* m68[k0]*-altos-* m68[k0]*-apollo-* m68[k0]*-apple-* m68[k0]*-bull-* m68[k0]*-convergent-* m68[k0]*-isi-* m68[k0]*-next-* m68[k0]*-sony-* m88k-*-coff* m88k-*-luna* m88k-*-sysv3* m88k-dg-* m88k-dolphin-* m88k-tektronix-* ns32k-encore-* ns32k-merlin-* ns32k-pc532-* ns32k-sequent-* ns32k-tek6[12]00-* sparc-*-rtemsaout*

And more coming. Wheee!

Tuesday, 16 April 2002

# 12:30 AM

Off to mail in my tax returns and bills. I'd be happier if I could find my credit-card bill, but I'm sure it'll turn up (probably right next to the Minicon notebook).

For some peculiar reason Fidelity does not let me transfer money from my money-market account to my IRA through their website. I had to call a broker and do it that way. At one point, while waiting for the computer to do something, the broker chatted with me about the weather here in California versus there in Texas. Okay, fine, except the whole time there's this little voice in the back of my head going "This is normal social lubricant. Do not freak." Which makes me wonder if other people get that, too.

Sunday, 14 April 2002

# 10:45 PM

I have lost the notebook with all my Minicon notes in it. This is singularly frustrating; I can't work on my con report.

# 9:30 PM

notes on stonecarving

I'm doing an art project which involves cutting symbols into lots of small obsidian pebbles. You do this with diamond grinding bits, which can be had from a jeweler's supply store for about ten bucks. Diamond bits have to be kept wet, or they overheat and melt. The jeweler's supply will sell you an expensive carving drill which runs a constant stream of lubricant onto the bit, but I'm a cheapskate so I'm just using a Dremel. It works almost as well to put the stone in a basin full of water, with a couple of catches.

First, having the stone underwater means it's hard to see what you're doing. It is essential to change the water often; it will rapidly become cloudy with suspended obsidian dust. Most of the bits are shapes that don't disturb the water much; unfortunately, some of the more useful ones will send it splashing all over the place. There's usually a critical water depth at which they don't do this. Trial and error is about the only way to figure it out. It's also essential to have strong light directly on the piece being worked; I've been holding a flashlight in my other hand, since I don't have a proper work lamp.

Second, you need some way of holding the stone at the bottom of the basin. This is actually the hardest part of the project. I've been using the sticky putty that came with a candle mold. It doesn't work very well: it is not much interested in sticking to the smooth glaze at the bottom of the bowl I'm using. The stone therefore tends to come loose halfway through a cut. The putty does stick to the stones, a bit too well; it's difficult to get off again once I'm done. And, worst of all, the stuff is positively eager to stick to my fingers.

I know I have some of that blue poster-stickum around here somewhere; that might work better, if I can find it. At least it would come off my fingers without rubbing alcohol.

# 6:15 PM

My 2001 income tax return comes to twelve (single-sided) pages of forms, including the somewhat exotic Form 2210 whose purpose is to explain to the IRS that I did not, in fact, underpay estimated taxes. The state tax return adds another five; they want a complete copy of the federal return plus some extras.

I had an interesting conversation with Shweta about why it is I don't use electronic filing. The most important reason, to me anyway, is that paper filing means that I can look over the forms and know exactly what's going into the envelope to be sent to the IRS. With electronic filing I would have to trust the tax program to do it right. (I already trust the tax program to fill out all the forms correctly, but it is much more likely that that part has been properly debugged. Also, I can do spot checks of the printout to make sure it's accurate.)

Friday, 12 April 2002

# 4 PM

ten points for style

From http://www.google.com/dmca.html:

It is our policy to send copies of all notices of alleged infringement to third parties who will make them available to the public.

... and to put a link to the notice at the bottom of any censored search result. And the notice has to include the URLs that were censored. Nice end-run.

i hate computers, computers hate me

Well, Windows, at least, is not currently my friend. I sat down last night to do my taxes. However, I didn't ever get to run the program, because Windows decided it was Not Happy about various hardware upgrades being perpetrated behind its back (the last time I booted that partition was to do last year's taxes). So it refused to talk to the network until I reinstalled it. Which, as you know, takes hours; the more so since I stubbornly tried several other things first, refusing to believe that it had to be reinstalled.

I did finally get the thing working, and about halfway through the taxes, but I'm too tired to finish. And they're due Monday. Bleah.

(What does the network have to do with taxes? Mainly, that one of the upgrades was the video card, so I needed the right driver or I was going to be stuck working in 800x600 16-color VGA mode, which is No Fun. Also, it tends to be necessary to download a batch of updates to the tax program.)

# 12:20 AM

Stayed up all night reading Kushiel's Dart. It's a alternate-Renaissance fantasy which gets major points for not using any Extruded Fantasy Product tropes. The distorted mirror of Europe that she's using occasionally becomes obnoxious (choice of words to render in French .vs. English, for instance) but the story takes hold and doesn't let go. Unfortunately it's 900 pages long, which is awkward when you start reading at midnight.

Now I'm working my way through Little, Big, which is another very long book but one that I can only read in small doses. I'm not sure what I think of it yet.

I found the C library bug. Someone converted a chunk of the RPC code to thread-safety without thinking it through, and the obvious change was wrong. (Hence recompiling the aforementioned tiny file outside the library, and therefore with thread safety turned off, made the bug vanish.)

Thursday, 11 April 2002

# 1:30 PM

alive! it's alive!

-> ld < test.o
Loading test.o |
value = 134765376 = 0x8085b40
-> test
hello world
2+2 = 7
value = 0 = 0x0

(Two and two are seven? See Trurl's Machine in The Cyberiad, by Stanislaw Lem.)

The last bug, incidentally, was that the system has no concept of a machine with two network interfaces, only one of which can talk to the embedded board. This happens to be how I arranged the local network.

Wednesday, 10 April 2002

# 11:30 PM

Recompiling and LD_PRELOAD-ing one tiny chunk of the C library causes the bug to mysteriously vanish. I love this sort of thing. Hopefully a coherent C-library bug report can be extracted from it.

Now I have a new bug to fix, or two bugs:

     T  O  R  N  A  D  O 
     Development  System
     Host  Based   Shell
     Version  2.2

Cannot start the asynchronous event notification
-> Segmentation fault

One hopes that the first bug will be easy to find and that fixing it will make the second bug go away, but I'm not exactly sanguine.

Time to kick it in the head for tonight, though, I think.

# 11:10 PM

Still can't get my "target server" to attach to the board. The bug is firmly in This Can't Possibly Be Happening territory; something is going wrong deep in the guts of the C library, for apparently correct input data and operation sequences. I can't run the program under the debugger to find out what's wrong, because it uses threads, and GDB does not like threads. (When "break main" doesn't work, you know you're in trouble.)

Tuesday, 9 April 2002

# 4 PM

Question for the audience: Should one timestamp blog entries with the time that one starts writing them, or the time one finishes? (I suspect most blog-automation winds up using the finish time; I've been writing these by hand and using the start time. It's getting tedious to update the boilerplate, so that might change soon.)

# 3:40 PM

Nope, I still find Mozilla's page editor unusable.

subtextual agendas

There's been an argument on rec.arts.sf.composition about the appropriate words to describe organic farming and related issues. One side takes the position that it's inaccurate to describe crops grown without benefit of synthetic pesticides or fertilizers as "organic"—all food is organic, in the chemical sense. The other side says that words mean what their speakers want them to mean, as long as their hearers comprehend, what's the problem?

As an argument over semantics of a word it's really not that interesting. However, both sides appear to have major hidden agendas. Word choice is being used as a proxy for the real argument, which is whether organic farming is an appropriate thing to do. And in this service, the "it's inaccurate" side is using rhetorical tactics which are toxic to discussion. If someone comes to the table with the axiom that organic farming is the province of hippie nuts, well, it's not possible to have a productive debate with them over whether or not it's a good idea. This despite the same people claiming that they do see the problems with antibiotic resistance, algae blooms, etc. associated with "conventional" farming. People will come away from the discussion remembering the hippie nuts.

I find this thoroughly disappointing. These people are writers (mostly); they understand rhetoric and discourse; they are none of them kooks. Therefore, I can only conclude that they want to poison the discussion. And no good ever comes of a poisoned discussion.


Jeff Gerhardt and Doc Searls have announced their intent to form a political action (i.e. lobbying) committee with an agenda directly supporting free software and opposing antiinovative legislation like the infamous DMCA. See the draft position statement.

It's a shame that this is necessary, but since it is, bully for them. I'll wait a bit for them to finalize their agenda, and then send them some money.

# 12:10 PM

i get by with a little help from my friends

I'm lucky enough to have friends who can tell, when they call me on the phone, that I'm messed up because I haven't eaten all day, and will then drag me out to eat. I feel much better now than I did this morning. In fact, I might feel better than James Brown.

still scares me two years later

While engaging in the quintessential act of navel-contemplation known as "rereading old Usenet posts via DejaNews Google", I found a post about what it's like to come home and discover someone who's overdosed on speed sitting in your living room. Yes, it's a true story (although I seem to remember it was a bit more convoluted than that... oh well, these things always get simplified down in the telling).

Monday, 8 April 2002

# 7:30 PM

a heartening announcement

I can't say it any better than the judges did:

The Supreme Court [of the State of Colorado] recognizes that both the United States and Colorado Constitutions protect the rights of the general public to purchase books anonymously, without government interference.

... and therefore that the government may not demand purchasing records from a bookstore. Well, it's not as absolute as that.

...the law enforcement need for the book purchase record in this case was not sufficiently compelling to outweigh the harm that would likely follow from execution of the search warrant, in part because law enforcement officials sought the purchase record for reasons related to the contents of the books that the suspect may have purchased. (emphasis added)

As reported on Slashdot.

# 11:15 AM

Apropos of Avram Grumer's speculations about theories of what makes a "liberal", or a "conservative", and Gary Farber's observation that people self-identifying as either simply do not understand how the other group's arguments can be rational, let alone right: I'm told that it is instructive to get one's hands on a copy of George Lakoff's Moral Politics, which taps the Gordian knot at an angle you may not have thought even existed and sees it neatly fall into two pieces.

I say this not having read the book, so cum grano salis as Teresa says.

Joel Rosenberg, who knows far more about these things than me (being a person who actually owns and shoots guns) confirms my suspicion that it would be trivial to get a gun through airport security, if one were determined enough.

# 10:45 AM

Bizarre dreams, involving plastic bags full of human blood, trying to find a microscope in a derelict physics laboratory, and trying to sew together a gift T-shirt for someone on very short notice. Also there was something about extremely expensive Magic Markers.

As I said long ago, my dreams don't tend to make any sense.

feelings of loneliness

The Flash Girls' Banshee is playing on the music shuffler just now, and I'm reminded of the trouble I had falling asleep last night. Not because I expect the Cwn Annwn to howl for me anytime soon... see, Banshee is a love song (sort of). And I have come to despair of finding love, or even lust, again; it's been years now since there was anything but missed connections. I don't let it bother me in the daytime, but in the dark it's harder.

(The music shuffler put Mysterious Ways immediately after Banshee. I see it's decided to be unhelpful this morning.)

feelings of inadequacy

Blogs like Electrolite and Pigs and Fishes make me wonder why I'm in this game at all. They give you political commentary, humor, and interesting newsbits. I whine about my life. What's the point? Is anyone actually reading?

Sunday, 7 April 2002

# 11:30 PM

I'm rereading The Dispossessed by Ursula LeGuin. I should have done this years ago; I last read it when I was about twelve years old, and missed about two-thirds of the story, never mind the point (it's definitely a book with a point, or several).

Also recommended: Making Book, a collection of essays by Teresa Nielsen Hayden. You would perhaps not expect a set of guidelines for copy editors to be amusing, nor to illustrate so many useful principles for writing as well; yet that is exactly what the On Copyediting essay does. And The Pastafazool Cycle ought to be required reading for eighth graders learning how to do library research.

# 8:10 PM

Wonders never cease—the landlord sent someone around to vacuum the carpet in the common hallway. It is a great improvement. (Alas, they didn't do the stairs.) And the laundry room no longer has slime on the floor, although in other respects it is still rather grungy.

Slashdot has a link to a paper called Single Points of 0wnership which discusses how the distributed computing client bundled with KaZaa has created a serious security risk: if the distributed-computing servers were compromised, they could distribute trojan horses to all the KaZaa clients out there, potentially rendering millions of computers into zombies (sense 2).

This seems an opportune moment to do the airport security rant I promised last week, but it turns out that Bruce Schneier has beaten me to it by several months. All I can add is that to anyone with half a brain it's bloody obvious that the security checks are appearance without substance. Who do they think they're fooling?

Oh, also, you know which security regulation was being most carefully enforced? The photo-ID requirement, of course. Which, as Bruce points out, adds no security at all (fake IDs are trivial to obtain, and even if you can reliably detect them (which you can't) you still don't know whether or not the person you have reliably identified, is a hijacker). Its real purpose? Read his rant.

Thursday, 4 April 2002

# 11:30 PM

A collection of obfuscated programs that are also ASCII art. I particularly like the l33tsp34k generator shaped like Piro's head.

(Yes, I am websurfing to keep myself awake. Why do you ask?)

# 11 PM

The Fellowship of the Rings, as a text adventure for the original Atari 2600.

# 1:55 AM

Things you can get away with at two AM: backing up through an intersection in order to reach a parking space on the other side, which would otherwise require going around the block since the street is one-way in the wrong direction.

Wednesday, 3 April 2002

# 12:05 PM

Have now gotten through approximately 1,000 messages waiting for me at the work address (of which 900+ were mailing list traffic), and most of the Usenet backlog. Also, my suitcase has been returned to me by the airline, undamaged.

Shouldn't still be awake, but I got playing with valgrind, which is a nifty program for finding memory-access bugs.

Tuesday, 2 April 2002

# 12:15 PM

Back from Minicon. Watch this space for a conrep, in the next couple of days, after I get a chance to compare notes with Shweta. There will also be a rant about airport security and general airline incompetence, after I calm down enough to be coherent; for now let's just say that my suitcase is currently somewhere between Phoenix, Arizona and here, and contains several of my favorite books (which I schlepped to the con to get them signed), not to mention most of my clothes.

Of 49 pieces of mail waiting for me at this address, 47 were spam.

Thursday, 28 March 2002

# 12:15 AM

I keep making up magic for Shadowrun, and then discovering that the official rulebook has a spell with the same name. In this case, Ball Lightning. Except this time the official version doesn't actually do ball lightning; it's an "area-effect Lightning Bolt", which makes no freakin' sense. Well, I suppose you could have a whole bunch of lightning strikes in one area, but why would that be called ball lightning?

There's also a "Dream" spell, which is fortunately much less flexible than my "Dreamwalking" metamagic, so I can just ignore it.

# 12 AM

Just when I think things are going my way:

tgtsvr.ex (t0@taltos): Wed Mar 27 11:34:55 2002
    Connecting to target agent... succeeded.
    Attaching C++ interface... succeeded.
    Attaching elf OMF reader for PPC CPU family... succeeded.

    Error: rpccore backend client RPC: Can't encode arguments
    Error: Error performing target core file checksum.
    Warning: Core file checksums do not match.

Which boils down to "forget trying to get the board to say hello world today."

Andronico's doesn't have Passover matzah. They have several varieties of matzah that all say "not for Passover" on the box, though. WTF?

Wednesday, 27 March 2002

# 11:50 PM

I celebrated the Passover tonight, with Shweta and Nathaniel. It worked out really well, except next time I need to make the main course be less bland and doughy. (Substituting spinach for zucchini was a mistake.)

Tomorrow, I'm off to Minicon 37. When I get back, there will be a report. The computer's getting turned off now, and I won't be reading mail for the next five days (the horror! the horror!)

Tuesday, 26 March 2002

# 6 PM

Once again I put off doing dishes until they're all dirty, then can't fit them all into the drying rack at once.

# 3:30 PM

I just said "m3 t00" on the gcc mailing list.

# 3 PM

Spent the past two hours or so dealing with various bureaucratic chores, such as getting my car smog-checked, paying a bunch of bills, and so on. Disappointed to discover that the auto shop I liked (Bay Auto, in front of Bing Wong Wash Center on Telegraph) has gone out of business, but there was someone onsite who recommended me to a competent gas station and service center down on Claremont, so that was okay.

social exception handling

Another thing I did was mail a letter of notice to the landlord, informing them that they had better pull their corporate finger out and clean the damn basement on a regular basis. This causes me to reflect on just how much general social infrastructure we have, as a species, for dealing with what might plausibly be described as error conditions. The situation with my landlord is common enough that there's an entire website (run by the Rent Stabilization Board) detailing the legal ritual to follow when it happens. First you do this; if that doesn't work, you escalate to doing that; etc. etc. until in extremis one winds up in court.

Then there's the infrastructure which exists purely to support the error handling rituals. For instance, certified mail. Certified mail exists to provide nonrepudiation: the sender gets positive confirmation that the recipient got the letter, and is presumed to have read it. This can be used as evidence if they later deny having ever seen the letter. Which is just what you want when trying to negotiate with a landlord who may not be above "accidentally" losing things.

To give another example, one of the bills I paid was the quarterly car insurance renewal. The whole concept of insurance is about error recovery. If you distill the core out of an insurance policy it reads something like "You give me a relatively small amount of money on a regular basis, and I promise that I will give you a large amount of money if something unlikely and bad happens." Neither party to the agreement wants or expects the something-bad ever to happen, but we (collectively) recognize the need for a defensive measure.

# 9:45 AM

Debian now has crypto in the main archive.

Monday, 25 March 2002

# 9 PM

The web version of TurboTax refuses to work with Mozilla for Linux. I was a bit leery of the whole notion of having my personal financial info stored on some web server somewhere; on the other hand, it would have been nice not to have to go to the hassle of getting the traditional edition, dusting off the Windows partition that exists solely for doing taxes, etc. etc.

Wonder if it's worth complaining at them. Probably not.

Behold: very funny semi-blog of one man's experiences with MacOS X. Lots of instructive criticism of user interface.

# 6:30 PM

I can now speak to my test board. It apparently does not understand hardware flow control. Now I have to rewire my local network so that there's a fast comms channel to download code to it over. (It is theoretically possible to do everything over the serial line, but at 9600 bps I'd never get a test run completed.)

Shweta took my dreamwalking rules, turned around and inflicted them on the hapless PCs in our game. Who have no clue that these things are possible. I should know better than to be so bloody clever.

book reviews

John Varley's Titan: A space expedition comes across a mysterious moon-sized spaceship orbiting Saturn--or at least, they think it's a spaceship. The reader is aware from the beginning, since it says so clearly on the front cover, that the entire ship is one intelligent life-form. Ten points for concept, ten points for thinking through most of the consequences, minus five for unnecessary sex geared to shock readers in 1979. Good book but I am not going to run out and buy the second two-thirds of the trilogy.

Fritz Lieber's Conjure Wife: I'm not going to say a word about the plot, because I want you to read it yourself and have the realization slowly dawn on you, too. Find this book and read it now. (Long out of print, but republished by Tor/Orb in 1999, so it should be findable.)

Saturday, 23 March 2002

# 11:30 PM

Got the aforementioned source code to build. Now I must find out why typing at the serial console of the test board I'm supposed to test with, causes precisely nothing to happen. (I get its boot prompt, so there's something alive at the other end of the null-modem cable.)

More magic: the Sons of Nikola Tesla, shamanic soul retrieval, and some metamagical techniques especially for physical adepts. Also, lots o' tweaking for game balance. Oh, and performatives. Mustn't forget performatives.

Friday, 22 March 2002

# 10 PM

I spent much of the afternoon trying to build the source code for my current project for work. This is a gigabyte or so of proprietary software, which has never before been built outside of the client's internal development environment, and hoo boy does it show. There are hardwired paths all over the place, often hardwired to some engineer's home directory, which of course I don't have a copy of. And it probably wouldn't do me any good if I did, because it would be executables that only work on a SPARC running Solaris whereas I need it on a PC running Linux. In some places, the code itself has embedded assumptions that are only true of Solaris, or only of the ancient buggy compiler they've used to compile the "host-side tools" to date. (This thing, the "native compiler," is even older than the old compiler I've been complaining about all along. It's 2.7 era GCC, which means its C++ implementation dates to when nobody was even talking about standardizing the language.)

So it was not a terribly enjoyable afternoon.

On the up side, I got to rip out more floating point gunk, including the infamous do_float_handler (well, okay, not that infamous).

Thursday, 21 March 2002

# 12:15 PM

pocket veto

The flame war has died out. Its last gasp was kind of amusing:

ZW:So I think that we should do X, as a defensive measure against this problem coming up again.
RK:What's the point? No one should ever get into the situation that caused the problem in the first place. In fact, we should prevent it by doing Y.

To which I carefully did not respond, despite the fact that I think he's completely wrong to assert that no one should ever get into the situation, and that Y is a horrible idea. Because, see, the only way Y will ever happen is if I write the patch; no one else wants to go anywhere near that part of the code. So all I have to do is drop the subject, and Y will never happen. The actual bug has gotten fixed, and I can live without defensive measure X.

(Well, at least, a patch for the actual bug has been proposed. If it doesn't get checked in in a few days I will "accidentally" apply it myself.)

what on earth is that thing

At the corner of Ellsworth and Parker streets there is a large white object, sitting on the sidewalk. It could once have been a chunk of foam padding, folded up, except that foam doesn't get partially dissolved in the rain. Its surface looks like what happens to a roll of toilet paper that falls under the shower when it's running.

Maybe it used to be some sort of biodegradable foam that was made out of starch...

Wednesday, 20 March 2002

# 5 PM

So I hear loud hammering from downstairs, and go to look. There are two people boarding up various windows and openings into the basement.

Me:Hi, I live upstairs, I heard the hammering; what are you doing?
Guy:We'll be done in twenty minutes.
Me:I asked what you were working on, not when you would be done.
Guy:The black men.
Guy:There were black men living in the basement.
Me:Oh, you're talking about the homeless people. I saw them.
Guy:Yeah, them. They broke down the window. We have to board these up.
Me:Okay. Have fun.

I'm glad there won't be homeless people living in the basement anymore; it was filthy down there, and that was partially their fault. It was more the fault of the landlord being too cheap to have someone clean the basement regularly, but I digress. But c'mon, "black men"? Why is that the defining characteristic of the people who were living in the basement? Wouldn't you be boarding up the basement just the same if they had some other skin color?

I failed to avoid getting into a flame war on the gcc list. Argh.

Sunday, 17 March 2002

# 11 AM

Once again I'm backdating diary entries.

For the first time in weeks I can sleep in in the morning. I'm not sure whether it's because the new bed is much more comfortable so I can stay asleep longer, or there's no immediate stressor to deal with, or having bicycled six miles and sailed for two hours yesterday, or what.

Had a dream last night in which I had to infiltrate an Aztechnology office complex by pretending to sign up for a job interview, then sneak into a restricted area and rescue someone. The guy driving the getaway car had his baby son in the backseat. I think it was his wife I was trying to rescue. There was a talking dog at one point.

To paraphrase the sleazy procurer character from Face/Off: "No more Shadowrun for that man."

Right now I'm drinking hot cocoa and listening to the rain.

Saturday, 16 March 2002

# 11:50 PM

Shweta, Nathaniel, and I went to see the Michael Brecker Quartet perform at Yoshi's on Jack London Square. I'm not a jazz fanatic, but it was really good music. Oddly I remember the piano and drum players' stylings better than Brecker himself on the saxophone.

# 4 PM

Went to the Cal Sailing Club's Saturday morning lessons. While waiting around for my turn in a boat, I helped the people in their boatyard repair damaged centerboard slots, mostly by moving boats around so they could be worked on conveniently. I was told I was going to get to put on a full dust-protection suit, crawl inside the hull, and grind down the damaged fiberglass, but the sailing instructor called me first.

The sailing itself was kind of an exercise in realizing how much I'd forgotten in the year since I was last in a boat. I used to be able to come about smoothly.

Now I'm thoroughly worn out—which probably has more to do with having bicycled down to the marina and back, about six miles round trip, than the sailing itself. It was totally worth it, though. I'm definitely going back next week.

Friday, 15 March 2002

# 10:30 PM

I have a new bed, and the futon has been moved out to the living room, where it makes a respectable couch. The living room got rearranged quite a bit, and is now (I think) quite a bit friendlier. A coffee- table-like object might be nice, but it's good as is.

Random statistic: the month is half over, and there's 2,411 messages in the "gcc development lists" mailbox.

# 12:20 PM

I managed to spill enough tea on my keyboard this afternoon that it got into the contacts and made the shift key be permanently stuck on. Have you ever tried to do anything on a Unix machine, with its case-sensitive everything, with shift stuck on? You can't even type "shutdown", because it comes out "SHUTDOWN", which is Not The Same Thing as far as the shell is concerned.

When I took the keyboard apart to dry it out I discovered two years' worth of crumbs, hair, and other gunk, so it became a huge project where I dismantled it down as far as it would go and cleaned all the pieces thoroughly. Putting it back together was a bit of an adventure... I got the top row of the number pad in the wrong order, and the interface board upside down, the first time.

It all works now, except that for some reason the right-hand shift key has turned into a control key. As I don't ever use the right-hand shift key, I don't particularly care.

I've got nine messages in my inbox which are all replies to something I wrote this morning. They are, collectively, informing me that three months ago when certain people said some things that I took for agreement that things would be done properly in the future, those people thought they were just making casual statements that things had been done properly to date, implying no agreement to keep doing them properly.

I want to flame the crap out of these people, but that will only make the thread drag on and reduce the chance of beating a real agreement out of them. So I'm not going to respond until there's a chance I can come across as not being righteously pissed off, despite in fact being righteously pissed off.

Thursday, 14 March 2002

# 11:45 AM

I have gotten my inbox down to twenty-three messages that I may need to respond to. Of course, some of those date to last September.

You can tell it's a rough week when that's the achievement of the day.

Wednesday, 13 March 2002

# 11 PM

further furniture-shopping follies

I have a chest-of-drawers now. One that all my clothes fit in. It wasn't cheap, but it's not going to fall apart ever, so I don't feel too bad about spending real money on it.

Still need a new bed, which is proving an utter pain to figure out. It boils down to there's no good way to tell the difference between the $200 mattress, the $400 mattress, and the $900 mattress, without sleeping on each for a month. The sales people understandably will not let you do this, so how on earth to choose?

linux 2.4 still doesn't work

It's getting close now, at least it doesn't eat your filesystem or crash regularly. However, it does lock up on boot on my machine due to a silly mistake in the hardware-fault-reporting code, which makes one wonder if anyone even tried it before they shipped it. And the driver for my sound card fails to recognize that there is a sound card there.

FreeBSD looks better every day.

excuse me, you seem to be stuck in 1300 AD

From MEMRI, Special Dispatch No. 354: Saudi Government Daily: Jews Use Teenagers' Blood for 'Purim' Pastries.

Put that next to the Saudi peace proposal and smoke it.

Monday, 11 March 2002

# 11:30 PM


Pyrex drinking glasses are nice in a lot of ways. They take heat well; they stand up to abuse well. However, eventually they decide that the next time someone looks at them funny they're going to fragment violently.

I just had both my Pyrex glasses shatter, mostly on the kitchen counter, but quite a few shards were flung outward to land on the kitchen floor and even into the hallway. It's a horrible, razor-edged mess. I'm not even trying to clean it up now. I swept all the shards on the floor into a pile under the sink, which will prevent me from gashing my feet tomorrow morning while I'm blearily trying to make breakfast. The rest of it can wait. I'm going to bed.

To make matters worse, while I was trying to deal with this disaster, the sink faucet started dribbling continuously, and I had a brief moment of panic... one of these days the hot water tap will become impossible to turn off, again, and it would have been just so perfect for it to happen now. It turned out that I just hadn't shut off the cold tap properly, thank ghod.

# 10:30 PM

No furniture shopping for me. Had to wait hours for the damn CDs; by the time I got to leave Wind River, they were all closed. And I didn't even get all the data I needed. The remainder is downloading now; it'll take a couple hours, but it'll work.

Loaded up goodwill.com in Mozilla to see what it looks like with a browser that understands kanji. I still couldn't read it, of course, but somehow it seems really cool that the computer has no trouble splatting a bunch of Japanese text onto the screen, as text, not pictures—I can select it and paste it into Emacs, and Emacs understands it too.

# 7:30 PM

Oi, anyone know how to do crossed out text so that Netscape 4 renders it properly, but without using deprecated HTML tags? It doesn't know what <del> means, and <strike> is deprecated.

I wonder if <span style="text-decoration: line-through"> will work... hey, it does, cool; pity it's about ten times the typing.

# 7 PM

Good furniture has not yet been bought, although I mean to stop at IKEA on the way back from work just in case they have something which is exactly what I want. However, crap furniture has been gotten rid of. The people at Bed Bath and Beyond were very polite and helpful. "No, we don't mind that you had to put the cabinets together before you discovered they were too small."

I also dropped off a bunch of old clothes at Goodwill, and a bunch of old computer hardware at the Alameda County Computer Resource Center. It's amazing how much lighter I feel not having these things anymore.

Right now I'm sitting in my office at Wind River, waiting for some CDs to be burned, so that I can take them home and start on the next big project.

(While link hunting for this entry I discovered that goodwill.com is some Japanese concern with pictures of people in hard hats on its front page. No idea what they actually do, the site is entirely in Japanese. Well, little square boxes. I am just assuming it's Japanese because some of the links are images of kanji.)

# 2 PM


Six hours of sleep just doesn't cut it. Even with caffeine. I've got to chase all over town taking back crap furniture and getting better furniture, but ugh.

I'd like to know how Perl has managed to get by for so damn long without real file handle variables. Yah, there's IO::Handle, but if you look, it's just creating references to uninterned symbols and feeding them to open. I understand this will be fixed in Perl 6; maybe in another decade or so I'll be able to write for that language and ignore backward compatibility. But I'm not optimistic here.

# 12:30 PM

my sister the interior decorator

Dara came up and spent the weekend here, mostly helping me clean up the apartment in ways that I should have done when I moved in. For instance, on Friday the living room closet was crammed full of cardboard boxes containing things I'd neglected to unpack after moving in. Now all the things are unpacked and either put away or queued to be put away. (I have to sort through some of them still.) The closet is being used to store organized and accessible stuff. The junk is on its way to junk stores and/or recycling centers.

She also gave me a bunch of advice about how to reorganize the apartment to make it more livable. We didn't have time to implement most of it; for instance, I did not buy a new bed and turn the futon into a sofa. I've got interesting pieces of fabric to hang on the bare walls in the bedroom, ideas for rearranging the living room and kitchen, and a few more things besides.

I did not actually clean the apartment. That's for after everything gets put away properly. Hopefully I can get all the work done in time to throw a party next weekend, as has been contemplated.

culture clash

We didn't spend the entire weekend rearranging my apartment; we went to see Culture Clash at the Berkeley Repertory Theatre. This was their new show, Culture Clash in Americca, which is a rapid-fire tour of the country taking a look at various marginalized and not-so-marginalized groups of people, by cariacture. It's really amazingly good. I don't think I can do a coherent explanation, and unfortunately this was the last weekend of the show, so I can't exactly tell you all to go see it yourselves. Oh well.

shoddy furniture

One of the things my sister insisted I do was replace the metal IKEA "closet organizer" rack (which seems to have been discontinued, feh) that I'd been using as a clothes bureau, with a Real Clothes Bureau. I kinda liked the closet organizer. It wasn't ever going to fall apart on me, and I could get most of my clothes in it no problem. Dara decided it was too ugly to be seen out in public (not that anyone but me ever goes into the bedroom, but it's the principle of the thing). So we went to find a bureau. One case of sticker shock later, we wound up buying a pair of "Stackable Organizer Cabinet" kits from Bed Bath and Beyond. This was a mistake.

First off, they turn out to be a lot smaller than the display model made us think. In toto there are four drawers, each of which can barely hold the same amount of material as a standard paper grocery bag. This is roughly the same as the IKEA rack, but that had six drawers. So, I now have a more aesthetically pleasing bureau, but a permanent pile of clothes next to it.

Second, well, it's cheap particle board, and having put it together I have no confidence that it won't fall apart in short order. The drawer bottoms are fiberboard, nailed in place, from the bottom so you can be utterly certain that they'll tear out under load. The frame is screwed together, but only weakly; they seem to have tried to make the poor customer's life easier by drilling the screw holes so large that the threads just barely bite into the boards. And of course the nails split the particle board every single time.

The $250 Cost Plus bureau that gave us sticker shock is starting to look like a good deal at this point.

hey zack, how do you get thousands of foam peanuts into a beanbag chair?

With great difficulty. Not quite as much difficulty as the last time I did this, but only because I sort of know the drill this time.

If you look closely at a block of styrofoam, you can see it's made of thousands if not millions of foam pellets all stuck together. Imagine them not stuck together; that's what's inside a beanbag chair. After about a year of continuous use, they get squashed, and the chair becomes limp. Then you go to the friendly local foam-padding store and ask for a refill, which is just a big sackful of pellets. These pellets are bigger, about a centimeter in diameter instead of 2mm like the originals. I think this is so people don't go totally insane trying to clean them off the floor when, not if, they spill.

Okay, you have your beanbag with its double zipper open, and you have your sack of fresh pellets. Your mission is to get all the pellets into the beanbag. There are several hurdles. First, the pellets have effectively zero mass and accumulate static like electrons were about to be discontinued. This means they stick to everything, except, of course, the inside of the beanbag. Second, the opening in the refill sack is much larger than the opening in the beanbag. Therefore, you cannot simply stuff the sack's mouth into the beanbag and pour. (It only now occurs to me that I could have cut a smaller hole in the bottom of the sack.) Third, the pellets do not flow; they pile up wherever they land. It is therefore necessary to shake the bag while pouring, to prevent them from backing up into the opening.

My technique is to roll an old poster into a cone and use it as a crude funnel. This works relatively well. I have to stop every so often to shake the bag, but at least they don't spill all over the floor. I still don't have a good way of forcing the last few dozen pellets, firmly stuck to the sides of the sack by static, out.

this bears repeating

Patrick Neilsen Hayden, posting commentary on Cory Doctorow's weblog:

I've found it very useful, when sorting out what I think of some administration policy in the military or diplomatic realm, to ask myself:

  1. If I can easily imagine this being done by President Gore,
  2. How I would feel about it if it had been, and
  3. What I would do if I woke up tomorrow and found I had been transformed into a gigantic insect President of the United States.

(And no fair answering (3) with "Well, I wouldn't have got us into this position in the first place!" Current political leaders don't get to blow off tough decisions with that, so neither should I.)

Friday, 8 March 2002

# 10 AM

I started the previous entry at 4 PM yesterday, and finished it now. There was a long hiatus when Shweta came over and distracted me with amusing quiz answers from the class she's TAing, then helped me do laundry. By the time she left it was time for bed. Total writing time was maybe an hour.

Today, off to Wind River again, hopefully to pick up some snapshot CDs so I can start on the next, more interesting project: bringing them up to GCC 3.x (probably x=1).

Thursday, 7 March 2002

# 4 PM

Warning: You are about to be subjected to a rant.

but first, some context

UC Berkeley has a program called "De-CAL" which allows students to create and teach their own courses, which count for units toward graduation. Some of these courses have been running for years. Two of the more popular courses are "Male Sexuality" and "Female Sexuality" (no surprises here) which by a sober account seem to be thoughtful and constructive.

About two weeks ago, the Daily Cal ran an exposé of the male sexuality course, in which it was alleged that some of the students, including some of the student-preceptors, arranged in class to hold orgies at a student's house after hours. It is not clear whether this actually happened. All the articles on the Daily Cal's website (exhibits A, B, C, D) are foaming at the mouth too much for me to consider them trustworthy sources. However, the UC administration has flipped out and is considering abolishing the entire DeCAL program, or at least subjecting courses to closer faculty scrutiny.

I'm sure you are all shocked, shocked to hear that college students are having sex, with each other even. What's the world coming to? To be fair, there might have been some power-differential abuses going on, and closer faculty involvement is probably not a bad idea. Still, it's pretty clear that the administration is over-reacting. But this is not what I'm going to rant about.

the rant

So today I'm walking through Sproul Plaza and there are a bunch of activists with megaphones calling for the abolition of the UC administration, the abolition of the nuclear family, and a complete socialist revolution. Because, you see, the wig-out that the administration has pulled is just a symptom of the fundamental brokenness of our culture, and we have to throw it away and start over.

Now this is complete nonsense. Understand that I am the last person to argue that there is nothing wrong with the society we've got. However, that does not mean we have to throw it away and start over. Let me draw a dubious analogy to the world of software engineering. It is common to discover that some chunk of code does not work. However, one then considers carefully before rewriting it from scratch. The only good reason to do so is if the design is fundamentally flawed, such that no change to the implementation will correct the problem. Even then, there may be no known algorithm which works better.

It's not possible to make a definitive statement that a culture is or is not flawed by design, but there are several things that might be diagnostic. One way I'd believe it would be if there were no mechanism to correct implementation problems. But look aroundyou; you will see plenty of them. The day before yesterday we had an election. Looking through the returns, I see that all of the propositions which were good ideas passed (the margin on the modern-voting-equipment bond measure is a bit disappointing, but it got through), and the proposition which was a bad idea was rejected. The proposition that was a dubious idea (stricter penalties for chiropractic insurance fraud) also passed, and some people who shouldn't have been re-elected (such as the mayor of Oakland) were re-elected. So there; three problems were fixed, one problem may have been introduced, a couple of existing problems failed to go away. On average we're doing fine.

Of course, there are plenty of problems that cannot be addressed with elections. In fact, the current cultural attitude toward sex is one of them. But the people on Sproul advocating the destruction of the nuclear family are part of the problem, there. Their attitude is that certain modes of sexual expression (i.e. heterosexual monogamy, with consequent children) are ungood, because they lead to negative effects on the society at large. Now suppose that I replace the above (i.e. ...) phrase with "homosexual promiscuity"; different target, exact same rhetorical position, exact same toxic effect on civil society.

You see, the problem with the current cultural attitude toward sex is not, at its root, that it stigmatizes certain modes of sexual expression. That's a symptom. The real problem is that sex is assigned a cultural importance which is way out of proportion to its true significance. We should be trying to make sex ordinary. It has consequences and side effects which require people to be cautious about when, how, and with whom, but the same is true of driving cars. People have different tastes, but the same is true of food, art, etc. Overall, it's just another thing that most of us do in the course of their lives.

Once that's done, then we can talk about whether family structures are oppressive, and if so which ones, and what ought to be done about it. Right now it's intractable to separate the society's sexual obsession from the question, so any argument is unconvincing.

a closing observation

Right next to the activists with megaphones was a man at a card table giving away free Fair Trade coffee, if you took a flyer too. I'd like to hold this man and his organization up as an example of positive activism. The Fair Trade people have identified a genuine problem; determined that it can be solved within the capitalist framework; and mounted a solid campaign to implement their solution. They're dealing civilly with people who propose alternate solutions. The man at the card table thought of a clever, effective way to advertise it. The crowd on Sproul were hurrying past the people with megaphones and stopping to talk to him.

# 9 AM


This was an interesting one on a couple of counts. I was reading a book, and "watching" the events of the book as one imagines doing while reading. The protagonist was some sort of a travelling bard, or in training to be a travelling bard, and one evening he found himself in a poetry circle with some Fair Folk. He recited a poem for them about the three kinds of love, which are iron, gold, and silver in that order, and they liked it so much they offered to take him under hill and teach him magic. He accepted.

There was then this funky scene transition involving riding a horse into darkness and toward a line-art face which grew to fill my visual field, bam, I'm walking toward the box office of a theater. Ahead of me in line is a woman who I went to high school with, name of Corey. She recognized me as the bard from the previous scene. I said no, I was just his simulacrum which he sent to take his place while he was under hill. She said she was a simulacrum too, for the same reason. Then we had a discussion about which tickets to buy; they ranged from about $10 to about $150, and somehow this had something to do with the aforementioned kinds of love. I discovered I only had three dollars in my wallet. Then I woke up.

I haven't seen Corey in going on seven years now. Wonder where she is.


By way of Forwarding Address: OS X, by way of Electrolite, comes a reference to Blosxom, which is, finally, my kind of a weblog automation script. You throw HTML fragments in a directory, one per entry, and it glues them all together in reverse order of creation date. You also get to write the header and footer. No muss, fuss, magic, or typing into p web forms.

The downside is that it's customizable only by hacking up the Perl script, which is nice and short but severely non-idiomatic (well, by my idea of idiomatic Perl, anyway; TMTOWTDI). I spent a couple of hours on it yesterday and it generates the right kind of HTML now, but in the process I broke the date-selection code.


Today is Piet Mondrian's birthday, according to Google.

Gav's girlfriend's name is Hanna. I should have thought to look at his website earlier.

# 12 AM

Today I am twenty-four.

It was promising to be a nice solid rainy day when I woke up, but now it's just overcast. Grr. We haven't had a good continuous several-days downpour all season.

Fixed some bugs for Wind River. Now to run off to NTL meeting.

Tuesday, 5 March 2002

# 3 PM

thank you county of alameda

I went to vote and discovered that my name was not on the list of registered voters. In fact, they still had the two people who used to live at my address on the list. The pollworkers were very nice about it, and there is fortunately an official procedure for this problem. I went ahead and voted, then they put my punchcard in a special envelope, I wrote my name and address on the outside and signed it, and the whole thing went in the box. This does ruin the anonymity of the ballot, but it's not exactly a high stakes election so I'm not bothered. Still, it does not inspire confidence in the system when a registration supposedly processed last June hasn't made it to the database yet. And I did get a confirmation slip back.

Yes, California does still use those same punchcard machines that caused so much trouble in Florida, at least in some counties. I've never had trouble with dimpled chads, but I imagine California takes better care of the things. One of the ballot initiatives was a bond measure to fund voting machine upgrades; hopefully it will pass, and they'll have the sense not to use all-electronic systems.

# 9:20 AM

to whichever supernatural entity is in charge of these things

Premonitory dreams are ever so much more helpful if I can remember them in the morning. It is also useful for them to make some sort of sense.

All I can say is, it had better not have been important.

this project deserves your support

Martus is a project to construct a reliable, secure bulletin board system for use by human rights activists. They need your help. Go write them some code. See also the Cult of the Dead Cow's Hacktivism Panel discussion of how computer hackers can support activism. (Mostly has to do with human rights enforcement, but some of the techniques apply to any agenda.)

Monday, 4 March 2002

# 9:30 PM

My kettle has sprung a leak. Considering how much tea I drink, this does not make me happy. It probably happened when I accidentally left the whistle off and boiled out all the water, then dumped it in a tub of cold water when I discovered what I'd done (to make it safe to touch again).

My kitchen faucet is also leaking again. It's been threatening to do this for weeks—the trail of rust down the wall from the hot water fitting is an excellent clue that something's wrong, as are bits of valve washer and chunks of rusted metal clogging the aerator. I was hoping to be able to leave it until the leak from the fitting was severe enough that the handyman would be forced to replace the hot water pipe, which he ought to have done the last time. Now, however, it's starting to drip from the spigot in earnest; I may have to get it patched again. (It'll never stay fixed until the hot water pipe is replaced, because what keeps happening is chunks of rust from the dying pipe get in the valve and tear up the washer.)

PNH has changed his weblog to use some clever automation known as Moveable Type. I'm somewhat tempted to try it myself, except that it looks even more complicated than NewsBruiser, which was already too complicated for my taste. But it does comments; I wonder if the people reading this and not sending me any mail about it would post comments. Probably not.

# 6 PM

I just got back from seeing Peter Neumann give a talk about computer security and critical infrastructure. Overall it was a good talk, leaving me with plenty of things to think about, but I have a couple of issues. His basic thesis is that existing computer systems are insecure at all levels, from hardware on up, despite the existence of well-understood methods for secure system design in the research community. This is true. However, at least in the talk, he didn't offer much of an alternative. When pressed (during Q&A) to suggest ways to improve the situation, he would say only that design from the beginning is necessary. Again, this is true. And I can see why he didn't want to get pinned down to offering specific proposals, which might be taken for panacaeas. Still, I would have liked to hear some specific instances where existing software or hardware is intrinsically flawed, and not in the ways that everyone already knows (i.e. buffer overflows).

In particular, the existence of EROS strongly implies that at the hardware level, the only problems are with reliability, not security. Perhaps there are security flaws in EROS which I cannot see, but I doubt it. There are certainly ways to layer insecure code on top of EROS, but that says nothing about EROS itself (unless it turns out that its interfaces make insecure coding easier than secure, but it's too early to say that).

I'm also disappointed that he blew off someone's question about the failure of Multics. Yeah, fear of non-IBM solutions probably had something to do with it. However, I think it's unlikely that Ken Thompson and Dennis Ritchie's criticisms were completely unfounded. In that context, I'm wondering what he thinks of Peter Gabriel's Worse is Better (or is it?) papers. Gabriel himself is not sure.

# 11 AM

In the peculiar dreams department, I found myself wandering around Yerba Buena Island (that's the one in the middle of the Bay Bridge). Everything was polygonal and textured, like in a first-person-shooter game. Also, somehow it was possible to enter the hill that the bridge has to tunnel through, and get right up to the outer framework of the tunnel. Which was not a concrete arch, but a wooden rack carrying dozens and dozens of mailing tubes full of art. Behind the rack there was a nuclear reactor.

Walking home, I encountered Gav and his girlfriend. Except he'd re-dyed his hair yellow and gotten a buzz cut (it's normally blue and shoulder length) and was behaving like "that most terrifying symbol of Order, an attorney", not his usual cheerful artist/engineer self. His girlfriend (whose name I really should remember, but don't) was understandably upset.

# 12:45 AM

There is the most amazing range of junk being sold at the Livermore swap meet. A lot of it is what Todd (one of my co-workers) refers to as "dot-com detritus," i.e. surplus hardware from failed companies. But there's also stall upon stall selling functional vacuum tubes, oscilloscopes, IBM mainframe diagnostic equipment, radio antennas, radio transceivers, stereo equipment, ...

I picked up a car radio for $20; normally goes for about $100. (I'm fairly sure the one in my car right now has lost an amp stage. If it turns out it's the speakers that are busted, I'll feel silly.)

Sunday, 3 March 2002

# 10:30 PM

i need a bigger dishrack

Observation: I don't wash dishes until the sink fills up.
Observation: When it does, I wash all the dirty dishes at once.
Observation: More stuff fits in the sink than the drying rack.

The inescapable consequence: dishes wind up precariously stacked on top of each other, or in odd places. Right now, there are four pots upside down on top of the stove, and a cutting board balanced across the horizontal pipes between the faucet and the wall.

Clearly, I need a bigger dishrack. Or maybe I just need to do the damn dishes more often.

(Can anyone think of a single word which means "all the movable stuff that gets dirty in the course of preparing and eating food"? "Dishes" isn't right, but it seems less specialized than "dinnerware" or "pots and pans" or any of the other alternatives that come to mind.)

# 8:30 PM

I am now a member of the Cal Sailing Club, and I got to sail around for about two hours in the San Francisco Bay. This makes me happy. I also bought groceries. This indirectly makes me happy, as now I will have something to eat tomorrow morning.

On the downside, I forgot to buy hot chocolate powder, and I'm so utterly exhausted that I've been unable to do anything but stare at a silly mindless game since. Just now got it together enough to make some tea, which— once the kettle boils—should put me in decent enough shape to wash the dishes and then go to bed. Very early. Like 10 PM.

# 6:45 AM

Up too early, and the only thing for breakfast is leftover chow mein; I've put off grocery shopping far too long.

Now to run off to the Livermore swap meet with people from work.

Saturday, 2 March 2002

# 7:30 PM


It only just now dawned on me that the archive links purported to be from 2001. Lemme just search-and-replace that out of existence...

dear applicant

I was turned down for admission to the graduate CS program here at Berkeley. Not sure what I'm going to do next, except that for sure I'm not going back to Stanford.


Today I went to 4th Street, which is Berkeley's yuppie shopping district, and bought a bunch of kitchen equipment at Sur la Table. Most importantly, I got a lid for my frying pan—I've been using the wok lid for the past year or so, but this will work better. Also, I picked up some potholders and some small knives, which should make Shweta happy.

Came home and cleaned off the evil pile of papers, more or less. There's still an intractable core of things-to-be-dealt-with, like the credit card bill, but they are at least all out where I can see them. I'm going to spend the evening sorting through the piles of books which have overflowed the shelves, and see how much more shelving I need. Also, clean the kitchen.

Big thank-you to Sumana for keeping me company.

69 files changed, 61 insertions, 2027 deletions

That's the summary of the patch I just posted to eliminate the "no floating point emulator" mode from GCC; this was a vile illusion, which never worked properly, and (as you can see) took up a fair amount of space while doing it.

(In case anyone reading this is worried: GCC will still use hardware floating point in the code it generates. It just won't ever use it internally.)

Friday, 1 March 2002

# 10:30 AM

There was a windstorm last night. I haven't gone out yet, but I expect there will have been branches knocked down and the like.

Because the <U> tag has been deprecated for no apparent reason, I've decided to replace it with an <I> tag with meaning modified by CSS. If it worked, this sentence should be underlined if your browser supports CSS, and italicized otherwise.

Thursday, 28 February 2002

# 5:30 PM

I'm exhausted. I keep waking at 7 AM no matter how late I went to bed the night before, and I've not been to bed before 1 AM since, ugh, last week. Bad sun, stop coming up so early.

(I like the long afternoons we're getting now, but not the early mornings.)

Today was the checkpoint presentation for my CS260 project. You can read the outline and slides if you're interested. (Please offer suggestions on the open questions.)

-traditional is dead, and no one spoke so much as a word against its passing. I dance on its grave.

Tuesday, 26 February 2002

# 5:30 PM

I have a new video card, which can drive this monitor at 1600x1200x24. Now I can have two full columns of text side by side, and 78 rows deep. The only downside is that Powermanga is now unplayably slow. Oh well, time to find a new game. Maybe I'll go back to Nethack.

Sent in a patch to kill off support for pre-standard C in GCC. Let's see how many people scream.

Off to grab some munchies, then to San Francisco to see Jeana dance.

# 1:30 PM

Seth was kind enough to try his hand at designing a algorithm I need for my flip viewer. I shall describe the problem briefly. Suppose that each column of this table represents a version of a text file.

a a * * * % % @
b * c c a * * #
c c d d c a 0 *
d d   e d c d 0
        e d e d
          e   e

The challenge is to slide the columns up and down and insert gaps so that each (notional) individual line has its own row. It comes out looking something like this:

          % % @
a a           #
b * * * * * * *
        a a 0 0
c c c c c c    
d d d d d d d d
      e e e e e

Unfortunately, Seth's algorithm has cubic time complexity, which makes it useless for anything much bigger than the above example, and I don't see an easy way to get it down. Another nail in the coffin of the hoped-for working prototype by Thursday. It is definitely time to use the Wizard of Oz technique.

In the department of things that are obvious once you've thought of them, I realized today that the way to get a coating of wax off a spoon is to pour boiling water over it.

# 12 PM

Had fun at Amira's - great dancing, so-so food, but I wasn't really paying attention to the food. Jeana stole the show.

Come home and discover that the build I kicked off just before leaving had died 11 minutes in due to an unrelated buggy patch that someone else committed. Grrr.

Sunday, 24 February 2002

# 11 PM

Spent all day attempting to hack together the "flip viewer" that I've had a picture of inside my head for about a month, using Python's GTK wrapper. (This is the same thing that generated 27MB of HTML when I tried to do it that way.)

I have to say, they sure make it difficult to do simple stuff. Maybe it's just that the PyGTK documentation is crap, but you would think it would be straightforward to, oh, make a text widget scale itself according to what the text inside needs... nope. No way. Appears to be totally impossible.

Oddly enough, I remember having exactly the same complaint about CSS not so long ago.

I'm gonna wash dishes and go to bed; and in the morning I'm gonna resort to drawing pictures of this thing with a sketch program, because there's no way I'm going to get a working prototype in time for the presentations on Thursday.

Saturday, 23 February 2002

# 10:30 AM

Borrowed a huge (21") monitor from work to replace the 17" one I've been using. This thing can theoretically handle 1800x1440 resolution at 76Hz refresh. My video card is not even remotely up to that; I get a choice between 1600x1200 with 8-bit color or 1280x1024 with 15-bit. Right now I'm trying the former, but thinking the latter might be better; color depth helps lots of stuff, and the fonts are kinda small right now. On the other hand, I can't get two side-by-side xterms in 1280x1024. Maybe it's time to get a beefier video card.

It's quite frustrating that XFree86 can't handle changing the color depth on the fly, the way it can the screen resolution.

Friday, 22 February 2002

# 12:45 PM

Upon further experimentation, Mozilla not only crashed, but took the X server with it, leaving me with a fried display; no choice but to reboot the machine blind. And then when it came back up it decided it was time to run filesystem consistency checks, which are sloooow.

I think it's time for me to go to bed.

# 12:30 PM

not entirely unexpected, but frustrating

I attempted to feed a 27MB (generated) HTML file to Mozilla, and it spun for ages chewing up 100% CPU and wanting more and more RAM. Finally shot it when it got to 300MB of allocated memory. And, keep in mind, that 27MB was without any of the actual content; it was purely the table structure I'm going to need. (The content, as ASCII, is another 32MB.) Same thing happens if I cut out the heavier bits of the table, getting it down to 8MB.

The notion of doing this project entirely as a web-application suddenly became a lot less plausible. Feh.

# 9:45 AM

By dint of removing most of the structure, I managed to get my 27MB generated HTML file down to 651K, which was small enough to load it into Mozilla and verify that the concept I'm working with is sound. However, it was still painfully slow, and it'll only get slower if I try to load more data into it (like, any actual text). Time to read up on GTK and friends, sigh.

Drivin N Cryin's version of Leaving on a Jet Plane is profoundly surreal. Just what I need right now, sleep-deprived and hopped up on caffeine and low blood sugar.

The sun comes up at 6 AM these days and wakes me up whether I want to or not. I've already got blackout curtains on the window but that's not good enough. I may have to tape black construction paper to the glass.

Thursday, 21 February 2002

# 3:45 PM

I investigated the electrical situation a bit more. Downstairs, we have the power feed from PG&E which comes in and gets split into two channels. Each channel goes through a fifty amp breaker, then fans out to six separate circuits, each with its own meter and thirty amp fuse. One fuse per apartment, plus four for the building's common areas, or something like that. What I'm sure of is, there's six thirty-amp circuits hung off of each fifty-amp channel. Do the math: thirty times six is 240 amps, way more than the channel capacity.

I suspect the wiring is not actually rated for thirty amps of load; originally it would have been fifteen- or twenty-amp fuses downstairs. Over time, as the smaller fuses blew out, people stuck in thirty-amp fuses so they wouldn't have to replace their fuses ever again. But even at fifteen amps per circuit, that's still more like ninety amps per channel at max load.

I considered replacing all the fuses with fifteen-amp circuit breakers (you can get breakers designed to fit plug-fuse sockets) to find out which circuit was causing the overload, but the breakers cost about $10 a pop. I'm not spending $120 of my own money on something that's really the landlord's problem.

Coming at it from the other end, if I were to run all the lights, the fridge, the stereo, the computer, and the printer at once, which is not unheard of, that would be about a twenty amp load. Then there are other appliances which I don't use as often: the electric heater, for instance, can draw twelve and a half amps all by itself. (The building is supposed to be heated with miniature gas wall furnaces, but there isn't one in the bedroom.) If anything, I have fewer electrical appliances than the average: I think I'm the only tenant who isn't sharing his apartment with someone.

Conclusion: there probably isn't a short anywhere, it's just a case of the electrical supply for the building being severely under-specified for the demand. Maybe I can beat the landlord over the head with these figures and get them to upgrade... and maybe pigs will fly, too.

# 12 PM

Just got back from a game of Scrabble with Shweta. When it's just the two of us, the scores get ridiculous. This time, the combined score was six hundred and sixty-three points. Notable words appearing included DIATRIBE, QUARTIC, HEROIN, VOXEL, and AGOG. One four-by-three region of the board had eleven of twelve spaces taken (and we would have liked to put an X in the twelfth, to make EXPOSED, but AXVICE isn't a word).

Nathaniel wonders what the maximum possible Scrabble score is. I suspect it's intractable to calculate, since it depends on the dictionary and the exact sequence of moves.

Going to bed now.

# 11:30 AM

pleasantly surprised

I got a survey in the mail from the Democratic (Party) Congressional Campaign Committee. I was expecting this to be thinly disguised propaganda, with questions skewed so there was only one way to answer them even if you disagreed with what they were really asking. But it's not like that. My major objection is that they keep varying the choices you're given with. For instance, I would like to register only mild objections to the USA's withdrawal from the Kyoto Protocol, but my only choices are "Strongly Opposed" to and "In Favor" of the withdrawal. Also, I would like to be able to say "Neither of them" to "Which party do you trust to do X" (for several different Xes). And there's not a word about campaign finance reform, which is disappointing.

But overall it's something I can fill out and send back in with a clear conscience. I'm not going to give them any money, though.

Wednesday, 20 February 2002

# 5:30 PM

the marvels of modern science

I had to go to the dentist today to get a cavity filled. Most people, including me, expect this to be a lengthy and painful procedure which leaves you unable to talk properly for several hours. Not so: it was a 20-minute, nearly painless visit. Apparently the latest thing in dentistry is vaporizing decayed tooth with a laser instead of drilling it out. This is faster, more reliable, and less invasive. Oh, and far less painful, to the point where it isn't necessary to get shot up with local anaesthetic (hence no numb puffy jaw for the rest of the day.) After the dentist got done with the laser, he filled the hole with some sort of epoxy and set it with a small ultraviolet lamp; again, faster and less painful than the old mercury amalgam (and no risk of chronic mercury poisoning, either).

I really like this guy. If you're in Berkeley or Oakland and need a good dentist, check him out; he's got a somewhat silly-looking website with contact info.

too many records redux

Another month, another trip to Amoeba—the one on Telegraph Avenue, this time. Sadly, they did not have any Luther Wright and the Wrongs albums. I bought:

  1. The Razor's Edge (AC/DC)
  2. Change (The Alarm)
  3. Raw (The Alarm)
  4. Lucky Town (Bruce Springsteen)
  5. Drivin N Cryin (Drivin N Cryin)
  6. The Black Album (Metallica)
  7. Factory Showroom (They Might Be Giants)
  8. Let's Face It (The Mighty Mighty Bosstones)
  9. What Up, Dog? (Was (not Was))

You will note that I bought a real AC/DC album this time.

Factory Showroom contains the wonderfully disturbing tracks Spiralling Shape and The Bells Are Ringing. It's worth buying just for those two (the rest is also good, or the part I've listened to, anyway).

Aside: Why on earth is <U> a deprecated HTML tag when <I> and <B> aren't?!


prosewitch complains about being shy and feeling guilty about being shy, etc. etc. and I read the whole thing thinking "gee, is she secretly me?" because I have all the same problems (except for the talking to professors bit). For instance, here I am feeling like I'd like some company and to get away from work; and I know I could pick up the phone and call any of several people, and hang out; but I probably won't, because that would be, y'know, extroverted.

Bunny-puppy, yes, I know.

Tuesday, 19 February 2002

# 11:30 PM

Wrote some more Shadowrun spells: static and dynamic magnetic fields, more sleep magic, and more Oliver Sacks-inspired illusions.

# 3:30 PM

It's been raining off and on for the past week; today it seems to have settled down to rain in earnest. I like a good gentle rainy day. The soft gray light makes everything seem friendlier, somehow. The mist brings the horizon closer. Things nearer than the mist somehow seem sharper, probably by contrast. Noises are muffled.

I walked through Sproul Plaza on the way back from class and saw that someone had decided to dump bubble bath liquid in the fountain for a joke. It wasn't real impressive, though.

today's dose of philosophizing

It occurred to me earlier today that the forms and procedures of a criminal trial have interesting resemblances to magical ritual. Two things in particular come to mind: the goal being to determine an absolute Truth (who is guilty of a crime) by inquiring of witnesses, and the unusual powers given to the judge as representative of the state. (Under normal circumstances, ordering that someone be locked up for the rest of their life is itself a criminal act.)

This is not surprising when you consider that most modern criminal procedure is based on protocols developed in solidly religious—mostly solidly Christian—cultures and times. Most religions do include the concept of absolute truth, and the spectrum from religion to magic is well understood in anthropology.

With my speculative-fiction hat on, there are two ways one could run with this observation. One, let's call it the "Ken MacLeod direction", would be to explore the nature of a legal system that didn't have any basis in magic or religion. Instead, it might take an approach similar to scientific method, with experiments done to probe the scene of a crime for what happened. More emphasis would be placed on preventing crime than punishing it. Punishments would focus on compensating the victim, probably with money (weregild, anyone?)

The other possibility, the "Jo Walton direction", would be to explore a legal system overtly and explicitly based on magic principles. Here, you'd investigate a crime with rituals intended to extract truth from suspects and witnesses, and punishments might have a direct effect on the state of the criminal's soul.

Monday, 18 February 2002

# 10 PM

The power went out. When I turned the breaker back on, it buzzed at me and flipped off again. Wasted some time trying to figure out where the load was. It turns out that the two master breakers control the front and back halves of the building, not the top and bottom floors like I'd thought, so I bothered the wrong person. Then I gave up and turned the power back on a second time; this time it seems to be staying on (knock wood).

We had a rash of this last month, which I'd figured was due to everyone running electric heaters, but now it's warmer and people aren't doing that. Maybe something else is wrong.

# 9:30 PM

So I'm walking down the street and I see that it is street-sweeping day. Of course not everyone has moved their cars out of the way of the sweeping truck, so the guy driving has had to avoid them and miss long chunks of curb. All these people will come back to find they've been slapped with tickets. This is a lose any way you slice it. People have trouble remembering which day of the month the sweeping happens, they resent paying the tickets, and the streets aren't even clean.

How would your friendly local mad scientist solve this problem? Perhaps with a sweeping truck that could move cars that were in its way. Here are three designs:

  1. The most obvious, and perhaps the most satisfying, is to add a giant robot arm to the side of the sweeper. When a car is in the way, the driver uses the arm to pick it up and hold it in the air while sweeping where it was. Unfortunately, the truck will need to pick up the next car while it's still where the previous car was, so it needs more than just one arm, and needs to be able to hand cars from one arm to another without putting them down. This is probably impractical.
  2. We could use a conveyor belt instead of an arm. The sweeping truck would be shaped like one of those wedge robots from Robot Wars, and cars would be carried up and over its top while it sweeps underneath. The trouble with this design is it forces us to reshape the entire truck, and the new shape isn't very practical for the truck's primary purpose (sweeping streets). Also, the cars on the conveyor would block the driver's vision.
  3. But why does the whole truck have to fit into the parking lane? We could put the sprayers, brushes, and vacuum on a robot arm. This arm could be very simple; all it needs to do is extend to the side of the truck. Now we can fit a second arm to pick up cars in the way of the brushes; since the whole truck isn't going into the parking lane, it doesn't need the range of movement that the arm in the first design did, nor do we need to pick up multiple cars. Perfect!

Sunday, 17 February 2002

# 10:45 AM

zack's too-many-ingredients scrambled eggs recipe

  • 2 eggs
  • 1 large tomato
  • 1 large potato
  • ½ large onion or 3 green onions
  • About 10 mushrooms (optional)
  • About 4 olives (optional)
  • Garlic cloves to taste
  • A hunk of hard cheese

Chop up everything except the eggs. The potato, onion, olives, and garlic cloves should be cut fairly small. The mushrooms and tomato should be cut large, because they shrink when fried. Cut the cheese to whatever size suits your fancy. Break the eggs into a bowl and beat them smooth.

Heat a pan and grease it with olive oil. Fry the vegetables, adding them in this order: potato, onion, mushrooms, olives, green onions, garlic, tomato. When the tomato is cooked, throw in the cheese and stir until it begins to melt. Then pour the eggs over the entire mess, stir a bit so that it is evenly distributed, and put a lid on the pan.

Reduce the heat and allow everything to steam for a couple of minutes; then remove the lid and scramble everything up until the eggs are thoroughly cooked. Serves one. To scale up, keep the proportion of tomato, potato, and onion constant, and add about two-thirds the number of mushrooms, olives, eggs, etc. per additional person.

book review

Go right now and find a copy of the Riddlemaster of Hed omnibus, and read it. No, you don't have anything better to do today.

Friday, 15 February 2002

# 5:30 PM

For the large majority of people out there with browsers that don't understand bleeding edge XHTML, here's the MathML rant in plain HTML. I've also adjusted the MIME type of the original to improve the odds that your browser will understand it.

Nothing's quite as much fun as showing up at work to discover that no one else has come to work today, because the company is making everyone take a day off, to save money.

Well, maybe it's as much fun to show up at Jack London Square to discover that the knife shop you remember from two years ago is no longer there, and in fact the entire building has been torn down. According to the barkeep in the itty bitty waterfront bar I asked questions in, the knife shop moved to Brentwood. The only Brentwood I can think of is in Los Angeles. Is that the one he meant? I have no idea.

Oh well, I got an omnibus of the Riddlemaster of Hed trilogy, so the shopping trip was not a total waste of time. Now for some dinner.

# 1:20 PM

For your entertainment and edification, a rant about MathML.

Thursday, 14 February 2002

# 7:20 PM

the best thing about standards is there are so many to choose from

Well, in this case, the best thing about standards is they often have completely brain dead mandated semantics. Take the humble #line directive. Its purpose is to let a programmer adjust the apparent file and line of the code being compiled. It takes a filename parameter. You would think that it would use the same syntax as the other directive that does that, #include. But no, the C standard mandates they have different syntax. Well, maybe. As is common with the C standard, the text can be interpreted multiple different ways; and if you ask the committee informally, two different members respond with contradictory answers, both with solid arguments.

Meantime, there's code out there that assumes that #line works like #include, and no one has shown me code that assumes that they don't. So I'm making GCC treat them the same way. It turns out that this requires major surgery; not because it's intrinsically hard to do, but because you'll never notice the difference unless you use filenames or #line directives containing nasty characters (like newline), and other bugs pop up if you do that. So I can't validate my fix without fixing all the other bugs as well.

(That is, on Unix you'll never notice the difference. On Windows, you definitely will, because Windows uses backslash (\) for its directory separator, and most C programs treat backslash as meaning "the next character in this string is special.")

# 12 AM

Emergency laundry is done. Now to take a shower and run off to the NTL meeting. I hope we're having edible food this week.

Wednesday, 13 February 2002

# 8:15 PM

existential infinitely recursive guilt

What do you do when you want clean sheets but you don't have time to go to the laundromat and wash your sheets? (The washing machine downstairs cannot handle sheets.)

Well, one obvious thing is to go buy a new set of sheets, so that you have two sets and can just swap the dirty set out. However, when I went to do just that, I discovered that Ross carries no sheets which (a) contain no synthetic fibers, (b) are properly sized for my bed, and (c) are not made in Pakistan.

I'm not sure how much I should care about that last. My knee jerk reaction is, I don't want to be supporting Pakistani industry when a fair chunk of the horrible things that have happened in that part of the world in the last fifty years are directly the fault of their government. My slightly more considered reaction is, it probably wouldn't be a country run by dangerous reactionary extremists if it had a twentieth-century economy (never mind twenty-first), and therefore buying legitimate goods (i.e. not drugs) from them is probably a Good Thing, since it will inject hard currency. My reaction on zooming out a bit is, of the $15.99 that the sheets cost, probably only about $5 is going to wind up in Pakistan, and most of that is going to make some plutocrat type richer, which doesn't help any. And my reaction to that thought is, it's basically impossible to buy anything made of cloth without supporting some plutocrat or other.

One could go on in this vein forever, and that's not the way to live. However, take a look at this rant from Transmetropolitan: I Hate It Here:

We live in a monoculture.

What does that mean? Well, go out to your street corner. You'll probably see a Long Pig stand, SPKF on a screen somewhere, an Angry Boy Dylan's Gun Store...

Go out onto a street corner in London and you'll see the same thing. Same in Prague. Same in São Paulo...

This is the future. This is what we built. This is what we wanted. It must have been. Because we all had the fucking choice, didn't we? It is only our money that allows commercial culture to flower. If we didn't want to live like this, we could have changed it any time, by not fucking paying for it.

Is what Spider's saying true? Here we are, living in his past...do we have a choice? And if we don't, what does it say about the world we live in?

I bought the Pakistani sheets.

today's cooking lesson

I have fettucine, I have green onions. I think, hmm, fettucine alfredo would be nice. But I don't have butter or milk; and alfredo sauce is basically heavy cream. What to do? I do have a whole lot of cheese. Hmm, maybe I can just melt the cheese over the pasta? Well, if you've ever done anything much with cheese you know you can't "just melt" it, it turns into a sticky mess, then it becomes glued to the bottom of the pan and burns.

The solution, at least in broad outline, is obvious once you think of it: Dump a cupful of water into the pan first. Then the cheese does not melt so much as dissolve, giving a thin broth that doesn't stick to the pan. Unfortunately, if you render it down to the point where it is suitable for use as pasta sauce, it starts sticking again.

I'm not sure what the right thing to do at that point is. I did manage to get most of the sauce out by pouring all the cooked pasta into the pan with the sauce and letting it soak it up. Unfortunately the cheese would rather stick to the pan than the pasta. Further experimentation is needed. (Or I could just read a cookbook... nah.)

# 10:30 AM

I needed to do emergency laundry, went down to the basement, and discovered that the washing machine's cold-water hose was leaking all over the floor. Called the washing-machine company, and was initially told that they didn't have any machines at that address, what was I talking about? Perhaps the owner of the building had bought the machines outright? For a horrible moment I thought they might be correct. I've previously been told by the owners that they were not in any way responsible for the washing machine, but I wouldn't put it past them to lie outright.

It was rapidly cleared up once I produced the machine's bar code number; I think the customer service woman misheard the address. I've also been assured by the owners that someone will show up and clean the laundry room (which is filthy) Real Soon Now, but they have said that before. I am willing to give the washing machine company, which is a national concern with a good reputation to maintain, the benefit of the doubt here; not so the landlord.

# 8:30 AM

Two very strange dreams. In the first, I was getting a haircut, except that instead of hair I had big fat green plant stems growing out of my head. I remember being rather disturbed by this and having the hairdresser assure me that it would go back to normal when it dried out. Then she set up some mirrors so I could see the top of my head, and there was a centipede crawling along between the plant stems. At this point I woke up in a cold sweat.

In the second dream, I was preparing to go on a dogsled race, or maybe it was just a long trip. I was packing far too many books, and having to take them out again. One of the books had come unglued and split in half and I wasted a great deal of time trying to repair it. In the end I went off on the dogsled without any books and was convinced that I would be lonely and bored all the way. But then someone who called herself an "ice dryad" came out of the woods and kept me company so that was okay.

Tuesday, 12 February 2002

# 6:30 PM

Shifted January to the archives, only two weeks later than I should have.

# 6 PM

Today in class, we were invited to critique user-interface toolkits we have used—as in, have written software using. Most of the code I've written has been batch-mode command line applications, so I don't have a huge amount of experience here. (Which isn't to say that user interface design for a batch-mode command line program is either unnecessary or trivial, of course.)

However, I do have a criticism to level, which is: A GUI toolkit should make it easy to say what you mean. For instance, consider the overall page layout of this blog. The specification, expressed in English, would read something like this:

...Below the title and subtitle, there shall be two columns. The left column is to have a yellow background, and small sans-serif text. It shall be only as wide as the text inside requires, plus some padding on all sides. The right column shall take up the remainder of the horizontal width of the page, stretching to fit. It is to have no special background or font selection.

I have still not figured out how to express that in HTML and CSS. The sticking point is the "only as wide" bit. You can say "N pixels no more no less" or "X percent the width of the page", but as far as I can tell you can't say "size this according to what's inside with no stretch."

After class I went to the engineering library and printed out five papers which seem to be relevant to my project. I could have kept going; those five came from the first two keyword searches I ran. I think five is enough for one batch, though.

The library has cute software for tracking how much printing you do and charging it to your copier card. It's named after the world's first known lighthouse, Pharos. I'm not sure why.

Monday, 11 February 2002

# 11:30 AM

Remember the lightsaber spell? I've now got a revised version, along with nine more, on a grimoire page. Share and Enjoy.

Sunday, 10 February 2002

# 11:50 PM

I think I'm going to do more of my reading assignments in cafes from now on. I'm done with all the reading for next week already. The past few weeks I've been stuck doing it the night before the class, or even the morning of. Now I just have to write up my presentation for Thursday, which should be easy.

I was hoping to have some more progress on the User Interfaces project, but although I've had a bunch of ideas none of them have made it out of my brain and onto a hard disk yet. Maybe tomorrow.

When I make pasta, a disturbing amount of the cheese winds up stuck to various plates, bowls, pots, etc. rather than being eaten. A pity.

Oops, I left out the href on one of the hyperlinks in the last entry.

# 9:15 AM


Friday was unmemorable. Work, mostly. I found a bug in half an hour after someone else had been stuck on it for three days. I hope this maintains my reputation as a miracle worker in the face of the bug that I've been stuck on for three weeks now.

Saturday, went to the Alternative Press Expo at Fort Mason in San Francisco, with Shweta and Nathaniel and Patrick Farley. That was fun. One barn full of genuine artists, as opposed to the ComicCon experience of a couple football fields worth of The Man with a few genuine artists scattered around the edges. Here's some nifty things found in the barn: Peko Peko, Last Kiss, Shades of Green, K.O. Comix, XXXlivenudegirls. (This last is not what you might think! It's self-described as "a scrapbook of bad choices." Extremely sharp broken glass edges, proceed with caution.)

Patrick was on a panel called "Online Comics: Telling stories on the web" with Tristan Farnon, Scott McCloud, Justine Shaw, and Derek Kirk. The panel itself was nothing to write home about, but go check out all the above hyperlinks.

APE goes on today, but I have too much work to go again.


Yeah, I dreamed that I saw Dali
With a supermarket trolley
He was trying to throw his arms around a girl
He took an open top beetle
Through the eye of a needle
He was tryin' to throw his arms around the world
-- U2 "Tryin' to Throw your Arms around the World" Achtung Baby

Well, I dreamed that I was sitting in a bar, listening to Bono explain in great detail how neither he nor any of the other members of the band could stand any of the tunes on Achtung Baby anymore, and this was why they never played them in concert. Waking up, I wonder if that's true. Unfortunately I cannot remember if they really didn't play anything off AB when I saw them back in October, and the official band webpage, which should have set lists, is a shining example of category 3 bad web design so I can't find them. (Why are rock bands' web sites so often like that?)

Thursday, 7 February 2002

# 11:45 PM

So I needed to write a script to walk back in time through the GCC source repository until it started miscompiling this test case I've got, but I didn't want to start now, I wanted to start back in 2000 sometime. How do you do that? The CVS client won't take anything convenient like a simple count of days since 1970...

... but it turns out that you can write -D "4 days ago 2000-06-24" and the "4 days ago" bit will modify the "2000-06-24" bit. That's good enough. The script is now grinding merrily away. It takes longer to update the working copy than it does to compile the result, but it's going to run overnight anyway, so I can live with that.

Off to bed.

# 5 PM


Today I got up, looked out the window, saw the threatening clouds, and thought "There have been threatening clouds all week, and every day they've burned off by two PM; I don't need waterproof clothing today."

So, of course, today it rained. I did have a relatively waterproof jacket, but my shoes are soaked through.

Interestingly, this morning there was a thread in rec.arts.sf.fandom about fiction that does and does not have "creationist" assumptions embedded in it, with the works of Ken Macleod suggested as a prime example of the second category. (They are also uniformly excellent books. -ed)

What's this got to do with the weather? Well, my first two paragraphs up there have got a creationist assumption embedded in them, by the terms of the thread—the idea that it rained today because I didn't wear my rain boots finds causality where there is none, and (by implication) ascribes consciously malevolent humor to the weather, which is not alive. From there, it's not much of a leap to an actively participating trickster god, and from there to a creative one. Consider Ifni from David Brin's Uplift series, who is a consciously worshipped deity of the perversity of the cosmos, and in some contexts described as the chief servitor of God Almighty. (She's said to determine the course of luck by rolling dice, which I bet is a deliberate nod to role-playing games.)

Now personally I don't mind leaving a few gods in my universe, but it's always good to examine assumptions, eh? And different assumptions make for new, different stories, and there can never be too many new stories.

bureaucracy update

I am now $620 poorer and officially enrolled in CS 260. The Dean of the College of Engineering looked at my form and asked me when I'd graduated from Columbia; turns out he went there too, just barely before I was born.

There were some kids ahead of me in line at the UC Extension office who were trying to get the cashier to let them pay the exorbitant fees next week after their "refund checks" (tax refunds this early?) came in. The cashier was not sympathetic. They bailed out of the line and stood around griping at each other. I suggested post-dated checks to one of them, but didn't stick around to see what the cashier thought of that idea.

Wednesday, 6 February 2002

# 3:30 PM

Stayed up until 4 AM talking about our Shadowrun campaign with Shweta. It was loads of fun; unfortunately, now I'm gonna be tired all day.

I've edited the lightsaber spell a bit, it was too wimpy and too draining.

Sumana comments on a previous entry:

I realized upon the third reading that he did not mean to speak directly to a person named "Furrfu."

Well, of course I didn't! That was what the link on the word was for, to explain the meaning of the word...

Tuesday, 5 February 2002

# 6:30 PM


I go to hand in my Concurrent Enrollment form and am told by the clerk that it must be signed by the head of department—fine, I'd forgotten—and the dean of the School of Engineering. They didn't make me do that last semester. Grumble.


For no good reason, I present the lightsaber as a Shadowrun spell.

Category: Elemental Manipulation (Light)
Duration: Sustained
Target: 4
Drain: +1(S)

This spell creates a light beam of finite length from the caster's hand, which may be wielded as a blade weapon so long as the spell is maintained. It does Force+3(S) cutting damage, ignoring all armor except armor specifically designed to be reflective, which works normally. Critters (including metahumans) resist damage at normal Body; objects, at half their normal damage resistance. The blade can be blocked only by another such blade (always) or an astral barrier (if it wins a standard barrier-defeating contest, using the spell's Force).

You need an appropriate swordfighting skill to use the blade effectively. Good idea to spell-lock this one...or bind it to an anchoring focus, if you know how.

The beam can be any color you like. Double-ended blades or other custom shapes (yes, you can have a light-scimitar) require modifying the spell formula.

# 1:15 AM

Once again, why am I still awake?

Quote from my summary of another HCI paper:

It does not matter to a discussion of modelling techniques whether the model communicates with the system by sockets, Lisp funcalls, or carrier pigeons.

Furrfu, you would think people who write published papers should be able to tell what is relevant to the subject and what isn't.

# 12:45 AM

Feeling a bit better now, well enough to go to work. Thank-you to Sumana for the get well note. (Hmm, I should add anchor points to the markup here.)

I've finished my brainstorm list for ways to improve cvs annotate. Please read and comment.

Sunday, 3 February 2002

# 11:30 PM

Okay, I'm definitely sick. I've got no appetite, a sore throat, and even less will to do actual work than usual. But I did manage to write up half of a brainstorm list for ways to improve cvs annotate. That'll do for this evening. I think I'll make myself hot milk with cinnamon, and go to bed.

# 10:30 AM


Last night's dream was the classic fear-of-falling nightmare, except for the trappings. I was in the elevator for the building I lived in my freshman year at college. I pushed the button for the eleventh floor, which is where my room was, but I missed and pushed the button for the thirty-first floor instead. The building, mind, only had fourteen stories plus an attic. But the elevator didn't care, it kept going up through the roof - stopping exactly sixteen stories above, hanging in mid-air from a giant construction crane and swinging wildly. Oh, and did I mention it turned into one of those old- fashioned one-person cage elevators at this point?

Usually at this point in a fear-of-falling nightmare you do fall, and then you wake up. This time, the phone in the elevator rang; I managed to answer it, and it was the construction crew whose crane it was, telling me that they were going to lower the elevator back down onto the roof. Which they did. They were all standing on the roof eating lunch. They gave me a sandwich and apologized for having left the thirty-first floor button in the elevator. I decided I'd take the stairs back down. Then I woke up.

Can't remember the last time I had a nightmare. I don't get them much. When I do, it usually means I'm sick.

urban density and the environment

The East Bay Express has a feature article this week on Richard Register, who is a controversial environmentalist architect. He's controversial because he advocates very high density cities. The idea is, if you take the same city and squeeze it into a smaller volume you can restore to nature all the area formerly covered by sprawl. Furthermore, high density enables profitable mass transit, which means the people living there don't need cars, which puts another dent in the environmental impact. He is a student of Paolo Soleri, who invented the arcology (bet you thought that was pure science fiction).

As an expat New Yorker I very much like this idea. It rubs a lot of people the wrong way though. I think this is because they haven't had the experience of living in an actual high-density city. They assume that all the unpleasant features of living in a car-centric city would be made worse by higher density (i.e. lack of parking, traffic jams, obnoxious neighbors, obscene rent) but don't realize that a phase transition occurs when floor-to-area ratios get high enough for mass transit to work.

# 12 AM

Yesterday, I shifted the last few items from Sumana's place, including the mattress, which had to be tied to the roof of my car. In the process I at last came to understand the difference between a reef knot and a granny knot. I bet you'll stare at the knots on that page for quite awhile before you see the difference.

Shweta compared my CS project to the Prime Radiant from Isaac Asimov's Foundation series. It's a good analogy; the Radiant was a device for exploring a complex database (the Seldon Plan), getting all sorts of different overviews in varying levels of detail, stepping back or forward in time, etc. The only difficulty was, it was controlled by a direct brain ↔ computer interface. We don't have those yet (although people are working on it.)

(↔ is supposed to be a double-headed horizontal arrow. Maybe this one will work better: ↔)

Thursday, 31 January 2002

# 5 PM

Whew, what a week... barely time to stop and take stock. And it's not over yet; have to run out the door and help Sumana move more. But, check out my project for the class I'm taking. It's been ages since I had a muse move into my head, I forgot how much of a rush it is.

Monday, 28 January 2002

# 6 PM

I mailed out a ton of stuff: mostly bills. I wonder how the amount of money I currently waste on parking tickets each month compares to the additional surcharge on the rent to get a space behind the building. I wouldn't be surprised if it's about the same.

Also, generated and sent off letters to various junk-mail companies requesting to be removed from mailing lists. I'm tired of getting credit card offers which can't even be thrown out for fear of having someone fish them out of the trash and send them in. The thing is, this shouldn't be necessary in the first place. We don't put up with opt-out when it comes to electronic mail; why should we put up with it in paper mail?

(opt-out.cdt.org is a great resource for doing this sort of thing. Just fill in the form and it will give you a series of letters to print out and sign. Of course, I had to do it five times because Mozilla decided to crash every second time I asked it to print the page.)

It's raining outside. This morning, apparently, it was sort-of snowing in Granite Bay where my boss lives.

Time for dinner, then fill in backlog of time sheets so I get paid for this month...

# 10 AM

The Christian Science Monitor has an article today about a growing public debate in Arabic-speaking countries over the link between political oppression and militancy. Definitely worth a read.

(You're probably thinking, isn't that the propaganda sheet run by that bizarre sect that thinks all disease is illusory? Yes and no. It is run by that bizarre sect (the Church of Christ, Scientist) but it's an independent, secular newspaper with high journalistic standards. They report all sorts of stuff that doesn't make it into the big media outlets. I haven't read it long enough to get a good sense for the spin they like to put on events; it's definitely different from the spin you get from more popular sources. There is one religious article each issue, but it's clearly labelled as such.)

# 12 AM

Wheee, I love it when I discover two different Mozilla bugs (122104, 122109) in the course of writing a journal entry.

Sunday, 27 January 2002

# 11:20 PM

Wheee... seems like every time I report bugs in Mozilla they turn out to be duplicates of bugs with much smaller numbers.

Wheee... five copies of a Windows mail worm sent to a mail alias I probably shouldn't be on anymore, but still am.

Wheee... sorted most of the papers cluttering this place up, filed them away carefully, and labelled all the file folders. I've been needing to do that last for years. Some of the labels are silly: "Mathoms", for instance, right next to "Useless Manuals."

How long should one hang on to old bank statements for? I've got every last one of them since I moved to the Bay Area back in 1999. I doubt I'll ever need them, but I hesitate to throw them away...

# 5: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.

# 2: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.

# 11:30 AM

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.

Saturday, 26 January 2002

# 3:30 PM

I've applied a hack to prevent Netscape 4.x from loading the style sheet for this page—it has serious bugs in its CSS implementation, such that the page comes out looking awful. Much better to ignore all the styling and have the page come out looking plain.

The hack, in case you're curious, is to add media="all" to the <link> tag referencing the style sheet. This trips another bug in Netscape 4, causing it to ignore the style sheet.

I'm not going to stop using modern markup, such as &mdash;. Have you considered upgrading to Mozilla?

# 3 PM

Yesterday was a busy day... back to work, after having moved furniture the night before and not gotten enough sleep. (I guess I'm too old to sleep on someone else's floor anymore.) Made some progress finding the bug in that 13-page debugging dump I mentioned before. I now know what is wrong, but not why it happens.

For dinner, went to the Bubba Gump Shrimp Restaurant on Pier 39 in San Francisco with the gang from work (Mike, Mike's wife Bets and baby son Edward, Todd, Thomas, and this guy named Jim who turned up - apparently he used to work for Wind River). Good company; decent food; I didn't care for the restaurant's style. But then I wasn't that impressed by Forrest Gump (the movie).

Afterward, we watched the remake of Planet of the Apes at Todd's place. This is worth seeing for the makeup, which does an amazing job of turning human actors into believable apes, with individual faces and a good range of expression. Unfortunately, that's not enough to produce a good movie. The plot is difficult to believe and the characters are of the finest cardboard (with the possible exception of the villain).

Must now watch the original and see how it compares: I expect not so good makeup and much better plot.

Thursday, 24 January 2002

# 6 PM

Now I know why my alarm clock was blinking twelves at me the other day: all afternoon, the power to the whole apartment would cut out for five seconds periodically. There's nothing obviously wrong with the fuse box, I wonder if these are area-wide brownouts. Fortunately I have a UPS so the computer didn't crash.

I've pretty much concluded to take the user interface course and not the compiler course. I'll learn more.

This weekend's assigned reading for the UI course is from a book titled Usability Engineering. I'm not sure if it's the one by Jakob Nielsen (we were given copies of the chapters assigned). It has some funny quotes:

Validity is a question of whether the usability test in fact measures something of relevance to usability of real products in real use outside the laboratory.

...[U]sability test subjects are not normally bodily harmed, even by irate developers resenting the users' mistreatment of their beloved software...

Now to do some dishes and then help Sumana move furniture.

# 12:10 AM

About to run off to the NTL meeting.

Did finally manage to get halfway decent airfare to Minnesota.

Wednesday, 23 January 2002

# 10:30 PM

how to make pasta sauce

a.k.a. "Hey, I don't need a jar of the stuff, I have all the ingredients right here."

  • 2 tomatoes
  • 1 onion
  • 9 mushrooms
  • a handful of black olives
  • 2 large cloves garlic
  • spices: black pepper, oregano, basil, tarragon

All these numbers are fungible: feel free to tweak them as you see fit. The 2:1 tomato:onion ratio is pretty important, though. It's okay to leave out the mushrooms or olives if you don't like them, or substitute other veggies. (Well, I don't think carrots would work.)

Chop up all the vegetables into appropriately sized bits. I like my onions and olives fine; my garlic, tomatoes, and mushrooms chunky. Put them in separate piles.

Start boiling water for the pasta.

In a largish pan, heat 1 tbsp olive oil and a pinch of salt. When it's hot, throw in the onion and stir-fry until it has begun to turn transparent. It's a good idea to reduce the temperature somewhat at this point. Now add the mushrooms. Continue to stir until the mushrooms are brown and have shrunk a bit. Add the garlic and olives. Continue until the garlic turns just barely yellow.

Now dump in the tomatoes, raise the heat again, stir until the tomatoes begin to disintegrate and there's enough liquid in the pan that you are no longer frying the veggies. Add the spices, mix everything up, cut the heat to a simmer and put a lid on the pan.

If you've timed it right, the pasta water will be boiling now. Throw the pasta in the water and leave both sauce and pasta to cook for about ten minutes. Grate some cheese while you're waiting. Drain the pasta, put it in a bowl, and pour the sauce over it. Add the cheese, mix well, eat.

a correction

The pile I picked my goddamned internet sticker from was not a junk pile, Sumana informs me. It was just a pile of stuff.

# 5:45 PM

Earlier today I was walking down a street, sun on my right side, big plate glass window on my left. Looking down, I saw I had two shadows: one going to my left, as you'd expect, but another going to my right. This made no sense for a moment, then I happened to see my reflection in the window had two shadows too. And it dawned on me: the shadow to my right was the shadow of my reflection, projected back out into the space I was in. It was a sensawunda moment.

I read a neat review of an exhibit at the Carnegie Museum of Art about the history of aluminum. I have nothing to add to what they say about aluminum, but I would like to point out the place about two-thirds down the page where the author tried to write "Otto Wagner (1841-1918)" and the message board program turned "8)" into a gif of a smiley face wearing sunglasses.

Oh neat, when you copy and paste a chunk of text out of Mozilla with an image embedded in it, Mozilla inserts the image's alt text in its place.

Tuesday, 22 January 2002

# 2:45 PM

I'd just like to say that wget kicks ass. That is all.

# 9:30 AM

No dreams last night. Instead, I got to wake up at something like 3 AM and see my clock blinking 12:00 at me. There must've been a power cut, or I kicked the plug in my sleep (it's right next to the bed). I spent the rest of the night waking up periodically and wondering what time it actually was and how I'd know it was time to get up and go to class.

Of course, when I did get up—awakened by the sound of the downstairsnik running her shower—I found that it was only 7 AM, and that the earliest class I have today is at 11 AM (not 9:30 as I'd thought).


These are what I'm considering:

CS 264: Implementation of Programming Languages
Compiler construction. Lexical analysis, syntax analysis. Semantic analysis code generation and optimization. Storage management. Run-time organization.
CS 260: User-Interfaces to Computer Systems
Design and implementation of user-interfaces to computer systems. Software and hardware architectures for personal workstations. Object-oriented programming systems. Form-based user-interfaces. Window and display management abstractions. Case studies of naive- and expert-user interfaces.

I'm only going to take one, but I'll sit in on the first couple meetings of each. Unless 264 is amazingly exciting, or 260 amazingly dull, I expect I'll end up taking 260.

Monday, 21 January 2002

# 7 PM

I'm actually writing this entry at the same time as the one for 9:30 tomorrow. Is it cheating to backdate diary entries? I certainly meant to write this entry at 7PM yesterday, but I was too tired.

Anyway... Today I took the bus to work. That was fun. The bus doesn't go all the way to work, but all the buses in this town have bike racks bolted to their front bumpers, so I could load my bike on there, get off about half a mile from work, and pedal the rest of the way. (I have to wonder what it's like driving the bus with a bike rack jutting three feet out in front of it. The drivers don't seem to mind, though.) There were lots of interesting people on the bus with me. One little girl, must've been about four, was running all over the bus ignoring her mother... then this elderly woman got on the bus and managed to get her to calm down in seconds.

It rained in the middle of the day and I thought I was going to regret the decision, but then it stopped. And, not having to drive around for ages when I get home, looking for parking, is definitely worth it.

The current bug I'm working on is rather intractable. It's a case of incorrect initial code generation. The initial code GCC generates, before any optimizers get their hands on it, is remarkably bad. Bad to the point where it interferes with human comprehension. I printed out a thirteen-page debugging dump of the function being miscompiled, taped it to my door, and drew all over it in red and blue ink to try to trace the control flow. Having done this, I still didn't know what was wrong.

If I can get my hands on a digital camera, I'll take a picture of the mess and post it here for your amusement.

One of the managers came by as I was drawing on the door and cracked up—I thought he was laughing at the extremes I was going to, but it turned out he just liked the joke bumper sticker I'd taped under my name plate on the wall. It says goddamned internet in big white letters on black. There's also some website pointer, but I don't remember what it was and google can't find it. According to the manager, this is a M*A*S*H reference. That show was long before my time, of course; I just picked the sticker up from Sumana's junk pile, thinking it was funny in its own right.

# 8:30 AM

I usually have dreams that are too incoherent to make weblog material, even if I remember them. Today, though, my subconscious decided to hand me a perfectly realized narrative fragment, illustrating what might have happened if the One Ring had been found by two Ankh-Morpork City Watch officers instead of Sméagol and Déagol. It went something like this:

"Oi, I found this ring, makes me invisible when I put it on."

"Magic ring. You don't wanna mess with magic rings. We'd better hang on to that till a wizard can come and look at it."

"I wonder what happens if I throw it inna fire, see?"

"You idiot, stop—dammit. Gimme them tongs."

"It's not hot at all... oh, lookit, writing."

"I cannot read the fiery letters."

"Yer right, we better get a wizard to come and look at this. Y'know any wizards?"

"There's that one in the gray beard and blue hat, comes by every now and then...what was his name? Mithrandir?"

I don't know why the one who speaks in dialect decided to throw the ring in the fire. Nor do I know what happens next, but I suspect the story ends a lot more peacefully for everyone involved. Well, except that now you have Ankh-Morpork inserted into Middle Earth, that could get messy.

Sunday, 20 January 2002

# 10:45 PM

Called a salvage yard to see if they'd be interested in my radiators, but they said they had plenty right now. Still, that bodes well for eventually being able to get rid of them.

In the meantime, I've shoved them into a corner of the second floor hallway (at the bottom of the stairs to the roof) where they shouldn't be in the way, avoiding the whole question of how to get them down the stairs. I am still amazed at how heavy the damn things are. Anyone have a block and tackle I can borrow?

There's also the nagging question of what the landlord will think. Odds are they won't even notice, but perhaps it would be best to dump the radiators in the basement rather than selling them.

With a little WD-40 and a big honking wrench, it was easy to unscrew the union holding each radiator to its valve, but the valves themselves stubbornly refuse to come off the steam pipes. This is no big deal—even if I could get the valves off, it would not free up any significant amount of space. And right now the valves are preventing the apartment from being flooded with steam should the boiler suddenly start up (as if). My sense of aesthetics is offended, but I think my sense of aesthetics will just have to deal.

In other news, I got half the apartment cleaned (the easy half), and fixed a bunch of bugs in GNU C++ (the easy ones).

# 4:45 PM

I decided to remove the radiators from my apartment. They're old cast-iron steam radiators, the one in the living room must weigh two hundred pounds. The building hasn't used steam heat in decades, so these things just sit in the corners of the rooms collecting dust and taking up space which I need for more bookshelves.

Right now they're in the second floor hallway, and I'm pondering whether this was such a good idea... how do I get a two hundred pound hunk of cast iron down the stairs without hurting someone? Having got it down the stairs, what do I do with it?

# 10:30 AM

frantically catching up

Friday: went to Sumana's party. The lasagna was a success. Met all sorts of interesting people. What's Going On was a success, too.

Saturday: did laundry. Observed other people doing laundry. A dialogue:

STAFF:You put all your clothes in the machine and then you disappeared for half an hour without starting it. People wanted to use the machine.
MAN:We went away for five minutes to buy detergent.
STAFF:(points at clock) It was half an hour.
MAN:Whatever. to his WIFE: See if we ever come here again.

Somehow, this dialogue reminds me of a story I read...

Afterward, went and had dinner with my grandparents.

bend your mind

with some ambigrams. I particularly like the first stanza of Jabberwocky.

# 1:10 AM

Why am I still awake?

Thursday, 17 January 2002

# 11:30 PM

Just got back from a kaffeklatsch with a bunch of Bay Area SF fans. Present were: me, Shweta, Dorothy and Hal Heydt, David Goldfarb, Kate Schmidt, Eric(?)-who-works-at-Cody's, and I'm fairly sure I've forgotten someone.

# 5 PM


My CD-ROM reader/writer regularly wedges itself into a state where it won't do anything at all until I reboot the machine. I'm 99+% sure this has something to do with the ghodawful way IDE CD burners are handled under Linux. There's a translation layer in the kernel which makes the drive look like it's SCSI, and then you stack the SCSI CD-ROM driver on top of that. For burning and ripping, which is most of what I do with the damn thing, it's even worse: user space talks raw SCSI commands to the translation layer.

I understand that the situation is somewhat more sane under 2.4, however, everything else about 2.4 just makes me want to run away screaming, or even switch to FreeBSD. Maybe Marcelo will manage to straighten it out, but I'm not real optimistic.


  • 1 box lasagna noodles
  • 1½ cups ricotta
  • 1½ cups parmesan cheese
  • mushroom sauce (3 cups):
    • 3 tbsp olive oil
    • 3 cloves garlic
    • 1 onion
    • 2 cups mushrooms
    • 28 oz plum tomatoes, canned
  • spinach
  • salt and pepper to taste


# 10 AM

the dirty dishes positive feedback loop

...is a common plight among lazy young men living alone, such as myself. It goes like this: One cooks a meal, and then puts all the dirty dishes in the sink intending to wash them later. When the time for the next meal comes around, one discovers that some essential piece of kitchenware is dirty. One then makes something which does not require it. Repeat until there are no clean dishes. At this point it is impossible to fit all the dishes into the drying rack in one batch, which provides another excuse not to do the dishes at all.

Most people in this bind will go out to eat, but I've got this psychosomatic quirk which makes it really easy to ignore the fact that I'm hungry, even as most higher cognitive functions shut down from lack of blood sugar. I get into a mental state where taking any action at all, even eating, is too much effort. If I do do something, it's grumpily and ineffectively. This has been known to go on for entire days.

Which is a roundabout way of apologizing for yesterday's entry.

is sex necessary?

...is the title of a charming little book by E.B. White and James Thurber, published in 1929 and still disturbingly accurate in its skewering of American courtship rituals and the associated support industries (psychotherapists, in particular).

It also makes a marvelous source of sound bites, such as:

Successfully to deal with a woman, a man must know what type she is.

It is even more difficult, and just as unimportant, to arrive at a zodiacal classification, because that is altogether dependent upon determining the year the woman was born, and because, even if you should ascertain her date of birth, the pishtosh of analysis and prediction which derives therefrom is a lot of mediæval guesswork.

If you don't care what punctuation mark you put after "darling," the chances are you are in love—although you may just be uneducated, who knows?

for those about to rot

...is an album I bought last week (see below), and this segment is to warn y'all not to do the same.

It was billed as "a tribute to AC/DC." This, I thought, would be a fine thing to have; AC/DC was not the greatest rock band of all time, but they did write some songs which are pleasant to hear now and then. As such, they would fit nicely into my current music- listening scheme, which may be described as "rip all one's CDs to disk, throw all the tracks except the ones I can't stand to hear ever again into an XMMS playlist, shuffle, and leave on all day."

The trouble is, the reason AC/DC songs are fun to listen to is their lyrics, which are clever and original. Bon Scott and Brian Johnson sang the lyrics so you could understand them. The cover bands on For Those About To Rot don't. This leaves you listening to the music, which is nothing special, and is obscured by the growling noises that I suppose are the attempt at singing.

Oh well — what I get for buying albums off the clearance rack because they're $1.95 and have scantily clad women on the cover.

Wednesday, 16 January 2002

# 9 PM

MTYWTKAIC has turned into a morass of HTML problems, so I'm going to put it aside for awhile.

The toilet broke. The landlord wouldn't let me fix it myself and bill them for the parts, and then the plumber he sent wouldn't believe me when I told him what was wrong. Grumble.

At work, I continue to fix problems that were fixed two years ago in upstream GCC.

# 12 PM

son of the living dead css

Discovered that using Mozilla's "text zoom" feature makes the link box look bad, because it doesn't resize with the text. Unfortunately, the obvious fix (use sizes in ems) doesn't work either. An em in the link box isn't the same size as an em in the content, which makes relative positioning a real pain. And they don't seem to scale right. I could still get the text to leak outside the yellow background.

Am writing up an explanation of what I was talking about in the previous entry: More Than You Wanted To Know About Inverted Commas. (Not complete yet.)

Sunday, 13 January 2002

# 4 PM

Figured out how to change the fonts in XFree86 4.1 to get the old left and right single quotes again. Too bad it involves recompiling X11 from scratch - the Debian packages aren't set up to let you regenerate just the fonts.

Saturday, 12 January 2002

# 7:30 PM

i bought too many records at amoeba music

My sister Dara came up from Stanford and spent the day with me. We went to the Haight and wandered up and down for a couple hours. These days it's been yuppified, most of the stores are chains of one stripe or other. But Amoeba is still there and still doing gonzo business selling you all the records you didn't know you wanted until you saw them in the rack. My haul:

  1. A Slight Case of Overbombing (Sisters of Mercy)
  2. Candy from a Stranger (Soul Asylum)
  3. Days Of Open Hand (Suzanne Vega)
  4. For Those About To Rot (a tribute to AC/DC)
  5. Loaded (The Velvet Underground)
  6. Mink Car (They Might Be Giants)
  7. Ramones (The Ramones)
  8. Stanford Prison Experiment (The Stanford Prison Experiment)

When I got home I found a Usenet post pointing me to a C&W band, Luther Wright and the Wrongs, who have remade Pink Floyd's The Wall in bluegrass. They call it Rebuild the Wall. If I'd known about this before going to the city, I'd have been forced to look for it at Amoeba. And of course they would have had it.

fear and loathing in millbrae

When I say "My sister came up from Stanford," what I actually mean is "Her boyfriend needed a ride to the airport, so I drove down there yesterday afternoon, had dinner with them, took him to the airport, and then she stayed over at my apartment and we hung out today."

Now my attitude to driving in the Bay Area is, always assume it'll take twice as long as it ought to, because of traffic jams. But by some miracle there wasn't any traffic on I-280 last night, so we got to the airport about an hour before we needed to.

San Francisco International Airport is not really in San Francisco; it's south of the city proper, in Millbrae. What do you do in Millbrae for an hour? Well, despite being best known, to me anyway, as the home town of a plot-device character introduced in the last ten pages of Microserfs, it does have a halfway decent all-night diner. The place is owned by a windsurfing nut: on the walls there are all these pictures of the guy windsurfing with various improbable people, such as state senators. Everything is painted various shades of a color best described as Crayola "magic blue." And it's the only place I've ever been where puff pancakes were on the menu.

Overall it was the sort of place where I would not have been terribly surprised if some avatar of the road experience in America walked in the door. Shadow comes to mind.

Thursday, 10 January 2002

# 11:30 PM

For some reason, washing dishes in lukewarm water makes me feel colder than I would if it were cold water.

# 10 PM


Plumbing, it seems, is not unlike software maintenance in one key respect: when you start fixing something, sometimes you wind up replacing way more stuff than you expected. Take my kitchen sink. The faucet has had one thing or another wrong with it since I moved in. The handyman for the building has come by and replaced valve washers, packing, etc. repeatedly; each time it would be fixed for a short time and then fail again, worse than before. I particularly liked the failure mode where a steady stream of lukewarm water comes out of the faucet irrespective of the settings of either valve.

The handyman finally decided that the whole faucet had to be replaced, and I got to sit home all of today and wait for him to show up and do it. Once he pulled the old faucet off the wall, he discovered that the old chrome spacers didn't fit the new faucet. So he had to replace those too; and when he pulled those off the wall he discovered that the horizontal pipe for the cold water was rusting out. In fact, it was so wrecked that he couldn't get it out with a wrench, the visible end of the pipe would just squash shut.

Fortunately there is a special tool for this problem, reminiscent of a blunt-edged, tapered drill bit: you hammer it into the pipe and twist, and it screws itself into the inside of the pipe hard enough to stick and give you enough leverage to unscrew the pipe from the other pipe deep in the wall (which I hope isn't rusting out too!)

Anyway, when all was said and done he'd replaced everything between the spigot and the supply risers, and there had better not be any more leaks.


On the subject of software maintenance, one of the more interesting things to do to a program is feed it input which bears no resemblance whatsoever to the input it's expecting to be fed. For instance, very few programs expect to be fed the output of a random number generator, converted to ASCII. This kind of test is called a fuzz test, after a pair of papers (1990 and 1995) by Barton P. Miller et al.

For the past half hour or so I've been doing just this to GCC, and have been pleasantly surprised - the only break so far was a trivial oversight, a routine that wasn't expecting an ill-formed partial parse tree. Of course, plain line noise only exercises the parser, not the deeper layers of the compiler. If I was really twisted I'd write a program to generate random syntactically valid, semantically ridiculous C and see what I got.


Responding to Sumana's response to my babbling about India-Pakistan conflicts:

I didn't mean to imply that she thought it was All Britain's Fault, or that the partition was the cause of all the conflicts in the region. I skimmed over that bit because that wasn't the interesting thing about it for me. The interesting bit was the suggestion that partitions along ethnic and/or religious lines might tend to make conflicts worse or even create new conflict where there wasn't one formerly. Partitions are common in modern world politics, as actual or proposed solutions to thorny problems; and a fair number of people seem to assume they'll just work. It's always good to dig up unexamined assumptions.


CSS does the TeX logo. (Your browser should allow you to turn off my style sheet; do that and look at this paragraph again.)

Tuesday, 8 January 2002

# 11 PM

I got this fortune tonight at a Chinese restaurant:

You can depend on the trust of the collective.

# 1:45 PM

More fun with CSS

Redid the layout again, this time with position: absolute. This lets me put the links at the bottom of the HTML source, where they don't interfere with adding new entries or with people reading without CSS. It should also be a bit more robust. Floats have this nasty habit of deciding to shift around, often leaving a long trail of yellow background behind.

CSS, it seems to me, has serious issues apart from the sea of browser bugs. A lot of the tools one would want in order to control layout are either missing or don't work the way you would expect. For instance: there is no way to measure the total displayed size of a box. You only get the size ignoring all padding and borders. There's no way to specify "the width of the display less N pixels." There doesn't appear to be any way to say "put this below all other boxes on the page, even the ones with absolute positioning" unless you know all the box heights. (This last is why there isn't a link to the HTML validator at the bottom of the page anymore.)

Geopolitical ramblings

Several of my friends are Indians, and they are understandably nervous over the recent tensions between India and Pakistan. Last week in conversation Sumana argued that the partition of India should never have happened: the Hindus and Muslims had gotten along just fine living in the same country for centuries. When the British rubbed their collective noses in their differences by insisting on partition, however, everything blew up.

This is not a position which would ever have occurred to this white boy. I can't even evaluate it for historical accuracy: who originally suggested the partition, what was their agenda? Is it legitimate to blame the British? However, if we look at some of the other places where there's a conflict between ethnic or religious groups, we see that it's often over a partition line, existing or proposed. Israel versus Palestine, for instance, fits the exact same pattern as India versus Pakistan: continual conflict over the location of a partition line between two religious groups, who have historically been able to get along in the same country. You might even be able to blame the British again.

Looking farther, you can easily find situations that don't match the pattern along any number of axes. In the former Yugoslavia, the ethnic groups involved in the conflict didn't get along to begin with; the Communist Party managed to suppress the conflict, but only through totalitarianism. In Turkey, the Kurds are genuinely oppressed; partition is one proposed solution. In Bangladesh, political tensions with India are no worse than between other rival countries (although there seems to be some feeling in India that Bangladesh might side with Pakistan if it came down to choosing sides). Czechloslovakia split in half with hardly a murmur.

So what we have, it seems to me, is a topic for some serious historical research. Can we support an argument that partitions of countries along religious or ethnic lines do more harm than good? Can we suggest alternate techniques for dealing with this sort of conflict?

# 11 AM

This is the first entry written before noon.

Yesterday we had an episode of our Shadowrun campaign. I was specifically asked to make it combat-heavy since Dan would be joining us, and his character is a combat monster. (The game normally includes very little combat; none of us are that interested in sitting around rolling dice for hours to find out who has a sucking chest wound.) I did my best, but somehow the first four hours of the session involved no fighting at all, and when they did get into a fight it was over almost instantly.

I'm cursed with PCs who insist on planning beforehand, you see, and believe in not attracting attention. And when faced with a serious threat, they retreat rather than endanger the mission. This puts a damper on "blow things up good" sessions.

Still, it beats hell out of the game I was in in 1994, where we never did anything but blow things up good.

Monday, 7 January 2002

# 1 PM

Last month we had an endless flame war on the gcc development lists about an obscure corner of the C standard. This month, we had another endless flame war about a different obscure corner. That one was just calming down, when guess what happens? Some troll re-starts the argument we had last month!

Sunday, 6 January 2002

# 11 PM

Fun browser fact: If you put the document type declaration for strict HTML at the top of your webpage (this means you solemnly promise not to use any deprecated markup) then Mozilla will ignore your style sheet unless the web server gives it the proper MIME type.

# 10:30 PM

I taught Shweta how to read Usenet. She taught me how to make curry. I think I got the better deal.

This is how I get my MP3 collection: someone mentions a song on some newsgroup I read, and I curiously download it, add it to the xmms playlist, listen to it once, and (unless I can't stand it at all) leave it there and forget about it. Usually it's random anime theme music (yeah, I'm an otaku, I admit it) but for some reason I seem to have picked up TISM's song Choose Bad Smack. (Think Monty Python does Trainspotting.) It's playing on my stereo right now. The disturbing part is, I'm tempted to go buy the album.

Half the fun of weblogging seems to be looking up appropriate hyperlinks for all the things I mention. Do I pick Pythonline or montypython.net to use as a reference for Monty Python? It's a beautiful excuse to spend hours surfing websites I normally wouldn't go anywhere near...

# 4:45 PM

Further cat-vacuuming

I've rewritten the markup of this web page to use cascading style sheets rather than the old hairy nested tables. It's a huge improvement, both in terms of how easy it is to write new entries, and how robust it is against browsers that don't understand the spiffy markup. For instance, the date and time markers are now called out by <h2> and <h3> tags, instead of being table cells. This makes far more structural sense, is easier to type, and if you shut off CSS entirely, it still looks halfway decent.

Having said that, it doesn't work quite the way I'd wanted. The most visually obvious problem is that the yellow block at the left is supposed to be a column as tall as the right column. I haven't found any way to do that. Also, the links have to appear in the source before the content. This is suboptimal for editing, and if you're here with a browser that doesn't do CSS, you have to scroll past the links to get to the content, which is annoying. Suggestions for improvements are welcome.

Saturday, 5 January 2002

# 6:40 PM

Someone else has packaged QMTest for Debian, so I don't have to. This is good.

After hours of effort I still don't have new caption text for What's Going On. This is bad.

The mechanic says my car doesn't need anything replaced. This is good.

On the whole, a good day.

# 12 PM

I've spent the past six hours or so attempting to clean up a bunch of images of text in a font I can't assume people have on their web browsers. These were mistakenly created using Photoshop with anti- aliasing on, and saved as color JPEGs with background set to approximate the background of the web page. All of this is of course the Wrong Thing. They should have been created in non-antialiased black and white, then saved as black and white transparent PNGs. But it's too late for that now, I have to get to black and white transparent PNGs - somehow - from what I've got. Much dinking around with pnmtools has produced things that look more or less crap, but never actually good.

I think I'll go to bed, get up tomorrow (damn, it's already tomorrow. In the morning, then), and see if I can persuade my home box to load up the weird font ("Comic Sans MS") and then I'll re-type all of these things. I'm sure it'll be easier. Lots of people seem to be able to get XFree86 to play with TrueType fonts.

Friday, 4 January 2002

# 2:20 PM

I'm going to Minicon. The time has come to make airplane and hotel reservations.

It costs US$666.00 for two people to fly non-stop from San Francisco to Minneapolis. If you're willing to make a connection through Denver it goes down to $476.

Flying out of Oakland (much closer to Berkeley, my home town) is approximately twice as expensive, and you have no choice but to make connections. These connections involve airplanes with model names like "Fokker 100 Jet."

You might think taking a train would be cheaper, but it isn't. It costs $646 for coach fare and an additional whopping $1684 to upgrade to a sleeper cabin. You need a sleeper cabin, because the train takes three days each way. And people wonder why Amtrak doesn't make any money.

# 1:30 PM

Everyone has a weblog these days, why not me?

It's somewhat disturbing just how much time one can waste trying to write "clean" HTML. After an hour and a half, I'm declaring this bastardized version of the Electrolite template Officially Good Enough. Next, I spend a day or two vacuuming the cat writing clever scripts to generate updates.

Other entertaining discoveries for today include:

Why yes, I am repackaging software. QMTest, specifically.