Press "Enter" to skip to content

Year: 2004

Mr. Tony returns

Tony Kornheiser returns to the Washington, DC radio airwaves starting tomorrow, mornings from 9 to 1, on AM 980. (Four hours? Really?)

Good news for those of us who basically stopped listening to sports radio when TK went off the air last March. (Well, there’s sports radio, and then there’s Tony. I don’t listen to sports radio.)

Looks like it’s time to buy a RadioShark

(…or else capture the audio stream with something like Audio Hijack or iRecordMusic…)

Comments closed

Two Americas? This is not what I had in mind…

So part of the goal of this blog was to allow me to vent my spleen by adding my voice to the throng. Hopefully I can learn to make a pithy comment and leave it at that, instead of my usual style of pondering each phrase trying to make it say exactly what I mean.

The problem with commenting on an article like this one (“courtesy” of Atrios via Josh Marshall), written by a Mr. Mike Thompson, “past chairman of the Florida Conservative Union” (and apparently Ann Coulter’s godfather) — is that I hardly know where to begin, or where to leave off.

Read the linked article if you dare. No matter how the author tries to cast it as Swiftian satire, his “modest proposal” of “expelling” the twelve bluest states betrays more bile than wit. I’ll try to resist the urge to respond point by point, because I don’t make my living doing this. But let me observe that expelling Illinois, along with California and the Northeast, is going to come as a shock to a lot of people living outside Chicago. (For that matter, a lot of people living in New Hampshire are going to be pretty p*ssed off too. Has Mr. Thompson ever travelled outside Florida?)

After reading comments like “liberals … are spiteful enemies of civilization’s core decency and traditions” and “the genes of liberals have rendered them immune to all forms of filth” (among the milder ones), it’s difficult to come across “When they tire of showering conservative victims with ideological mud” without laughing out loud. Pot. Kettle. Black?

The point-by-point comparison of “Bush USA” vs. “Gore/Kerry USA” is also entertainingly bewildering. Mr. Thompson makes Bush USA sound like Mayberry USA, while Gore/Kerry USA sounds more like the Lower East Side of Manhattan (“ethnically diverse”, “multi-religious”, “very artsy, and Babelesque, with abnormally loud speakers”). Again, this will come as a surprise to my neighbors in the small town in Maryland where I live, many of whom are not actually gay or Jewish.

(Also, Bush USA is “economically sound (except for a few farms), but not drunk with cyberworld business development”, while Gore/Kerry USA is “both high tech and oddly primitive in its commerce”. Huh? Thog give Grog two goats for Grog’s iMac G5?)

But in the end, I’m not entertained, or enraged, so much as saddened by this commentary. Has the state of the nation deteriorated to the point where an author can write that people who disagree with his point of view should be expelled from the country, with the apparent expectation that his readership will nod approvingly?

Apparently Mr. Thompson and his ilk would happily return this country to the 50’s — the 1850’s.

It would be easy if glib to agree that I’d prefer not to live in the same country
with Mr. Thompson — but that’s wrong. Likewise the memes running around the net about moving to Canada or Australia for the duration — jokes, I know, in the aftermath of crushing disappointment; but wrong.

This is my country, too. And nobody — not Mr. Thompson, not Karl Rove — is going to tell me that I’m unfit to live in it, because of where I live or what I believe or who I am.

[On that note, let me give a shout out to my coworker Dave and his friend Kevin, who have started a blog called Still Fighting. As soon as I figure out how to make a blogroll, they’ll be on it.]

Comments closed

Preface to an introduction

Random comments about what all this is, exactly:

  • Yes, this is a really barebones weblog right now. I like a clean design… but maybe not this clean. I’ll probably poke around with some CSS at some point, but right now I’m more interested in writing comments. (Any thematic pointers or donations are of course welcome.)

  • What am I doing commenting on C#? I’ve never even written any code in C#. Those comments were occasioned upon the release of Mono 1.0, which I downloaded to my PowerBook, poked around in briefly, and bought a couple of books. This last action engendered a couple of rants which I decided were too ranty to keep as email messages, so I posted them. Then life intervened. In the future you’re more likely to see comments about Python, C++, and C (whatever there is to say about C).

  • “A weblog, huh?” I’ve been slowly drifting towards a mid-life — well, not “crisis” exactly, but something close. The results of the 2004 general election in the United States have accelerated that process. [You might infer from the first posting in “politics” below where I stood in the election, and what my mood is like this week.] So what’s the point of having a web site if I can’t share my angst with the world at large? At the very least, I can get things off my chest, and maybe the act of writing will help set my thoughts in order. (I guarantee no cat pictures. Ever. Might get a dog someday, though.)

  • Speaking of the world at large, I expect to address some of my comments to a wider audience — those of you outside our borders who are wondering what the hell just happened. (So are 49% of us.) I may even dust off some old books and write some thoughts in Esperanto, which I studied some as a teenager but have not done much with since then.

  • Yes, I’m quite a geek. Besides Esperanto, I spent my teen years getting a ham radio license, going to science fiction conventions, and playing table-top baseball simulation games (the old-fashioned way, with dice and charts, though believe me if I’d had a computer at home back then I’d have been all over it). In adulthood, I’ve owned a variety of Macs and even two Newtons. Despite this, I’m married to a beautiful woman and have a wonderful daughter and a baby boy on the way, so there’s hope for you junior geeks.

Comments closed

Words fail me

Quoted on BoingBoing:

“I got a very clear picture of [Bush’s] base constituency when having a discussion over lunch with some co-workers about our favorite children’s shows. I was commenting on how much I liked Sesame Street, and one woman (a very vocal Christian conservative) said, ‘Oooh.. Sesame Street is too tolerant for me.’ To my horror, several other women nodded their heads in agreement. I guess I didn’t even think there was such a thing as too tolerant.”

Comments closed

Well, that was a waste of time…

The events of the past week having motivated me to restart my weblog, I decided to take a look at WordPress, which seems to be getting popular and looks like it has some nice features.

So I downloaded it. Gee, it requires a MySQL database. Now I’ve got a lot of software experience, but it happens that SQL databases is not one of those things I’ve ever needed to use before. OK, so it’s easy to create a MySQL database at my webhost, and the WordPress setup automatically creates all the necessary data structures.

So now I figured I’d change the auto-generated password. And here my troubles began. The new password didn’t work. I clicked on the “lost my password” link. WordPress sent me a new password. That one didn’t work. Oh well, I thought, I haven’t really done anything I can lose, yet, so I deleted the database and recreated it, made a test post, and went to bed.

This morning there were seven pieces of comment spam waiting for moderation. I’d made exactly one post, with commenting turned off, and apart from a reference in a set of PyCon notes, nobody even knows I have a blog. I can’t be having this…

…but, not ready to give up, I deleted the spam and tried to make a couple of new posts, figuring there must be something in the WordPress community about this. Then I tried changing my password again. Bad idea; same problem. I checked the WordPress websites. Hey, it’s a known problem, and there’s a way to fix it — edit the database directly. Boo. Hey, my webhost supports phpadmin. Yay. Hey, I can’t log into my own database with any password I can think of. Boo.

People, I’m sure there’s something obvious to do at this point, but I’ve got a job; I’ve got a family; I’ve got a life; and I’m pretty sure a simple weblog doesn’t really need a freakin’ SQL database. It’s just words, right?

So I’m back to Blosxom for now. (Sorry, Ted, Pyblosxom wasn’t looking very stable for me last spring; at that time, even one of the developers had switched his own blog to WordPress or MT or something. I’m sure it’s better now, but I’m not interested in hacking a blog; I just want to write.)

Also, no comments for now. If you want to comment, (a) get your own blog, or (b) send me an email (I’m not posting my email address, but you can probably deduce it) and if it’s cogent or worth a reply, I’ll post it.

Comments closed

Followup to first annoying C# thing

My friend Nick dashed off the following quick reply to my previous screed (in its first incarnation as an email message to him):

I think it’s the difference between thinking of it as a verb or a noun.

That would be fine, except they’re using it as a noun. Allow me to quote from Dumbill and Bornstein:

These methods [such as OnFileSystemEvent, which will be referred to later] must match the delegates declared in FileSystemWatcher. From the Mono FileSystemEventHandler.cs […] source file […]:

public delegate void FileSystemEventHandler (object sender, FileSystemEventArgs e);

A delegate declaration defines an instance of a class descended from System.Delegate. In FileSystemWatcher, then, FileSystemEventHandler is an implicit subclass of System.Delegate.

So it looks like a function declaration, but it’s really a subclass declaration? (I presume “instance of a class” doesn’t mean “an object that belongs to a class” here.)

… Next, we construct a new delegate of type FileSystemEventHandler and use the += operator to add it to each of the FileSystemWatcher‘s FileSystemEventHandler events.

[The code that does this is:

FileSystemEventHandler onFileSystemEvent = new FileSystemEventHandler (OnFileSystemEvent);

where OnFileSystemEvent was previously declared as a static method with a signature matching the one above.]

So what we appear to have is a declaration that looks like a function but really declares a subclass of a special type of object that has only one method and no instance variables. Then you create one of these — things — initializing it with a matching method, and finally attach it to another object in a special way, such that it will be called back when a particular — something — happens.

I’m not saying this isn’t useful, but couldn’t they have presented it a different way, or called it something different (“callback”)?

Maybe I’m putting the blame in the wrong place. The philosophy of the Developer’s Notebook series seems to be to get you writing code quickly, and eschew all the theory. (They even title this section “Define Function Pointers”.) Perhaps I should crack open Hejlsberg et al. and see if they explain it more precisely.

Comments closed

The (first) thing annoying about C#

[I haven’t gotten too far into the language so I can’t presume there won’t be more…]

I want to like C#. I think it has a lot of advantages over the widely used languages that come before it. When it was first released, it was widely believed to be a replacement for Java; but I’m looking at it more as a replacement for C++ — the little things that are peculiar idioms or complex constructs in C++ seem to tend to be directly supported in C#. So I’m predisposed to like it.

But then I come across these annoying Microsoft-isms — specifically, the Humpty-Dumpty-like [1] way in which they define ordinary computing terms like “events” and “delegates” to be something almost, but not quite, completely different.

I know what a “delegate” is — it’s an object that handles behavior for another object. A common design pattern, and one supported pretty much directly in Objective-C and Cocoa. But that’s not what a C# delegate is, apparently — although I’m not sure exactly what it’s supposed to be. It’s “like a function pointer”, except we don’t have those in C#. And the first example I see (in Mono: A Developer’s Handbook) suggests that the thing you declare as a delegate is really a prototype for the action that the actual thing you instantiate is supposed to take — huh? Wouldn’t that be the delegate?

And apparently an “event” is a collection of delegates, and not, well, an event.

And somehow delegates are magic so you can instantiate one, add it to an “event”, then later instantiate a different one and remove it from the same event, and the “right thing” happens. (Because they’re “like function pointers”.)

Maybe this will make sense if I keep reading. (I hesitate to crack open The C# Programming Language, which is also on my desk; I’m a bit of a programming language nut, but this one looks like I need a law degree to get through it.)

[1] I could have said “Orwellian”; aren’t you proud of me?

Comments closed