Ex Bibliotheca

The life and times of Zack Weinberg.

Tuesday, 30 April 2002

# 3:45 AM


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

# 9: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?

# 1:45 PM

Cringe-inducing filkage.

# 1:15 PM

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.

# 4: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...

Thursday, 25 April 2002

# 3 AM

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

Wednesday, 24 April 2002

# 10 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.)

# 7: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.

# 3 PM

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

# 9:30 PM

Bad precedent.

# 1:30 PM

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

# 2:15 PM

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.

# 12:40 PM

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.

# 3:30 AM

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...)

Saturday, 20 April 2002

# 3 AM

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

# 1:30 PM

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

# 4: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

# 4: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.

Monday, 15 April 2002

# 2:45 AM

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

# 1:30 AM

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.

Sunday, 14 April 2002

# 10: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

# 8 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.)

# 4: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

# 5: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.

# 3:30 AM

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.

# 3:10 AM

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

# 8 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.)

# 7: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.

# 4: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

# 11: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.

# 3:15 PM

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.

# 2:45 PM

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?

# 3:30 AM

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.

# 12:10 AM

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.

Friday, 5 April 2002

# 4:30 AM

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?)

# 4 AM

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

Thursday, 4 April 2002

# 6: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

# 5: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

# 5: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.