Ex Bibliotheca

The life and times of Zack Weinberg.

Saturday, 22 March 2003

# 2:15 AM

fun with emacs

(goto-char (point-min))
(while (re-search-forward
        nil t)
  (let ((day   (match-string 2))
        (month (match-string 1))
        (year  (match-string 4)))
    (setq month
          (catch 'found
            (dotimes (i 12)
              (if (equal (elt months i) month)
                (throw 'found (format "%02d" (+ i 1)))))
            (error "Not a month: %s" month)))
    (when (= (length day) 1)
      (setq day (concat "0" day)))
    (replace-match (concat year "-" month "-" day) t t)))

That's a global search and replace operation which turns strings of the form "Fri Mar 21 23:12:33 CET 2003" into "2003-03-21". Or, functionally speaking, it converts all the entries in a GNU change log from the old datestamp format to the new one. It would be easier to read if Emacs didn't use such a backslash-heavy regular expression notation. The same construct in Perl's notation would be ^\w+\s+(\w+)\s+(\d+)\s+[0-9:]+\s+(\w+\s+)?(\d+), which is just so much nicer. Perl does have language-level notation that means you don't have to double all the backslashes, but there's nothing preventing the Emacs people from adding something similar, so they don't get any slack on that score.


Seth has a nice chewy post on the subject of preaching to the choir, specifically, how hard it is to reach people about copyright, DRM, etc when they haven't already got a stake in the issue. This is also a problem I've noticed over in war-protest land. It is really hard to know if any of the political agitation going on has any impact whatsoever on people who didn't already care. And it's the people who didn't already care, the majority of American citizens who don't bother to vote, that any credible political movement has to reach. Unless of course the movement likes the status quo, but then you can hardly call it a movement.

rambling on,

Seth goes on to talk about how he sees it as a problem that the majority of computer users have neither the ability nor the desire to program. You might wonder, why would they want to? And I point at the above script fragment. I banged it out in fifteen minutes. If I'd tried to do what it does by hand, it would have taken me an hour of unpleasant, tedious effort and probably caused a bout of tendinitis. Further, having written that, it goes in my Emacs configuration and I never have to think about it again.

That particular fragment is not of use to anyone but a GNU software maintainer. But I've seen "ordinary users" encounter very similar problems, and have to solve them by hand because the program couldn't be scripted — because scripting is just too complicated and scary to bother with, right? I saw someone number the pages of a 200-page yearbook by hand, clicking through the same five dialog boxes for every page, because he couldn't find any other way to do it.

The point being, the utility, the entire point, of a computer is that it can be programmed, and the environments built on top of computer hardware are more useful in proportion to how programmable they are. Being able to script my text editor translates directly to me getting more stuff done and losing fewer sanity points doing it.

The point most definitely not being that everyone should sit down right now and learn Emacs Lisp. It, and most other extant computer languages, are just, well, ugly: arcane and confusing and I don't blame people for not wanting to understand them. There is a level of intrinsic complexity involved, but if people are willing to go that far, the computer should come meet them there. (Not that I have any idea how to make it do that.)

Wednesday, 19 March 2003

# 3:35 PM

It has been clear for some time that there would be war between the USA and Iraq. And yet, I was holding out hope that some sort of miracle would happen. It was possible, for instance, that I would have woken up today to find that Tony Blair had lost a vote of confidence and resigned. That might have gotten someone's attention. But instead we find that (despite a backbencher revolt) the House of Commons voted to support UK participation in the war by a substantial majority. Attempts in the US Congress to withdraw support for war have not even gotten off the ground. And media-reported polls hover around 65% support for war among American citizens.

The war itself is not really the problem, anyway. The problem is the absence of a credible, principled left in the states. In this light I shall quote this article by George Lakoff:

First, the anti-war movement, properly understood, is not just, or even primarily, a movement against the war. It is a movement against the overall direction that the Bush administration is moving in. Second, such a movement, to be effective, needs to say clearly what it is for, not just what it is against.

George being George, he takes an awful long time to come to the point; you'll find that paragraph near the bottom of the article. Justin Raimondo is a better rhetorician: his article on the same subject dispenses with analysis (which is interesting and all but frankly will bore many readers to tears) and goes straight to the constructive suggestions:

Nothing is wrong with peaceful and legal protests on the day war breaks out, but the advocates of disruption who self-righteously howl "No business as usual!" and advocate illegal acts have got to be told off, in no uncertain terms. How dare they endanger the rest of us, and subject the organized antiwar movement to State repression at a fateful moment like this?! It's outrageous, and impermissible.

...We're going to war without having a real debate, either in the Congress or in the country: this is often said by the antiwar opposition. Well, then, instead of preaching to the converted, let's challenge the other side: I propose a series of town hall debates at which we confront the advocates of war, right and left, and expose them in full view of the American people.

If you dig through the sound and fury on the "backtalk" link on that page, you will find counterarguments to the above suggestion, along the lines of "why should anyone expect the war advocates to listen to debates?" Which I think is a valid criticism as far as it goes, but the point of such debates isn't to get the opponent to change his or her mind, it's to win support from the audience. And support from the audience — that is to say, the American people — is precisely what the antiwar advocates need. The former President Bush got his war in Iraq, but he didn't get a second term in the White House.

Timothy Burke echoes Raimondo with a couple zingers of his own:

Prudence, patience and planning are what's needed now. That's what has worked for the Republican grassroots: ever since Barry Goldwater's defeat, they've been organizing steadily, laying down deep connections with actually existing communities, thinking about what kinds of rhetoric carries water in the public sphere, and disciplining or ignoring errant nutcases and fringe elements. If you want to exact a price for this war, led in the way that it has been, you're going to have to be similarly focused.

Shifting gears a bit, Jon Carroll's column last week was about wearing "flowing ethnic garb" (the baban riga, which is the Nigerian equivalent of a business suit) around the city, and the reactions he got. Mostly rather disappointing:

A guy got out of a PG&E truck and walked across the street. "You're a brave man to be wearing that," he said.

"It's Nigerian," I said, feeling desperate.

"It's that Muslim thing," he said. "I wouldn't wear it outside."

So I want to suggest a quiet sort of protest in the classic Discordian fashion: Everyone go out on the street wearing clothes which originated with an ethnic community which is (a) not your own, and (b) looks vaguely Middle Eastern to the average yob on the street. For instance, I'll be wearing my sarong when I go out this afternoon. (Over my shirt and pants. It's cold out there.)

Monday, 10 March 2003

# 4:35 PM

I have a feeling that this deserves a fair amount of background research and several paragraphs of exegesis, but I don't have the time, so I'm just going to link it and let y'all form your own conclusions: An email from Dee Hock about the emergent democracy paper.

Sunday, 9 March 2003

# 6:10 PM

household cleaning notes

Soap scum comes off the side of the bathtub more easily when scrubbed down using a nonpolar solvent such as cheap cooking oil, than when water is used. I find a couple of tablespoons of oil, plus a couple shakes of chalk-based scouring powder, on a sponge, works quite well. (This trick courtesy of Brooks Moses.) It's not surprising; soap scum is basically nonpolar, and therefore more soluble in oil than water. The downside of this technique is it leaves a film of oil over the entire surface of the tub, but that comes off readily with a water-based grease cutting agent. Also, it's generally impossible to clean the sponge afterward.

Soap scum in thin layers appears to react with copper wool, producing a black smear down the side of the tub. I'm not sure what this stuff is. It is unlikely that the scum can oxidize copper, but it might be some sort of Cu0 complex ion. This effect can be seen as a feature; it makes it very obvious where scum is left after the copper wool has scraped away the thicker deposits, and one may then use the cooking-oil technique with a plastic scouring pad to remove it.

# 2:55 AM

For the first time in months the kitchen is completely clean. And so is the bedroom. Of course this means that the main room is hopelessly cluttered: desk, table, couch, and floor are all piled high with objects that don't seem to have a permanent home. I swear I don't ever reduce the entropy level of this apartment, I just move the mess around.

Friday, 7 March 2003

# 1:50 PM

deep hurting

Hello Kitty USB hub.

Hello Kitty responds to your keyboard motion by talking and moving! Type with Kitty! Keyboard action and sound function. Hello Kitty responds to the keyboard and mouse motion by moving herself! (Moves both arms and head) Hello Kitty will talk with you, along with the input motion of the keyboard. (Kitty is able to talk in both Japanese and English. The languages can be switched.) There is an English or Japanese manual available to you.

# 12:10 PM

Yesterday I turned twenty-five. Other than that it was an unexciting day. I did things like replace the windshield wipers on my car. There will be a party in a couple of weeks when everyone I know is not bogged down with work.

Worth reading: World of Ends: What the Internet Is and How to Stop Mistaking It for Something Else. (From BoingBoing.

Also, if you don't already read Talking Points Memo on a daily basis I encourage you to start.

Thursday, 6 March 2003

# 4:20 AM

things said on IRC

<pme>  Every time I read _Snow Crash_, I wonder what a GCC "room"
       in the metaverse would look like.
<zwol> Take an H.R. Giger painting, you know, with the perverse
       and insanely complicated biomechanical constructs.  Now, instead
       of being all shiny and new, make it old and rusty and overgrown
       with weeds.  Slimy weeds.

(Why am I still awake?)

Sunday, 2 March 2003

# 2:50 PM

Yesterday I hauled my speakers over to Vynce's house and we replaced the input jacks. These were allegedly standard RCA jacks, but they were just far enough out of tolerance that they did not make a reliable electrical contact. Now I don't have to wrap tin foil around the end of the plug to get sound out of the things (which never worked very well).

The speakers are KLH Model 20, which I believe were made sometime in the sixties; they were originally sold as part of an integrated hi-fi package. I don't know what became of the tuner and tape deck; I nabbed the speakers out of my grandparents' garage when they moved to Walnut Creek back in 2000. (Yes, I've been putting up with the bad jacks for three years now.) They normally hold up one of my bookshelves; right now that function is being served by a bunch of cinder blocks.

Saturday, 1 March 2003

# 8:50 PM

highly interesting, even as a zeroth draft

At v-2.org is an essay by Adam Greenfield entitled The minimal compact: An open-source constitution for post-national states. Read, form conclusions, send me mail with your reaction; I'm still contemplating.