September 2003 Archives

Howard Dean

| | Comments (0)
It amazes me that anyone respects this guy.

He can't keep his story straight on any major issue. He was for NAFTA, now he's against it. Against Medicare, now for it. For tax cuts, now against them. Against death penalty, now for it.

He's not a thinker, he's a dullard. His views on the death penalty are adequate proof. He was against the death penalty because it is possible to make mistakes in convictions, and because people can be rehabilitated. But now he is for the death penalty in cases of terrorism and child abuse. Does he actually believe that in such cases, mistakes cannot be made? If he does, he is a dullard; if he doesn't, then he is pandering. Neither option is attractive to me. And who says terrorists and child abusers can't be rehabilitated, but serial killers can? Who decides this, and based on what?

His view on gay marriage is similarly obtuse. He supports civil unions because it is the right of all people to have such rights, yadda yadda yadda. But he opposes gay marriage, because "it's the church’s business to decide who they can marry and who they can’t marry." The interviewer replies, but the government decides who they can marry and who they can't marry. Dean responds, "We have civil unions in Vermont," his equivalent to, "this one goes to 11."

And he's a jackass to boot. In the recent debate, Dick Gephardt (quite correctly) said that Dean sided with Newt Gingrich's plan in regard to Medicare. Dean's response? "Don't compare me to Newt Gingrich. No one deserves to be compared to Newt Gingrich."

First off, regardless of what you think of Gingrich, he's not Hitler, and a comparison, when linked to a specific issue, is not an affront to a reasonable person. Second, Gephardt didn't compare Dean to Gingrich. Third, Dean sounds like a whiny little baby. Dude, grow up. Who frelling cares who he compared you to? You might as well say, "Dick's touching me! Stop touching me! I'm telling! MOM!"

I have to think that most of the people who like Dean haven't seen him in one-on-one interviews (such as two on Meet the Press and one on This Week) and the debates, where he just sounds horrible. He denies he ever said things he said, he is constantly explaining away things he admits he said and did, and he is constantly reversing himself.

Howard Dean, you're a dull-witted and freaky little monkey, and I dislike you.

Cy Young

| | Comments (0)
I have no idea why, but many baseball people think the most important statistic in determining who is the best pitcher. Winning is a function of a team effort, and alone is a poor determinant of best picher.

Case in point: in 1990, Bob Welch got 27 wins for the Oakland A's, an absurd amount of wins. He had a great year all around. But the reason he got 27 wins was not because he had a great year; he had a great year because he was, statistically speaking, the third luckiest pitcher since WWII. By that, I mean that he won because his relief pitchers and hitters won the games for him. If you give him a league average bullpen and batters, his .816 winning percentage would have been .589.

Contrast to Roger Clemens that year, who was better than Welch in every major category: fewer hits, earned runs, home runs, walks per inning pitched, and more strikeouts. In fact, his 1.93 ERA (vs. Welch's 2.95 -- yes, more than one run per 9 inning game difference) was the best of Clemens' storied career. The only thing Welch had better was the wins (27-6 vs. 21-6).

There is simply no doubt that Clemens was the best pitcher in the American League that year. But Welch won, because he had more wins, which he had because his team was better than Clemens' team, not because he was a better pitcher.

And now we are seeing similar injustice. Pedro Martinez has a 14-4 record, compared to frontrunner Roy Halladay's 21-7. Pedro has a better winning percentage (unlike Clemens vs. Welch) -- second best in the league -- and leads the league down the line in terms of hits, ERA, strikeouts, and strikeouts per walk. But Pedro has suffered from a terrible bullpen, the worst in Boston in many years. He has 10 no decisions -- unheard of for him -- which includes 3 blown saves, and 3 with no run support (where he gave up only 1 run through 7 or more innings).

Halladay has not been the victim of any blown saves, and has only once had a no decision in a game where he gave up only one run through 7 or more innings: when he took a 1-run tie with the Red Sox into the ninth.

If you give those pitchers those wins, now Pedro is 20-4 and Halladay is 22-7, and Pedro is the frontrunner.

Of course, you can't just do that, you can't just give a pitcher wins. But the point is that pitchers do not determine wins, teams do. This is a team sport. But the purpose of the Cy Young award is to find the best pitcher. In 1990, that was clearly Roger Clemens. This year, it is clearly Pedro Martinez.

DirecTV NFL Sunday Ticket Highlights

| | Comments (0)
I am a subscriber to DirecTV NFL Sunday Ticket, so I get lots of football every week. Because I have a TiVo, I also -- supposedly -- get highlights delivered to my TiVo every Monday. But so far, nothing.

They call me today and tell me I need to make sure I have channels 581 and 582 on the TiVo set as "Channels You Receive", because that is where the highlights get sent. This is probably something they should tell you when you sign up.

Stupid Mac OS X Tricks: Select Word

| | Comments (0)
John Gruber wrote a Select Word script for BBEdit. Here's a Mac::Glue version.

use Mac::Glue ':glue';
$b = new Mac::Glue 'BBEdit';
$w = $b->obj(window => 1);
$o = $w->prop(offset => of => 'selection')->get;
$w->obj(word => gLast, words => whose(offset => l_e => $o))->select;

This script is pretty straightforward, apart from the odd "property => of => property" syntax. It's my most hated thing about the Mac::Glue syntax. In obj(), you normally have key/value pairs for class/value. With prop(), it's the same, except that there is a property first (prop(foo) it is just a shortcut for obj(property => foo)).

However, when you are taking a property of a property, you can't just do prop(foo => bar), because then Mac::Glue thinks foo is a class and bar is its value.

Suggestions on how to fix this syntax, as always, are welcome. :-)

Anyway, another little oddity -- not a big problem, but something to get used to -- is that where the AppleScript version says "last word whose ...", the Mac::Glue version more closely models what is actually happening, which is "last word of (words whose ...)".

Updating the above script to John's final version is an exercise left to the reader.

cenotaph-1.3 Released

| | Comments (0)
cenotaph-1.3 has been released. Download it from

(Note: it may take time for the release to propagate to the various download mirrors.)

* v1.3, September 23, 2003
   Failed on creating new files if $backup (-i) is defined.

Posted using release by brian d foy.

Recall Followup

| | Comments (0)
After hearing some of the oral arguments today in the Ninth Circuit, I am leaning the other way.

My argument before rested on the fact that the State of California has determined that the punchcard machines wil be decertified as of a certain date, that they will not be used as of March 2004, that they are not adequate for use in a statewide election.

However, one thing struck me today, in regard to that. Judge Kozinski of the Ninth Circus^WCircuit (a slip of the tongue made today by ACLU lawyer Mark Rosenbaum) noted that while the Secretary of State did agree to decertify the machines, and replace them for the March election, there was no finding made that there was an unacceptable error rate in those machines. ACLU lawyer Laurence Tribe agreed.

What does this mean, in relation to my argument? I contended that the state said the machines were found to be inadeqaute. That isn't the case. The state never said they are inadequate. The state said that they will not be used as of March 2004.

The ACLU case was pretty weak, I think. I can't see them winning the case. They did argue persuasively that the machines are inadequate, but not at a level where the federal government should step in. They tried to link it to the voting rights act, but couldn't show that this is related to discrimination of minorities, in my opinion. It was a stretch, at least.

Safe Signals

| | Comments (0)
This wasted a significant amount of my time today:

$SIG{CHLD} = sub { 1 };
my $sock = new IO::Socket::INET (
    LocalPort    => 2305,
    Type        => SOCK_STREAM,
    Proto        => 'tcp',
    Reuse        => 1,
    Listen        => 10,
) or die "Could not start server: $!.\n";
while (my $child = $sock->accept) {
    next if fork;
print "huh?";

Now, one would think that the while loop should just merrily continue along from child to child, but instead -- apparently because of a problem in IO::Socket itself, resulting from the new safe signals in perl 5.8.0 -- the SIGCHLD is improperly interpreted as a SIGALRM and the while loop ends.

I fixed by adding a label FOO: in front of the while loop, and putting a goto FOO below it. Good enough for me.

cenotaph-1.2 Released

| | Comments (0)
cenotaph-1.2 has been released. Download it from

(Note: it may take time for the release to propagate to the various download mirrors.)

* v1.2, September 22, 2003
   Add README and Changes
   Fix for forking problems with safe signals

Posted using release by brian d foy.


| | Comments (0)
I noted previously that building perl on a dual G4/1.25 GHz / 1GB RAM was fast. Well, doing it on a dual G5/2.0 GHz / 2GB RAM is a lot faster. I set the processor peformance to "Highest" or whatever, from the default of automatic, because I am greedy. Building perl 5.8.0.

Configure -des, G4:

real    1m3.518s
user    0m19.540s
sys     0m38.910s

Configure -des, G5:

real    0m38.829s
user    0m15.650s
sys     0m20.830s

make -j3, G4:

real    5m24.854s
user    5m11.600s
sys     1m17.350s

make -j3, G5:

real    2m13.563s
user    3m29.540s
sys     0m48.700s

make -j3 test, G4:

real    7m35.339s
user    3m18.180s
sys     1m2.870s

make -j3 test, G5:

real    6m48.294s
user    4m9.670s
sys     0m36.290s

From beginning to end, the G4 did it all in 14:04. The G5 did it in 9:41. Taking away the tests, and it is more like 6:28 to 3:53.

Mmmmm, speedilicious.

cenotaph-1.1 Released

| | Comments (0)
cenotaph-1.1 has been released. Download it from

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

Learning New Words

| | Comments (0)
Riley, at not-yet-18-months-old, said "frell" for the first time. I am so proud.

And no, she didn't get it from me, or the TV. Thanks, mommy! :-)

use Mac::Glue;
my $term = new Mac::Glue 'Terminal';
$term->do_script(wi th_command => 'top -u');
my $win = $term->obj(window => 1);
$win->prop('number_of_rows')->set(to => 50);
$win->prop('position')->set(to => [0, 25]);

I stick this in ~/Library/Scripts and access it from the Script menu. Setting the number of rows makes the window taller, and setting the position puts the window in the top left (else it might end up anywhere on the screen).

Sure, I can just open a terminal window manually and type `top -u`, but that seems so silly when I can just do this!

Recall Delay

| | Comments (0)
I am outraged that the liberal Ninth Circuit would dare say that voting machines that were good enough to elect Gray Davis are not good enough to recall him. Those judges should be recalled too.

OK, that's what I imagine many of you thought I might say, being a conservative Republican and ex-Californian who voted for Bush and supports defeating Davis. But no, I essentially agree with the decision.

I've not read the decision, but I've read about it, and as I understand it, the court asserts that certain balloting systems which have -- since the most recent election -- been legally determined as inadequate. It would be one thing if the reliability of the systems were not already judged as inadequate, but that has already happened. At this point, it is a matter of fact.

When the Bush campaign filed in federal court in November 2000, I was annoyed. I thought it was none of the federal court's business. That is, until I read the filing, when I was swayed by the simple argument that to recount some people's votes, but not others, or to apply different recount standards to different votes, would violate the Constitution.

And now we see the same basic thing happening in California. There are differences, of course.

The Supreme Court in 2000 did not say any balloting systems were unconstitutional, for example. However, that is unrelated to this decision here, as they have already been ruled as inadequate in a separate case.

Further, the Supreme Court in 2000 did not stop a vote, and likely would not have. But just because they did not in 2000, does not mean this court should not. The court is required to weigh competing principles: that of allowing the people to vote on their chosen day, and that of protecting the rights of a minority of voters. While the first principle is an important one, it is not significantly damaged, in my opinion, by making them wait, if the reason is a good one. And in this case, the reason is a fine one.

Most interestingly to me, the Supreme Court in 2000 allowed a legally defined date to dictate the boundaries in which the rights of the voters would be protected. In December 2000, the court ruled that despite potential irregularities, there was not the time to do whatever was necessary to get it "right," because the law set up the deadlines that needed to be hit. And here, the court is saying the opposite: that the legal deadlines should be overruled to make sure people's rights are not abridged.

But the difference in decision is magnified by the difference in consequence. By delaying the recall, you are delaying an essentially arbitrary date for an arbitrary vote, and the only negative consequence anyone can forsee is that the elected governor remains the governor for another few months.

By delaying the final tally in 2000, they would have been doing something far more significant, disrupting history, precedent, and possibly the functions of government themselves. It was a step the court was unwilling to take.

The delay wasn't worth it in 2000, but in my opinion, it is now.


| | Comments (0)
Some years ago, Matthias Neeracher (MacPerl, GUSI, etc.) wrote a little client-server app for Mac OS called Cenotaph. The client ceno, written in perl, would act as an editor, except instead of opening the file for modification locally, it would open it and send its contents to the server, running Cenotaph (written in C++).

Cenotaph wrote out a temporary file and told BBEdit (or whatever your EDITOR was) to open it up. When you closed it, Cenotaph would send the file's new contents back to the client, which would save it (optionally with a backup).

Sure, there are a ton of ways to do this, but they usually involve the local machine to open a connection to the remote machine and find the file desired, whereas with this method, I can just edit the file I am looking at in the shell at the moment, without jumping through such hoops. Also, I edit files on machines that do not accept incoming connections, and this deals with that problem quite easily.

I have been wanting this on Mac OS X, so I finally ported the server to perl, and it works dandily. If you are interested, let me know here ... if anyone cares I'll put the source up once I finish cleaning it up.

[Heh, while I was trying to post this entry, it was failing because my user cookie in the cookies file was expired ... D'oh! Good thing I can modify the expire date by hand.]

Polls Questions

| | Comments (0)
I have a ton to say about polls, but this is one thing that's been happening a lot lately that really annoys me. One typical example happened on Meet the Press this week.

The latest Zogby poll asks, "Do you think President Bush deserves to be re-elected, or do you think it is time for someone new?" When Tim Russert quoted the results on Meet the Press, he said the question was, "Would you vote to re-elect President Bush?"

That is so wrong it's hard to know where to begin. It's not the same thing. In answer to the second question, I would vote to re-elect Bush, without question at this point, because he is going to be the nominee, and I see no Democrat candidates who I would possibly vote for. However, I am very likely to answer the first question saying I would prefer someone new,, because I have never been a fan of Bush, and I can name in short order many people I'd rather have in that office.

And it is not even about my preference, it is about if I think he "deserves" to be re-elected. The question itself is odd. What does "deserve" mean? No one deserves to be re-elected, unless they get enough electoral votes to be re-elected, and if they do, then they deserve it. Isn't that how our system works? What other standard could there be? I suppose you could say he doesn't deserve it if he has committed crimes against the Constitution, but that would be an odd meaning to imply in such a question. So I couldn't even answer the question until I knew the results of the election.

Yes, I am being pedantic. But polls are supposed to be very specific and clear. The only way you can get reasonable polling data is to ask very clear, very brief questions that can only be answered reasonably in a set number of ways. And you can't arbitrarily change the wording of the question so significantly.

In this case, "if he is the GOP nominee, would you vote to re-elect President Bush in the Nov. 2004 election" is a perfectly good question, but it is not what was asked. Frankly, I don't really know what the actual question is supposed to mean; though Russert's replacement question is a fine one, it is not what was actually asked, and it is wrong of him to say that it is.

Russert is not the only one to do this, but he does it somewhat frequently, and I see it happening more and more as the elections start coming around again. And while in this case Zogby is more to blame than Russert, because the original question is so poor, it's not always poor questions that get unreasonably modified by the media.

And I am not going off on Russert just because he ended the show by saying "Go Bills, beat the Patriots." Well, not entirely.

Politics R Us

| | Comments (0)
I've decided to use my Slashdot journal [ RSS ] for my political rantings. Update your RSS readers and friends lists ... now! ;-)

Doing Your Job

| | Comments (0)
On this week's This Week, George Stephanopoulos read a letter from a viewer who asked, "With nearly all of the nation's governors, nearly 80 senators and a majority of Congress supporting emergency funding of AmeriCorps, how can President Bush sit by and do nothing as a vital program he profresses to support is being wiped out by his budget?"

Perhaps I am missing something, but if a majority in both houses support it, what's the problem? It's not like Bush will veto a bill that calls for "emergency funding for AmeriCorps."

I am continually amazed and saddened by the overemphasis on the President in the budgetary and lawmaking process. This is the job of the Congress. The job of raising revenue, specifically, belongs to the House.

So what if the President is "sitting by and doing nothing?" It is not his job to do something, it is Congress' job, and if nothing is getting done on this front, it is because they are sitting by, and doing nothing. I really wish Congress would one day just completely ignore the President's budget requests and do their own. That would make me happy.


| | Comments (0)
I am watching News Hour tonight, and Senator Byron Dorgan, Democrat of North Dakota, says, "we had some neocons early on saying this would be a cakewalk; it is not and will not be ...".

The problem is that the "neocon" in question was Ken Adelman in the Washington Post last February, who said it in a specific context, and gave his own definition of the term:

I believe demolishing Hussein's military power and liberating Iraq would be a cakewalk. Let me give simple, responsible reasons: (1) It was a cakewalk last time; (2) they've become much weaker; (3) we've become much stronger; and (4) now we're playing for keeps.

The U.S. forces had fewer deaths in 2003 (129) vs. 1991 (148) and won in much less time: it took 25 days until the last major city, Tikrit, was "liberated,"in 2003, and in 1991 it took 40 days until Kuwait was declared "liberated."

Now, it depends on what you mean by "cakewalk," but Adelman told us what he means: he means that the first time around it was a cakewalk. That's a part of his definition of the word. By that definition, the mission -- demolishing Hussein's military power and liberating Iraq [from Hussein's power] -- was a cakewalk.

Dorgan wouldn't like you to know these things. He would like you to think that because people died it therefore cannot be a "cakewalk" (ignoring the context and standard being used in the use of the word), and that the "neocons" were really talking about the entire Iraq mission, not just the initial part of it. That way it's easier for him to make the "neocons" look bad. But now you know better, and knowing is half the battle!

Convert File in iTunes

| | Comments (0)

perl -MMac::Glue -e 'Mac::Glue->new("iTunes")->add(shift)->convert' mysong.aiff

Note that add() adds the file and returns a reference to it, and then you call convert() on the song.

Now Playing: Phish - Trenchtown Rock (Bob Marley cover)

Kill Email

| | Comments (0)
Do we really need email anymore? If we don't solve the spam problem soon, maybe killing email is the best solution. Most of the people I email, I can talk to on IRC/iChat/web discussions/RSS feeds/whatever.

About 5% of the email I get is NOT junk. Why bother anymore? I used to think of different ways to fix SMTP and the infrastructure, but maybe it's time to just stop using it. Remember when you thought you couldn't live without Usenet?


| | Comments (0)
John Gruber writes about the benefits of writing open source software, in the context of lack of participating in the porting of to the Mac.

I think John is overemphasizing the part about getting paid for work. A lot of people put a lot of free time into open source software (including me :-). But the problem is that people do NOT normally put a lot of free time into anything that does not give them direct benefit.

Whether it is serving in the Peace Corps, porting perl to the Mac, or working on Wall Street, people do things that satisfy some fairly direct desire or need. I desire to have certain tools on the Mac, and I get a good feeling from helping others, so I write open source tools for the Mac. Then there's Slash, which I use, and which helps others, but which doesn't help me or give me a good enough feeling that I would work on it much if I didn't get paid to.

But what benefit do I get from working on Maybe it does help others, but mostly people who are willing to pay for software anyway (i.e., businesses). It's not something I will use myself much, if at all. I simply have no incentive, and I am not alone. The fact that few people are working on it is strong evidence that few developers feel they would benefit directly, significantly, from for the Mac.

Some might say there's a long-term incentive of saving the Mac platform from the closing of Office, which is going to kill off the Mac eventually. Even if I believed that, so what? If it's true, then the future of many companies are relying on it, and they will put out the money to get it done.

That's how this stuff works. If things really are needed, they will get done. If things aren't getting done, chances are they aren't really needed.

(BTW, the name of the program is not OpenOffice, it is It's stupid, but there it is. )

Now Playing: Tears Of God - Los Lobos (Just Another Band East LA 1)

Mac-Glue-1.13 Released

| | Comments (0)
Mac-Glue-1.13 has been released. Download it from the CPAN or

(Note: it may take time for the release to propagate to the various download mirrors.)

* v1.13, September 2, 2003
   Removed Memoize.  The speed gains were exceptionally modest, and some
   bugs popped up resulting from adding it.  It could be added back at
   some point, but it would need to be done more carefully, and right
   now the benefits don't justify the cost in time to get it done properly.
   Cleanup/bug fixes for Mac::AETE::App in finding/opening applications
   and fetching the application names.
   Added a VERSION key to the glues (the version of the application),
   and a version() method.
   Added -c flag to gluemac to check to see if application version matches
   the versions stored in the installed glues ($glue->version eq
   Added -r flag to gluemac to re-create installed application glues
   (with -c, only re-creates those with differing versions).  It's
   recommended that users run gluemac -r to update glues with new
   VERSION key and fixed APPNAME key.

Posted using release by brian d foy.
<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 September 2003 listed from newest to oldest.

August 2003 is the previous archive.

October 2003 is the next archive.

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