April 2004 Archives

Humor

| | Comments (0)
I wonder if there is anyone else out there, besides me, who actually finds both South Park and Mark Russell funny. slashdot.org

Humor

| | Comments (0)
I wonder if there is anyone else out there, besides me, who actually finds both South Park and Mark Russell funny. use.perl.org

BPM

| | Comments (0)
I wanted to tap out a beat and find out how many beats per minute it is, and a quick glance turned up nothing too good for Mac OS X (though I am sure I'd seen something like it before); so, as I am wont to do, I wrote my own. Just run it in the terminal, tap out your rhythm. It only calculates for the last five beats (modify to your pleasure ...).

#!/usr/local/bin/perl
use warnings;
use strict;
use Time::HiRes 'time';
 
print "Hit '.' for each beat.  Hit '.' to start, and <enter> or ^C to end.\n";
print "Keep going until you reach about 10 beats, and are satisfied with the result.\n";
 
$| = 1;
my @times;
1 until getc();
push @times, time();
while (my $c = getc()) {
    push @times, time();
    printf "\rBPM: %d\n", ($#times * 60) / ($times[-1] - $times[0]);
    shift @times while @times > 4;
    last if $c eq "\n";
}
 
BEGIN {
    system 'stty', '-icanon', 'eol', "\cA";
}
 
END {
    system 'stty', 'icanon', 'eol', "\c@";
}

use.perl.org

Boston Championships

| | Comments (0)
At least one Boston team has won championships, in the four major sports, every decade since the 1900s, except the 1990s. And in onnly the 1970s did more than one team win a championship, when both the Celtics and Bruins won, two apiece.

(Note: I am using the common definition of "decade", which means the very first decade was from years 1 to 9, the second from years 10 to 19, and so on :-).

1903: Red Sox

1912: Red Sox
1915: Red Sox
1916: Red Sox
1918: Red Sox

1929: Bruins

1939: Bruins

1941: Bruins

1957: Celtics
1959: Celtics

1960: Celtics
1961: Celtics
1962: Celtics
1963: Celtics
1964: Celtics
1965: Celtics
1966: Celtics
1968: Celtics
1969: Celtics

1970: Bruins
1972: Bruins
1974: Celtics
1976: Celtics

1981: Celtics
1984: Celtics
1986: Celtics

2002: Patriots
2004: Patriots


What does this mean? That I should probably give up on the Bruins, Sox, and Celtics until 2010. :/ Of course, I won't. The Red Sox are far and away the best team in the majors right now, and the Bruins are very close to being able to compete for the championship (being the best regular season team in the Eastern Conference two of the last three years). Maybe they won't win in the end, but I'll enjoy it for the duration it lasts. use.perl.org

Apple Lossless Encoding

| | Comments (0)
This is WAY too slow to stream over my AirPort network, even with AirPort Extreme (although I don't have a lot of signal strength, and the non-Extreme computer on the network slows it down further).

I had been thinking about maybe using it to rip all my CDs. I still might, but it's just too big to use for streaming, and too new to rely on it for archives. use.perl.org

Kerry's Turn

| | Comments (0)
I've mostly defended Kerry from Bush's campaign attacks recently, so now it's time to turn it around a little.

I like John Kerry as a person, despite my disagreements with his politics, but I've always hated him when he is in campaign mode, when he embodies everything I hate about politicians and their partisan battles. He will say anything, no matter how obviously contradictory. He will manipulate and dissemble and lie through his teeth.

Case 1

This weekend, he offered an absolutely perfect example. He was at a pro-choice rally, and said that President Bush is unfit for office because he doesn't understand that "women's rights are just that -- rights -- not political weapons to be used by politicians in this nation." He asks everyone listening to forget that he is a politician, in this nation, using women's rights as a political weapon, while he condemns his opponent for supposedly doing the same thing. And also to forget that Bush and his campaign really haven't spent much time talking about abortion to begin with; Kerry uses women's rights as a political weapon a lot more than Bush does.

It's classic Kerry: take a point that is either minor, or completely made up, attack your opponent for it, pretend you don't do the same thing, and then feign innocence when attacked for it. Then, use their "unwarranted" counterattack on you as justification for even more aggressive attacks.

Case 2

Don't understand what I mean? Turn your attention to the battles over military service. Right now, Kerry and his people are complaining that Bush's campaign is attacking his military service. The problem is that it is not really true, and to the limited extent it is true, Kerry did the exact same thing to Bush in February.

Basically, the RNC and some others close to the Bush campaign said Kerry should answer the questions about his service, and release his records. So, Kerry says Bush is questioning his military service. But if so, then Kerry questioned Bush's, too:

"It's not up to me to talk about them or to question them at this point," Kerry said of the accusations. "I don't even know what the facts are. But I think it's up to the president and the military to answer those questions."


That is all that the RNC did, that is the furthest the Bush campaign went. Some say, well, it wasn't the Bush campaign or RNC, it was talk radio, and other Republicans in Congress. Yes, and three months ago, it was the web sites and Democrats in Congress, not to mention the head of the DNC, who said Bush was AWOL. Again, the Democrats did it all first, and then whine when hit back in the exact same way.

And now Kerry is using the Bush counterattack on him as justification for direct attacks on Bush's military service. That's right, let it sink in: Kerry attacks Bush, Bush later attacks Kerry in the same way, and Kerry uses that to justify increased attacks on Bush. Machiavelli would be proud.

Case 3

This even extends to far less emotional issues. Kerry plans to help the economy and jobs by giving all American corporations a 5 percent tax cut.

Are you kidding me? Since when has Kerry been a supply-sider? Since when has Kerry not attacked supply-side economics?

Since the campaign began, of course. slashdot.org

Mac::Leak

| | Comments (0)
In Mac OS, one would get the data out of an Apple event AEDesc object by merely returning the dataHandle portion of the struct. It's a Handle object.

In Mac OS X, however, one must copy the data to a new Handle object.

So when porting Mac::Carbon to Mac OS X, I made the change, and didn't think about the fact that in Mac OS X, the caller would now be responsible for disposing the Handle object that was returned. Yikes. Memory leaks abound.

Most Mac::Carbon programs I use don't really stick around. Even when they do, such as with my happening script that sets my iChat status, the amount of data that was being leaked was pretty small. The name and artist of the current track, etc.

But then I added functionality to the script so it would change my iChat account icon to the album cover of the track I am listening to. So instead of 100 bytes or so, I was now leaking as much as 250K or so, every 10 seconds. That adds up pretty quick.

I have a temporary fix (manually disposing of the Handle object), but I need a more permanent solution. Matthias (original author of Mac::AppleEvents, MacPerl, etc.) gave me some good ideas, and I'll be working on it soon.

I think I'll use some XS tricks to make a new data type, XAEDesc, which will contain both the AEDesc and a Handle, so instead of creating a Handle each time, the data is transferred to and from the Handle in the XAEDesc. When the AEDesc is destroyed, its corresponding Handle will be disposed of automatically, like it was previously (by modifying AEDisposeDesc to also call DisposeHandle). use.perl.org

Another Caucus, Another Delegate

| | Comments (0)
Today was the Snohomish County Republican Convention and Legislative Caucuses here in Washington.

The Legislative Caucuses were the second phase of the Precinct Caucuses a month earlier: the delegates from the precincts in each district met to select the delegates to the State Convention. Our district has 22 delegates to the convention, and the number of people who both wanted to be a state delegate, and were either in attendance or had someone there vouch for them, was 21. And I was one of them. So, I'll be headed to Bellevue at the end of May (CmdrTaco, I'll need at least one day off, on Friday the 28th).

This is the second state convention I've been selected as a delegate to. I was a delegate to the Massachusetts convention in 2002 -- the one that selected Mitt Romney as the Republican candidate for governor -- though I did not attend, as my child had just been born. The different paths are interesting. In 2002, I was elected to the Republican Town Committee in 2000 (on the primary ballot; my name was alongside Bush's, along with 30-something others), from which the delegates are chosen. In 2004, I went through the precinct and legislative caucuses.

But in both cases, all I really had to do was show up, as there were more available slots than people to fill them.

Most of the day involved the Convention, where the delegates vote on the officials, platform, and resolutions of the county party. This ended up about as well and as poorly as I could have hoped: the leadership seemed to have little concept of how to run a meeting under Robert's Rules of Order (something that people in Massachusetts seem to be far more familiar with), but at least it was relatively short (a couple of hours, as opposed to previous Town Meetings in the aforementioned Massachusetts, that lasted several evenings). Indeed, there was imposed a time limit of 15 minutes of discussion per section; it predictably went over by quite a bit, but it prevented the discussion from going much, munch longer.

The voting for officials lasted mere seconds. The long part was going over the party platform, which is a nice but essentially useless document describing what the members of the party think on various issues. It is nothing more than a marketing piece, telling everyone what the party stands for. It's not like any elected official is ever held to the platform, after all.

And yet we spent all this time discussing banalities. If these were laws, I'd understand. But they are not laws, they are not binding. This is an actual excerpt (paraphrased from my memory, which surely makes the conversation seem a lot more reasonable than it actually was, which is ironic):

"Under Education, item 4, I move that, on line 56, we insert the word 'accurate' between the words 'on' and 'American,' so that it reads 'We support a re-emphasis on accurate American History and Civics."

"Seconded."

"Any cons?"

"I rise in opposition to this amendment. The problem is not so much that people are teaching inaccurate history, but that they are giving their opinions."

"I'd like to make a friendly amendment, changing the word 'accurate' to 'factual.' This emphasizes that teachers should give accurate facts, but also that they should stress facts and not opinion."

"Is that acceptable to the submitter of the amendment, and the second? [...] It is. Any cons?"


Ten minutes of this, just about this one word: what it should be, whether it was appropriate. I was looking around for sharp objects to drill a hole in my skull. This is indeed how I spent a part of my Saturday, and yes, I am bitter about it. As I said, the only saving grace was the time limitation. Not only the saving grace, but also the hope which kept the faith of the grace alive (as the convention was held in a church, I feel this language is especially appropriate).

My shining moment was when the chair called for discussion of a previous motion that had already been ruled out of order. A delegate had risen to amend the platform plank supporting the death penalty, and was ruled out of order because we had to go through the platform before entertaining motions to amend. So when the chair called for discussion, I yelled out a point of order, that the motion had been ruled out of order, and must therefore be re-moved if it is to be discussed, let alone voted on.

I felt so cool. But as this happened at the beginning of the process, it didn't diminish the bitterness to follow.

The convention had its crazies: the people who are just missing a little something. One was the woman who kept making the amendments as above (she had a half dozen of those). Those are the crazies who have been around awhile. Then there's the crazies who are just getting invovled, and are really excited, and think they can change things just by being energetic. Then there's the dude with the sword (I'll come back to him later). Then there's the 50-year-old man with a day's growth of beard and disheveled hair who was wearing a nice, neat, classic, red wool dress.

Moving along ...

We also listened to various candidates for office. There were three challengers to Rick Larsen in the U.S. House, three to Patty Murray in the U.S. Senate, two for the state Attorney General position, one (non-partisan) for the state Supreme Court (it's so weird to have judges elected, especially at the Supreme Court level), and one for governor.

I've not made up my mind whom to vote for, of course. I liked George Nethercutt for Senate. He's the chap who knocked out Speaker of the House Tom Foley in the 1994 Republican Revolution, so you know he's got the chops to beat a popular liberal Democrat. He's the odds-on favorite to win the nomination, but I also liked his primary opponent Reed Davis, because he stressed the problems of high spending and deficits, especially at a time of tax cuts.

There was a third for the Senate seat, Gordon Allen. His claim to fame is that in his three previous campaigns, for the U.S. House, he spent a grand total of $830. For all three races combined. My time spent here, writing about him, is more valuable than that, so I'll move on.

For the House, I was not too impressed by the political aspirations of Glenn Coggeshell, the aforementioned sword dude (though he was entertaining), and Suzanne Sinclair seemed quite smart and competent enough. There was a third man I liked best, but I didn't get any of his literature (if he had any) and don't recall his name. Maybe I'll end up voting for the sword dude. I'd have to be crazy NOT to!

For Attorney General, I've heard the most about Rob McKenna, but he didn't show up. Mike Vaska did show up, and he was especially good. I liked everything he had to say, and he had a great way about him. Plus, one the guys working for him is former commander or something of the USS John C Stennis, and is endorsed by the state's governor from 1964-1976, Daniel J. Evans.

Then there's Dino Rossi for governor; the current governor, Gary Locke, is leaving office after two terms. I've heard a lot of great things about him, and he was an impressive speaker, though he was brief. I am eager to hear more from him, and I am sure I will over the next few months. That's one race I won't need to worry about slipping through the cracks.

See you after Bellevue ... slashdot.org
I wanted to create a bunch of windows, tabs, etc. and do things in them. So, I wrote this script. I run it when I am doing maintenance and refresh on useperl, and for some other sites.

It opens one window (terminal) in iTerm, then five separate tabs (sessions), preparing each one to do various things (ssh to a host, preparing to tail a log, etc.) and setting the name of the tab.

I normally set my session title with PROMPT_COMMAND in my environment, so I unset that env var and then set the name of the session with Mac::Glue.

It sleeps because it sometimes takes a few seconds for the unset to take, and if I set the name of the session too quickly, then it will get overwritten again. Another possibility would be to go through everything, then go back and set the session names on a separate pass.

waitforit() prints out a command and then waits for me to hit return, to execute it. I couldn't find a good way to tell iTerm to print the text and not execute it, so I execute perl on the host to do it for me. :-)

#!/usr/bin/perl
use warnings;
use strict;
 
use Mac::Glue ':all';
 
my $iterm = new Mac::Glue 'iTerm';
$iterm->activate;
 
my $prj = 'useperl' || shift;  # different for each project
my $nfs = "$prj-nfs-1";
my $db  = "$prj-db-1";
 
my $watchneg = ' | egrep -v "File does not exist"';
 
# first arrayref happens before the unset, second after
my %sessions = my @sessions = (
    Main    => [["ssh $nfs"], []],
    DB    => [["ssh $db"], ['mysql']],
    Ctrl    => [[], [waitforit(qq'$prj-control -d; $prj-control -p 5')]],
    HTTP    => [[], [waitforit(qq'$prj-watch $watchneg')]],
    slashd    => [["ssh $nfs"], [
        'cd /usr/local/slash/site/*/logs',
        waitforit('tail -f slashd.log')
    ]],
);
@sessions = grep !ref, @sessions;
 
my $term = $iterm->make(new => 'terminal');
 
for my $num (1 .. @sessions) {
    my $name = $sessions[$num - 1];
    my $sess = $term->obj(session => $num);
 
    $term->Launch(session => 'Default Session');
    $sess->write(text => 'ssh osdn');
 
    for my $cmd (@{$sessions{$name}[0]}) {
        $sess->write(text => $cmd);
    }
 
    $sess->write(text => "unset PROMPT_COMMAND");
 
    for my $cmd (@{$sessions{$name}[1]}) {
        $sess->write(text => $cmd);
    }
 
    sleep 5;
 
    $sess->prop('name')->set(to => $name);
}
 
sub waitforit {
    my($cmd) = shift;
    $cmd =~ s/'/'\\''/g;
    return "perl -e '\$c = shift; print qq(\$c: ); <>; system(\$c)' '$cmd'";
}
 
__END__

use.perl.org

Spam for Politicians

| | Comments (0)
For once, the spam is FOR the politicians, instead of FROM them.

'If I knew then what I know now'

ELECTION CANDIDATES - GET THE SECRET WEAPON

Our automated (and live) call centers are critical to your campaign success. 
PLEASE CALL *********** TODAY FOR MORE INFORMATION OR E-MAIL DIRECTLY ******@*******

THE PROBLEM:

Running for office is hard. You walk door to door, hand out literature, stand outside the stores and on top of all that, you have to make endless phone calls. To top it off, the day before election day, you try to call as many people as you can - AND YOU CAN'T. It's not easy...but we can help.

HARNESS TODAYS TECHNOLOGY:

Sit back and relax as ********** jump starts your campaign (or responds to attacks) by sending your voice message to your voters by phone for pennies per call. That's correct, whether you are running for state and federal office or seeking local office, we can help. In fact, we can call your entire phone list in a matter of minutes. Sound simple? Read on.

HOW IT WORKS:

Call ******** and ask for *********. In its simplest use, we take your phone list by e-mail (or we get it for you) and load the system with your voter phone numbers. then we develop a short script such as 'Hi this is Mary Smith, I'm calling to ask for your important vote tomorrow for me so we can work together to stabilize taxes and keep our town great. Polls are open from 7am to 8pm . Please vote. Thank you'. Our system calls you and you record YOUR message in YOUR voice.

*********** will then send this message out to your targeted list within minutes.

PLEASE CALL ********* TODAY FOR MORE INFORMATION OR E-MAIL DIRECTLY *****@*******

TO YOUR SUCCESS!

THE FOLKS AT *********


I wonder what they would do if you told them part of your platform was anti-spam, and that if elected, you would work hard to fine or imprison them? slashdot.org

More Music

| | Comments (0)
I'm working on my music room; I've recently rebuilt an old guitar (see before and after), adding all new pickups and electronics; I got a Yamaha digital piano; and now it's time to start actually recording music.

So far I've done a couple of new demos, Crossroads (to hear the guitar before and after, together) and a Randy Newman song, Political Science (so I could practice recording the piano and vocals).

I think I might re-record KLB (Known Lazy Bastard) next. use.perl.org

Die MLB.com Die

| | Comments (0)
I signed up, for $15, to listen to all the Major League Baseball games online, back on March 4. Shortly after this, on March 24, MLB.com announced a deal with Microsoft where they would make most content available only through Windows Media Player.

The short of it is that after I signed up, MLB.com changed the deal, and made it so I could only listen to the archived games -- that I paid for -- if I used Windows Media Player, instead of Real Player, as I had been doing.

This is called "customer service," where the customer is, of course, Microsoft, and not me. I am demanding my money back, of course. I hope many more people do the same. use.perl.org

Sunday Thoughts

| | Comments (0)
Kerry

Kerry was on Meet the Press this morning, and didn't really say anything new.

He still doesn't have much of a plan for the war in Iraq -- despite saying his approach would be radically different -- apart from "I'd be nicer to our allies and get them to help us." I dunno, that doesn't really go far to convince me he'd be different. But on the other hand: if he gets more specific, would that win him more votes, or does he pretty much get all the antiwar people already? Or maybe he is better off enumerating the specifics as we get closer to the election, since the situation will surely change significantly in the next several months?

But even his broad, inspecific plan has problems. He keeps saying the point is to get UN and NATO and allied support, that this is the main problem with how Bush went in; but that ignores the apparent truth that we wouldn't have gone in at all if we had waited for such support. The real political issue, I think, will come down to not how we went in, but whether we should have gone in. If we were right to go into Iraq, then whether or not we had support is insignificant. If we were wrong to go into Iraq, same thing. This is the one area where I think Dean would have made a more effective candidate against Bush, because he made this point fairly well. Of course, since Kerry supported the war, he can't really make that point, so he needs to make a much weaker point, that will convince far fewer people.

Kerry did own up to making mistakes in the early 70s, with his statements about the UN controlling US troops, and his attacks on the actions of US troops in Vietnam. He said he was young, angry, and said stupid things, and that as a Senator, he's never said, thought, or voted along those lines. As far as I am concerned, that ends the issue. But many people have much longer memories than I do, and hold grudges ... or are just looking for an excuse to beat up on Kerry.

He also came out in favor of Israeli actions against Hamas, moreso than Bush has. Bush basically says, Israeli policy is their own business, where Kerry said he supports the rights of the Israelis to defend themselves from terrorists like Hamas. I suppose, as a Senator, he has that luxury moreso than Bush does; it will be interesting to see if Kerry can grab the pro-Israeli, anti-Palestinian-terrorist, vote. I doubt it -- especially since Kerry even said he supported Bush's policies in regard to Israel, giving back settlement land, etc. -- but at least Kerry won't lose any ground there.

Now, Kerry is right when he says Bush is distorting his record -- I am not going to go over that $87b vote yet again, except to say Kerry is not answering the question well -- but he makes it sound like he hasn't distorted Bush's record. He tries to take the moral high ground, as though his side is shiny and pristine and the other has a bag full of dirty tricks. He's been distorting Bush's record since last fall, and he even when he's not, Media Fund or MoveOn is. Both sides do it. Get over it. I am not saying he shouldn't respond -- he should -- but to whine about it as though he is the victim is annoying and tiring.

One of Kerry's distortions -- said many times by him and other members of his party -- is that Bush's budget is deceptive because it relies on revenue generated by growth from tax cuts. But Kerry's budget promise -- to cut the deficit in half -- relies on the exact same thing. He dismisses this criticism with (essentially), "well, my policies will result in growth, and his won't!" Even if that were a reasonable response, it would be uninteresting, because it is merely predictive, and the whole point is therefore whether you believe Bush will create growth, or Kerry will, not whether one is being deceptive (similarly to his criticism over international support in Iraq).

And it is not a reasonable response anyway, not at this stage, because we are seeing significantly increased growth under Bush. The "misery index" (inflation + unemployment) is lower now (7.8) than it was in Clinton's last year of his first term in 1996 (8.0); unemployment itself is the same (5.6); unemployment peaked at a much lower rate (6.3) than the three previous recessions (1979 at 7.9, 1982 at 10.8, 1990 at 7.8); and since Bush's tax cut last May, the Dow and NASDAQ are way up, GDP and productivity and housing starts are very strong, and unemployment has dropped significantly while job growth is now looking quite good.

Surely, the economy is not where it needs to be, and you can play with the numbers to make it look like Bush is worse than these numbers make him look, or worse than he actually is. But two things are indisputable: since Bush's tax cuts last May we are doing significantly better, and most of the economic problems we see in Bush's administration were things that began, or were the inevitable result from conditions existing, before Bush took office (the stock market began "crashing" in 1Q 2000; the job market began contraction in the 3Q 2000; the recession was coming and could not have been prevented in the 1.5 months Bush was in office before it began; the shift to outsourcing and offshore manufacturing began many years before Bush and were exacerbated by the other economic conditions; etc.).

So we know Bush inherited a bad economy, and that since his economic policies were fully implemented, the economy has done better. That's not to say he's been perfect: I disagree with his high spending and budget deficit, and surely the Iraq war -- right or wrong -- slowed any potential recovery. It's fair to say those things have harmed the economy, but it is just as fair to say that his other policies have helped cause the gains.

When it comes down to it, people will judge the President, in regard to the economy, based on how well we are currently doing (using measures -- objective and subjective -- similar to the misery index, which is pretty good right now) and in what direction we are currently headed (which over the past year has been almost all positive). I don't think Kerry really wants to run on the economy, in the end. Maybe he's hoping the current trends will reverse before the fall.

Woodward

I just finished Bush at War (in audiobook), and now Woodward's got a new book coming out. He is one of the few people to whom I grant wide latitude, in terms of using anonymous sources, because he has proven himself reliable over the years. It will be interesting to read (or listen to[*]) what he's got to say.

I do find it interesting how much of a double-edged sword the book will be, as Woodward's books usually are (it's common for both parties to use different parts of the same Woodward book to make their case). So far we've heard much made, already, of a supposedly secret meeting Bush had with Rumsfeld, about two months after the 9/11 attacks, telling him to start pulling together a plan to go after Iraq. I don't know if this proves any point in particular, but people are attempting to make it sound like it does. We'll see.

And then there's Woodward's telling of a meeting where Bush expressed doubts about the case the CIA was making that Hussein had WMD, and Tenet saying the evidence was a "slam dunk." It strikes directly to the heart of the one of the primary claims by Bush-haters that Bush ignored and even distorted the evidence of the CIA to make his case for war. I think, frankly, that this may put the final nail in the coffin of that idea, which never had much evidence supporting it to begin with.

I am drawing no firm conclusions, though I am obviously leaning in certain ways. But it seems the question should not have been whether Bush ignored or manipulated the evidence, but why Tenet still has a job. Maybe so he wouldn't have time to write an unfair, mean-spirited, tell-all book?

Conference

Much has been made of Bush's press conference last week. The problem with it is that Bush didn't give many specifics, and the press didn't ask many good questions. Of course, he failed to answer some good questions, but they failed to ask very many of those to begin with. They asked him how he "felt." They asked him to evaluate himself. Those aren't news conference questions. That's fodder for Diane Sawyer or Barbara Walters or Larry King, or a first-year J-school student: not serious journalism.

You don't ask the President if he feels like he's made a mistake, or if he's made any mistakes. Those questions are not designed to get an intelligent response of any importance, but to get soundbites. It used to be that the media would cut down important news stories into soundbites; now they cut down news events themselves, that they provide only soundbites to begin with.

It's really obscene laziness. It's hard to explain things, it's hard to interpret events for people, so they shifted from explanation of complex events to quoting people out of context to hopefully make their explanation for them. Now, they try to obtain quotes without context, so there's no context for the quotes to be taken out of.

Just this morning, Tim Russert said to John Kerry: "We'll get to the nuance later, but right now, tell me yes or no ... ." Sorry, but that is not how the world works, Tim. Sometimes, answers need nuance, need context, need explanation. Sometimes there is no simple yes or no that is adequate. Sure, Kerry could have answered yes or no, and it would have been logically reasonable, but millions of people would have taken that yes or no and used it as though it were his categorical answer, because that is what we've learned to do. To his credit, Kerry didn't play along.

A good question for Bush would be: "you said there were WMD; were you right? if not, where are they?" That sort of thing. Being specific and trying to get actual information, instead of trying to express or elicit expression of feelings or decontextualized pat answers. The press justifies this by saying there's a feeling out there that Bush is arrogant or unreflective, so that is the question they ask; but that sort of psychoanalysis is for the op-ed page (if there), which can be based on the answers to good questions, and should not be the subject of questions in a press conference. It's useless and foolish.

Commission

More people are coming out and saying the 9/11 Commission should be disbanded, that its verdict can't be trusted, and worse. I think the publicity it's received has only hurt it. I think the effort to educate the public has served the cause of education very little, and has served partisanship greatly. I think we'd have all been better off if we just waited for their results.

But in the end, I don't think it will matter much. Their conclusions probably won't suprise us at all, will be fair and even-handed, and focus primarily on the failures of our intelligence agencies and the lack of urgency of America -- from both Clinton and Bush and their administrations, and in Congress, and in the media -- to face the threat. They will have sweeping recommendations for how to move forward, and we will evaluate them on their merits.

In the end, the Commission's publicity problems, the public hearings, and the rest won't matter much. There's no reason to disband them merely because they've damaged their own credibility. Their recommendations would have had more force if they'd not had so much publicity, but either way, we were going to evaluate them on their merits.

Patriots

Tomorrow is a very big Patriots Day in Boston (celebrating the start of the Revolutionary War by wearing funny suits and playing/watching sports). Enjoy! And perhaps read the Longfellow poem while you're at it.

*I listen to and read books, and want a single verb to describe both. I like "receive," but that makes it sound like I am being given the book, not that I am listening to or reading it. Any better ideas? slashdot.org

Boston, Patriots, &c.

| | Comments (0)
Sigh. The Boston Bruins have forgotten how to play defense, in their first-round series in the NHL playoffs against the Montreal Canadiens. All they need to do is pick up the open men in their own zone, and this series never would have gotten to a Game 7, let alone a Game 6. Go Bruins. Die Canadiens.

So Monday at 11 a.m., in Boston, the Red Sox will host the New York Yankees at Fenway Park, in the final game of four-game series in the biggest rivalry in baseball. Then the Boston Marathon will take place. Then, at 7 p.m., the Boston Bruins will host the Montreal Canadiens, in the biggest rivalry in hockey. And the NFL Network will spend almost all day showing clips of the New England Patriots. Now this could be a Patriots Day* to remember.

* Patriots Day is a holiday celebrated in Massachusetts and Maine, commemorating The Shot Heard Round The World, on April 19, 1775 (remember your Longfellow -- "Listen my children and you shall hear of the midnight ride of Paul Revere, on the eighteenth of April in Seventy-five; hardly a man is now alive who remembers that famous day and year" -- and note that Revere rode the night before the Shot).

It is celebrated on a Monday, and this year, it happens to take place on the actual Patriots Day. Every Patriots Day, the Red Sox play a morning game followed by the Boston Marathon. If you don't live in the area, or care not for sports, you could celebrate by knocking back a Sam Adams or two. use.perl.org

Best Tech Article Ever

| | Comments (0)
Topic:
You can only drag one bookmark (or favorite) at a time from Internet Explorer to Safari.

Solution:
Drag one bookmark at a time from Explorer to Safari.

Now you know! use.perl.org

Gorelick

| | Comments (0)
So far I've heard very little about this, and I wonder if it has any legs. But back when the public hearings first got under way, 9/11 Commissioner Jamie Gorelick seemed like an odd choice to me. She was deputy Attorney General under Clinton and Reno when much of what is being investigated was going on. I wondered if she was tied too closely to events.

This week, it's become clear to me that she was. I have nothing really against her; she's a Democrat and I am a Republican, but I think she's been about as fair and reasonable as any of the other commissioners (except for Ben-Veniste, though he is a trial lawyer, so I give him a little bit of a pass, because being an argumentative and abrasive jerk is his job).

But on Monday, former FBI Director Louis Freeh said in an op-ed in the Wall Street Journal that he warned Gorelick about lax immigration policies and terrorism, and suggested she did nothing. Tuesday morning, she recused herself from questioning witnesses because she had worked closely with them. And in the afternoon, Attorney General John Ashcroft described The Wall separating the CIA and FBI, and said much of the problem stemmed directly from a memorandum (which Ashcroft declassified yesterday) implemented under the Clinton administration, written by Gorelick.

And in retrospect, it seems that Rice may have attempted to implicate Gorelick in her testimony of last week, when she responded directly to Gorelick: "It's absolutely the case that we (the Bush administration) did not begin structural reform at the FBI."

And now, Gorelick herself might be called to testify before the commission.

Again, I have nothing against Gorelick, and I am not out to get her. But if I questioned her appropriateness for the commission while knowing nothing about her apart from her job title and dates of service, why didn't people who knew what work she actually performed -- including Gorelick herself -- question her appropriateness?

I am not saying she did anything wrong, any more than anyone else did. You can certainly argue Ashcroft's claim about how much of the problem rests on this particular memo, and Freeh's suggestion that she did nothing about lax immigration, etc. But she is involved, in a significant way, and she never should have been on this commission.

And I also wonder why I am seeing barely anything about this in the news. Maybe because the news orgs are still trying to unravel it, as this came to a head only yesterday afternoon, when Ashcroft testified. slashdot.org

Bundle-Slash-2.34 Released

| | Comments (0)
Bundle-Slash-2.34 has been released. Download it from the CPAN or SF.net.

(Note: it may take time for the release to propagate to the various download mirrors.)
Posted using release by brian d foy. use.perl.org

Rice Hearings

| | Comments (0)
I don't care much whether Rice testifies in public under oath or not, but what I do find amusing is that so many people think the commission will be able to find out more information about what happened if she speaks in public under oath. A Democrat member of the commission said, "We have had private sessions with her. And we will have an adequate explication of what happened. I just think we're missing in terms of our public presentation of the facts the opportunity for the American people to hear her answer these questions as everyone else has."

So just remember, while you're listening today, chances are what you're hearing is not about the commission finding facts, but about hearing it in public. I'm not trying to diminsh the importance of that, but they aren't the same things. slashdot.org

Sunday Thoughts

| | Comments (0)
This week in politics was fairly boring, oddly enough. More of the same boring stuff about Perle and the two campaigns. So here's something a little bit different: a book review!

I just finished listening to An End to Evil by David Frum and Richard Perle. If you want to really understand (as much as possible) the "neocon" view of the world today, this book really is a must-read.

I don't like saying "must-read" because, well, there are so many good sources of information and entertainment out there, why single out one in particular? In this case, it is because Richard Perle is the only one who seems able to lay out the "neocon" case fully and clearly, and this book is the most full and clear exposition I've yet seen.

The book explains the terrorism and other related international challenges facing America, and argues for why our past actions were right or wrong, and why various proposed future actions are right or wrong. It's a roadmap, from the perspective of halfway along the journey.

Agree or disagree with its assessments and conclusions, the book is intensely important, considering many of America's top leaders subscribe to much of what the authors say. And while being respectful of those whom they disagree with, they pull no punches in explaining why everyone who disagrees with them is wrong.

It's fairly comprehensive, so it'd be hard me to sum up the book using specific conclusions, because they have conclusions for everything from national IDs to policy with China. I suppose the most basic explanation of the views contained therein is that American policy should look out for Americans first, and that our policy abroad should be proactive, though not uniform, as every situation with every country is different.

Especially in light of the recent book from Richard Clarke about what Bush did wrong -- much of which Frum and Perle would agree with, in the time leading up to 9/11 -- this book provides an insight into where our leaders are taking us. Both Clarke and Perle were inside government for years, warning of the gathering storm. Both were right. But both have very different views of what to do next.

I bought it from iTunes Music Store, though I plan to get it in hard copy at some point. slashdot.org

Wake Up

| | Comments (0)
I don't know if there exists something better, but I couldn't find it, and I was curious anyway, and so I wrote my own.

I need to wake my computer at 3 a.m. to run nightly backups (using Backup.app from mac.com), but if the computer is asleep, it doesn't work. IOPMSchedulePowerEvent() can wake the computer at a given time, but I had no existing Perl interface to it. I could have added it to a Mac:: module, but in this case, I didn't have the time, and I currently have no use for it other than this one script. Therefore, Inline.

One especially interesting thing about the code -- to me -- is that it uses the CFAbsoluteTime data type, which -- for reasons unknown to me -- is in seconds since January 1, 2001, GMT. So the C code keeps a constant to calculate the difference from perl's time().

#!/usr/local/bin/perl
# i use this to make sure my computer wakes up by 3 a.m. every morning,
# so my backups can run
# i run it from cron every 15 minutes (the computer is set to sleep
# after 15 minutes of inactivity)
# */15 * * * * /Users/pudge/bin/wake.plx
# pudge@pobox.com 2004-04-01
 
use strict;
use warnings;
use Time::Local;
 
use Inline  C => 'DATA',
    LDDLFLAGS => '-bundle -flat_namespace -undefined suppress -framework Carbon',
    INC       => '-I/Developer/Headers/FlatCarbon';
 
my $now = time();
my @today = localtime($now);
 
@today[0, 1, 2] = (0, 55, 2);
 
my $then = timelocal(@today);
$then += 86400 if $now > $then;
 
schedule_event($then, 'wake');
 
__END__
__C__
#undef Move
#undef I_POLL
#undef DEBUG
#include <Carbon.h>
#include <mach/error.h>
 
// "type" defines here
// can be sleep, wake, shutdown, poweron, and wakepoweron
//#include <IOKit/pwr_mgt/IOPMKeys.h>
 
// difference between Unix epoch and CFAbsoluteTime epoch
#define EPOCH_DIFF 978307200
 
long schedule_event(long seconds_time_to_wake, const char * event_name)
{
    CFDateRef time_to_wake;
    CFStringRef type;
    IOReturn io_error;
 
    seconds_time_to_wake -= EPOCH_DIFF;
    time_to_wake = CFDateCreate(kCFAllocatorDefault, (CFAbsoluteTime)seconds_time_to_wake);
 
    type = CFStringCreateWithCString(kCFAllocatorDefault, event_name, NULL);
 
    io_error = IOPMSchedulePowerEvent(time_to_wake, NULL, type);
 
    CFRelease(time_to_wake);
    CFRelease(type);
 
    if (io_error != 0) {
        printf("system: 0x%x, subsystem: 0x%x, code: 0x%x\n",
            err_get_system(io_error),
            err_get_sub(io_error),
            err_get_code(io_error)
        );
    }
 
    return io_error;
}

use.perl.org
<pudge/*> (pronounced "PudgeGlob") is thousands of posts over many years by Pudge.

"It is the common fate of the indolent to see their rights become a prey to the active. The condition upon which God hath given liberty to man is eternal vigilance; which condition if he break, servitude is at once the consequence of his crime and the punishment of his guilt."

About this Archive

This page is an archive of entries from April 2004 listed from newest to oldest.

March 2004 is the previous archive.

May 2004 is the next archive.

Find recent content on the main index or look in the archives to find all content.