A funny little tech moment

slaniel | Uncategorized | Sunday, October 30th, 2005

I was out at lunch with coworkers on Friday, shortly before Fitzgerald released the indictments. As we were walking back to work, one of my coworkers received the text of the indictment on her Blackberry. But she received it as a TIFF, because apparently that’s how it was initially scanned in. She got upset about that for a minute. We kept walking back. Within a block or so, someone else had emailed in response to the TIFF with a raw-text version. We started walking more slowly as she read (“Beginning on or about January 20, 2001, and continuing through the date of this indictment, defendant I. LEWIS LIBBY, also known as SCOOTER LIBBY  . . .  blah blah blah”), and within a few blocks we knew the gist.

There are days when I find technology just remarkable. And it’s certainly the case that we hardly pay attention to some of the Net’s wonders anymore. For instance, it’s only within the past few years that 90% of factual questions can be answered with 5 seconds of Googling. And it’s certainly only been since my senior year of college or so that you’d expect most people to have cell phones; nowadays, in the urban areas where I tend to spend my time, literally 100% of the people I talk to have them. Likewise, if I run into five people between now and my death who don’t use email, I’ll be surprised.

Even in little ways, the impact of technology has been profound. When I was a kid, if I wanted to see photos of naked women, I had to steal them from the convenience store down the road, or sit in front of the TV at 1:00 in the morning, squinting to see anything through the scrambling. Today’s kids, unless they’re uneducated about what’s out there, can spend just a few moments on Google and get a firehose of porn delivered to their screen. Even as of 1993 or so, I had to surf around alt.binaries.supermodels, find emails entitled (for instance) “Cindy Crawford video (part 1 of 12),” download them patiently, cut out the text parts, paste them all together into one, then use uudecode to convert the ASCII-encoded text into MPEGgy bliss. All over a 2400-baud modem. “In my day, we had to work for our porn  . . . ”

In some ways I wish this change had happened literally overnight: one day we’d be using landlines, forced to make plans for that evening’s events, and the next day we’d be in today’s mode of “Don’t worry, just call me when you get there.” One day we’d be curious when the Library at Alexandria burned, and would be too far away from the library to answer that question quickly; the next day we’d ask the Wikipedia and be guaranteed to get an answer. Hell, for that matter one day we’d have to pay for an encyclopedia; the next day, that thought would be almost unthinkable.

But since all of this didn’t happen overnight, it doesn’t leave us as breathless as it should. Maybe one day we’ll wake up and notice that all the world’s knowledge has been digitized, catalogued, and made available for free, and finally feel some awe.

Taking a break from Ulysses

slaniel | Uncategorized | Sunday, October 30th, 2005

I had a really pleasant afternoon visiting Politics and Prose on the advice of a coworker. It’s basically in the middle of nowhere — a mile up Connecticut Ave from the nearest Metro stop — which may explain why the average age of the bookstore patrons was something like 65; I suspect that Kramerbooks and Afterwords, just because of its proximity to Dupont, will always have a younger clientele.

Anyway, Politics and Prose was nice. Half of the first floor is devoted to nonfiction, most of it with a (duh) political tinge; the other half is a really good fiction section. The basement café is cool, with a couch where I spent a few pleasant hours not reading Ulysses.

I’m within 150 pages of the end of Ulysses, and it’s settling down to something resembling clear prose — though the tone is fairly drunken/sleep-addled, as Bloom and Dedalus approach the end of their evenings. In the midst of their sleepiness, Bloom tries to get Dedalus to talk about religion — Bloom the cold-headed scientific thinker, chatting with Dedalus the poverty-stricken philosopher. It’s funny to watch Dedalus try, through the fog of his drunkenness, to explain why the soul is necessarily free of corruption, because St. Augustine tells us that “simple” substances — those that are basic, and not reducible to more “atomic” ones — cannot be corrupt. Or maybe the “proof” says that the soul must be simple, because it’s not corrupt. Something like that. But watching the drunk Dedalus and the merely sleepy Bloom chat about this is funny.

However, it’s a tough slog. I’ve been trying and failing for a few weeks now to read it on the train, but I can’t bring myself to drag the book and the (required) annotations out of my backpack every day; when you’re standing, one arm holding the pole, and moreover your brain hasn’t fully clicked on, Ulysses is just not the right book.

So today I splurged and bought two books that I know I’m going to want on my shelf: Macbeth, and Saul Bellow’s More Die Of Heartbreak. My parents also lent me a copy of James Frey’s A Million Little Pieces, which I started reading and which looks like I’ll never be able to put it down once I get into it.

More Die Of Heartbreak is classic Bellow, with some nods to Love In The Time Of Cholera and Pnin. Like Love (and Midnight’s Children, which is in many ways its heir), it’s based on the premise that you can’t understand where your characters are now unless you understand almost everything about where they came from; at every chance, Bellow tips his characters over, rummages through their pockets, finds a little black book in there, reads through it, and fondly remembers the girls in it. Like Pnin, it finds something charming in absentminded Russian professors. Like Bellow’s earlier books Mr. Sammler’s Planet and Herzog, it’s exasperated by modern life, but maybe leaning more toward irritation than Sammler’s horror and Herzog’s fatigue. More Die of Heartbreak is also more straightforwardly about love, and about the awful contortions we put ourselves through for it. And it’s about the modern world’s focus on the genitals, the loss of courtliness, and the sometimes humorous position that this loss puts chivalrous men in. I’m only 50 or so pages in, but already it’s classic — hence brilliant — Bellow.

Forbes on blogs

slaniel | Uncategorized | Saturday, October 29th, 2005

Forbes’s attack on blogs is laughably bad. It’s not even worth attacking, given that it’s only a slight rework of mid-1990’s anti-porno hysteria. Just as the web is a medium that may be used to push porn, so blogs are a medium that may be used to push slander. It’s a medium that carries certain features which phones lack, among them anonymity and the ability to broadcast to a wide audience cheaply. But it’s just a medium, along with a set of technologies to make publishing in that medium easier. That’s it.

So rather than link to the Forbes story, which doesn’t deserve the Google cred, I’ll link to BoingBoing’s discussion of it and the EFF’s quite nice parody: the British government in the 1700’s would have said similar things about pamphleteers like Ben Franklin and Thomas Paine.

There is an interesting question buried in the article, though: in attacking blogs that dispense unfounded rumors, it says, “even the Constitution doesn’t give a citizen the right to unjustly call his neighbor a child molester.” Which brings up a good question: where’s the line between press and individual now that individuals form the press? If I call you a child molester to your face, or even start spreading a rumor about it, that’s one thing; if I tell the New York Times about it on deep background, that’s another; if I’m a journalist and I print it in the Times under my own byline, that’s a third. Presumably some of these would subject me to charges of libel.

Now what if I publish these on my blog? I’d assume that the answer depends in part on whether a large number of people read my blog; Glenn Reynolds and Josh Marshall are — or at least should be — subject to more stringent standards than I am. It’s the difference between standing at a lectern, broadcasting my accusation to my local Elks Club, and saying it on NBC Nightly News.

These are all issues that we’ll need to think more about. And they’re issues that Forbes completely fails to address. They’re much more interesting topics than the fear-mongering that Forbes dishes out in its article.

The indictment

slaniel | Uncategorized | Friday, October 28th, 2005

Other people will have 5,000 different analyses of today’s indictment; if the recent flurry of unfounded speculations is any measure, 6,000 of those analyses will be false. I’d just like to add one question into the mix: having read the text of the indictment, I’m baffled: Libby put words in Tim Russert’s mouth, asserting that Russert had told him about Plame’s employment by the CIA. He said this under oath to a grand jury, and to the FBI.

Now, if you’re Libby (or as the indictment calls him, “Libby”), don’t you realize that the investigation’s next step will be to ask Russert and others whether this is true? Russert is presumably not going to take the fall for this. So aren’t you aware that the lie is going to be revealed for what it is? Why would you leave yourself open to a huge charge like lying to a grand jury? Is it because you believe that telling the truth to the grand jury is going to lead to worse consequences somehow? Do you believe you’re not going to get caught? The mind reels.

P.S.: Chris gives what is probably the right answer.

Finding the IP addresses of my interfaces

slaniel | Uncategorized | Thursday, October 27th, 2005

I’d like to find a UNIX-portable way to determine the IP addresses of all the interfaces connected to my machine. My first thought was to look in /etc/ifstate, look at the interfaces defined in there, then correlate what I find with the output from ifconfig. Unfortunately ifconfig’s output is less than consistent (sometimes it says “ip 192.168.1.101,” and other times it says “ip addr 192.168.1.101,” among other differences). And /etc/ifstate may be a Debian idiom, because it doesn’t seem to exist under Gentoo or FreeBSD.

But all of that was a bad idea to begin with, because it’s basically screen scraping for something that every machine could probably tell me with a few system calls.

So: if I find a Perl function that will give me this information, I’ll include it here. If someone beats me to it, feel free to comment.

P.S.: The debian-user people chimed in, though the most informative comment — from Almut Behrens — isn’t yet in the archive. I include it below the fold. Moral: it’s unlikely that this is portable. Which is ridiculous, if you think about it.

(more…)

Working at my hobby

slaniel | Uncategorized | Thursday, October 27th, 2005

I’m living a pretty fookin’ charmed life right about now: the work I do for pay (for good pay, at that) is what I’d be doing in my spare time. (Proof that I do this shit in my spare time: 243 posts about free software, out of 2,776 in total.)

Life is good.

Running commands remotely

slaniel | Uncategorized | Thursday, October 27th, 2005

I had occasion to execute a bunch of commands on a bunch of remote machines, and I had to do crap like this in Perl to make it work:

my $commandsequence = “one command; another command; \ some stuff inside backticks“; my $remotemachine = “someMachineName”; my $retVal = system( “ssh $remotemachine $commandsequence” ); 

This has all kinds of problems, including escaping the backticks and suchlike the appropriate number of times. It becomes unmanageable as the number of commands in the sequence grows larger.

So I wrote a little script to make this a bit easier. Now just write a separate program that you want to run on a remote machine — let’s say it’s examplescript.sh — and then run

remoteexec.pl someMachineName examplescript.sh 

The only mildly innovative part of remoteexec.pl is that it creates a temp file on the remote machine — which is guaranteed to be unique and not overwrite any pre-existing files — then shoves examplescript.sh into that temp file. It executes the temp file (with basically minimal permissions — read and execute for the current user), then deletes it.

This problem has probably been solved more generally by someone else, and more elegantly, but there you go.

Hastert’s blog

slaniel | Uncategorized | Thursday, October 27th, 2005

I’ve decided that I love Wonkette. On the subject of Denny Hastert’s new blog, she (they?) writes:

There is, we admit, something hypnotic about Hastert’s deadpan delivery of allegedly important dispatches from his cranium; somehow the one-two punch of “I’m excited. This is the future” has us unfortunately contemplating the kind of terse randy talk that must accompany the Speaker’s foreplay, e.g. “Baby, yes. I would like to sex you up.”

The UNIX 0 return code

slaniel | Uncategorized | Thursday, October 27th, 2005

Here’s a question for the UNIX historians among you: why is a ‘0’ return code from a program considered success, when everywhere else in the world a ‘0’ is considered ‘false’, hence normally failure? If you want to indicate that your command failed in C, my sense is that common practice is to return 0. Then the caller does a test like

if( !open( ... ) ) { } 

which is equivalent to

if( 0 == open( ... ) ) { } 

So why does UNIX invert this, when UNIX and C were invented by the same people?

Miers has withdrawn

slaniel | Uncategorized | Thursday, October 27th, 2005

Wow.

P.S.: As my friend Adam points out, Charles Krauthammer predicted exactly this outcome, including Miers’ withdrawal under the pretense that executive-branch documents much remain confidential. His (Krauthammer’s, not Adam’s) article is below.

(more…)

Smoke-free D.C. by 2007

slaniel | Uncategorized | Thursday, October 27th, 2005

One of the most jarring parts of moving to D.C. — and the move, I must add, has been just about as un-jarring as possible — is the presence of smoke in bars. Most anywhere else I’ve hung out in the States in recent years has been smoke-free. It’s bizarre to come back from a night on the town and feel like I have to take a shower before I go to sleep.

Which is why I find it encouraging that the District may be smoke-free by 2007.

P.S.: Though my libertarian side does recoil. If lots of people really want smoke-free bars, why don’t smoke-free bars spring up?

“Which daemons run at startup?”, UNIX portability department

slaniel | FreeBSD; UNIX | Thursday, October 27th, 2005

It seems difficult to answer a simple question in various Unices: “If I were to reboot the machine right now, which daemons would run?” Under those Unix versions which use System V-style init scripts, you’ve got a lot of scripts sitting under /etc/init.d, and then a set of “runlevels” numbered 0 to 9 sitting in /etc/rc[0-9].d with links to the /etc/init.d scripts. So in the worst case, to figure out which scripts would run in SysV, you’d find all the symlinks under /etc/rc[0-9].d that point to /etc/init.d. Those would be the ones that would run at startup (modulo some technicalities, such as that runlevels 0 and 6 don’t apply to startup). It’s a little ugly, but I think it works. (Though I’ve been unable to get the find command to work properly with the /etc/rc[0-9].d symlinks.)

FreeBSD is a little smarter. All the init scripts are in /etc/rc.d/* and /usr/local/etc/rc.d/*.sh, and you can use rcorder to figure out which ones will run in which order. So you could do

rcorder /etc/rc.d/* /usr/local/etc/rc.d/*.sh

with the tiny note that scripts which shouldn’t run at bootup are labeled with the nostart tag. So to really make this work, you’d replace rcorder above with rcorder -s nostart. But I think that’s all you need to do.

Now if only I could find a single command for SysV init scripts that is as straightforward as rcorder. Debian’s (and possibly other distros’) invoke-rc.d command seems close to what I need; it tells you (when called with the proper arguments) whether a particular command would run under the current runlevel. So something like

cd /etc/init.d for i in *; do invoke-rc.d --query $i start; done

seems close. But it only seems to apply to the current runlevel; I’d like to know how to query whether the daemon would start at all on bootup.

P.S. (28 Oct 2005): As it turns out, what I’m looking for is something like Gentoo’s rc-status command.

P.S. (28 Oct 2005): See also Apple’s launchd. Seems pretty cool.

Budget cuts after Katrina

slaniel | Uncategorized | Wednesday, October 26th, 2005

So  . . .  Republicans wouldn’t even think of rescinding tax cuts? Without having the numbers in front of me, I’m certain that the tax cuts amount to more than the social programs they’re cutting. Pathetic.

(Via Wonkette. Thanks to Adam Gerard for pointing me to her. She’s particularly good for me, since she seems to mix politics and D.C. news.)

Wilson the publicity hound

slaniel | Uncategorized | Tuesday, October 25th, 2005

Is the Washington Post channeling White House PR? If Democrats don’t stick to their guns and repeat over and over that the man’s credibility is not relevant in the least here, they have failed. The only question is this: who revealed the identity of a CIA agent? What’s the accepted legal punishment for that? Anything else is window-dressing, and I fear that the Post has gotten caught up in it.

Wikipedia architecture

slaniel | Uncategorized | Tuesday, October 25th, 2005

As you might expect (but which didn’t occur to me until my boss pointed it out), Wikipedia has a detailed schematic of their hardware and software configuration, down to specific details of where NFS is mounted. (They’re using NFS, which is interesting.) Very cool. This seems like a good place to research the sort of work I’ll be doing soon, namely setting up multiple database servers, multiple application servers, multiple proxies, and so forth.

Standards for inclusion in the Wikipedia

slaniel | Uncategorized | Tuesday, October 25th, 2005

Can someone explain how Fisting, Cock Stuffing, the donkey punch, and the dirty Sanchez are uncontroversial topics for inclusion in the Wikipedia, but somehow Fitzmas is up for deletion?

George Will on Harriet Miers

slaniel | Uncategorized | Tuesday, October 25th, 2005

For the first time in maybe five years, George Will and I agree.

(Included below the fold.)

(more…)

Macbeth

slaniel | Uncategorized | Tuesday, October 25th, 2005

I feel embarrassed to admit that I’ve never read or seen Macbeth. But damn:

MACDUFF
I have no words:
My voice is in my sword: thou bloodier villain
Than terms can give thee out!

They fight

MACBETH
Thou losest labour:
As easy mayst thou the intrenchant air
With thy keen sword impress as make me bleed:
Let fall thy blade on vulnerable crests;
I bear a charmed life, which must not yield,
To one of woman born.

MACDUFF
Despair thy charm;
And let the angel whom thou still hast served
Tell thee, Macduff was from his mother’s womb
Untimely ripp’d.

MACBETH
Accursed be that tongue that tells me so,
For it hath cow’d my better part of man!
And be these juggling fiends no more believed,
That palter with us in a double sense;
That keep the word of promise to our ear,
And break it to our hope. I’ll not fight with thee.

MACDUFF
Then yield thee, coward,
And live to be the show and gaze o’ the time:
We’ll have thee, as our rarer monsters are,
Painted on a pole, and underwrit,
‘Here may you see the tyrant.’

MACBETH
I will not yield,
To kiss the ground before young Malcolm’s feet,
And to be baited with the rabble’s curse.
Though Birnam wood be come to Dunsinane,
And thou opposed, being of no woman born,
Yet I will try the last. Before my body
I throw my warlike shield. Lay on, Macduff,
And damn’d be him that first cries, ‘Hold, enough!’

Exeunt, fighting. Alarums

Libby got it from Cheney

slaniel | Uncategorized | Tuesday, October 25th, 2005

People don’t seem to be making a huge deal of it, but it appears that Scooter Libby learned about Plame from Dick Cheney. (Via Talking Points Memo and Washington Monthly, inter alia.) Cheney, in turn, got it from the head of the CIA, after he (Cheney) asked George Tenet (head of the CIA) for information on Joe Wilson. Presumably he asked for that information because he wanted to find ways to smear Wilson.

So the vice president may have been using the nation’s foreign-intelligence service to dig for dirt on a political opponent. I hope I’m not the first to have noticed the similiarities to Watergate.

I’ve gotten too hopeful about the Plame situation before now, but it just seems to be climbing higher and higher. Combine that with Fitzgerald’s further digging into the initial cause of Wilson’s editorial — namely the forged Niger documents — and it seems as though this is turning into something very big. At the very least it looks like it may be a perjury charge for Libby.

I would also like to name “Fitzmas” Coinage Of The Year.

P.S.: “See Dick resign.” How lovely would that be?

Clemens isn’t getting the love

slaniel | Uncategorized | Sunday, October 23rd, 2005

I’m watching game 1 of the World Series right now. I want Chicago to win — just because they’ve been playing well all season, and because they seem due — but I also have come into this Series with a lot of respect for Roger Clemens. That respect has been tempered somewhat by reading Bill Simmons’s article “Is Roger Clemens Really The Antichrist?”, which is available behind a paywall on ESPN but has apparently also been cached. (And I include the cached copy below.)

So I’m actually enjoying it more than I expected to when I see that Clemens is having some real trouble out on the mound. 2 outs into the second inning, Clemens has already allowed 3 runs, including a homer. Before the inning is over, there’s a good chance he’ll allow a fourth. Maybe he’s finally wearing out?

Of course  . . .  he’ll probably win an eighth Cy Young this season. So I’ll just stay quiet.

P.S.: The Fox “Diamond Cam” is officially the world’s most worthless camera angle. I can prove this using Science.

(more…)

Next Page »

Bad Behavior has blocked 845 access attempts in the last 7 days.