Updating mozCC

I recently announced the release of mozCC 0.9.0, promising that existing users could simply use the Extension Manager to update. Apparently I was wrong. The update.rdf format changed from Firefox 0.9 to 1.0PR, but thanks to Jed Brown’s excellent resource, that problem has been fixed. Update away!

date:2004-10-14 07:23:05

Debate Watch

I listened to the Presidential debate last night on NPR, and just like the vice-presidential debate, the question I found most interesting regarded gay marriage.

I was pleasantly suprised when Mr. Schieffer asked the President directly, “Do you believe homosexuality is a choice?” Of course, the president said “I just don’t know.” Way to dodge! The president went on to say “I believe in the sanctity of marriage. I think it’s very important that we protect marriage as an institution between a man and a woman.” Really? With a greater than 50% divorce rate (between men and women, no less!), you really believe that? How does that work? Citing reasons the constitutional amendment is necessary, President Bush said he wanted to protect against “activist judges.” Right, like the 5 who installed our current President. Oh, not those 5? Huh.

While Kerry doesn’t support gay marriage either, he did attempt to put a human face on the issue by citing our Vice-President’s daughter, Mary. Queer Day reports that apparently White House staffers and Fox debate panelists didn’t watch the Vice-Presidential debate. They both blasted Kerry for “outting” Mary Cheney. Excuse me?

date:2004-10-14 06:56:40
category:my life, politics

Volleyball Update

As I’ve reported before, Garrett and I play volleyball in a city league. Our team, the ironically named “Hot Shots”, has historically embodied the idea of a recreational league: little to no talent, and booze after losses. “Seasons” run 8 weeks and last season we won, uh, 3 games out of 32. You get the idea.

The new indoor season started last week, and we have new people on our team. And last night, we won, not 1, but 3 games out of 4, including 1 win against a much more talented team (which has historically crushed us). To quote Office Space, “Fuckin’ A!”

date:2004-10-14 06:42:02
category:my life

Anatomy of a Sherlock Channel; or, How I Learned to Stop Worrying and Love The Pain

With the release of the Creative Commons Sherlock channel, it seems prudent to document some of the development process. The Sherlock Developer Documentation implies that developing a channel is easy as pie. As a developer unfamiliar with the tools, I found the process any but straightforward. In retrospect certain things make sense now that I have a working model, but I’m still no expert.

First, the sourcecode for the CC channel is available in CVS at the CC Tools SourceForge.net project. The module is named sherlock. This may serve as a good jumping off point for someone looking for a working example.

Second, the process involved in developing a Sherlock channel consists of a few distinct steps. Your interface is built using Interface Builder, and consists of a single View. The actual code consists of scripts written in either JavaScript, XQuery or both. Events (at least as I know them) are called Triggers, and usually (at least in my code) consist of a piece of JavaScript which does some initial setup and then fires an XQuery script to do the actual scraping.

Finally, things I wish I had known when I started writing my channel:

  • When saving your NIB in Interface Builder, make sure you save it in either “Pre-10.2 Format” or “Both Formats (Pre/Post-10.2)”. If you save it in “10.2 and Later Format” Sherlock will refuse to load your channel.

  • XQuery has great XML dissection utilities, but has a really different paradigm than other programming languages. It can’t (so far as I can tell) read directly from the Datastore (which stores the values of the Interface widgets), so everything you need must be passed in as an input. Anything you need to set needs to be returned in the dictionary.

  • If you want to add more than three items to an NSPopUpButton you need to use the Menu items palette in Interface Builder. This may be obvious to others, but I spent quite a bit of time struggling with figuring out how to initialize the list of options correctly (and get the value back from within XQuery).

  • Finally, everything is XQuery is an assignment. Well, not everything, but more than you’d expect, so you may as well start thinking that way. For example, an if...then...else (and yes, the else is mandatory) block is actually more like a ternary construct than a decision block. That is, instead of the following:

    if ($foo > 0) then
          let $bar := 5
       let $bar := 10

    You do this:

    let $bar := if ($foo > 0) then 5 else 10

Additionally, the following resources may or may not be useful to you if you’re contemplating writing a channel.

* W3C XQuery 1.0 * XQuery: Reinventing the Wheel? (covers some interesting aspects of if syntax) * a working example of if…then…else syntax

In conclusion, writing a Sherlock Channel was a lot more painful that it felt like it should have been. But I’ll be back; there’s work to be done in the CC Search Channel, and I’ll continue to post my experiences here.

date:2004-10-12 18:17:31

Get Your CC Fix Here

For all you Mac OS X users who can’t get enough Creative Commons licensed content, your fix has arrived: a CC search plugin for Sherlock.

(cc search for text documents containing ‘yergler’; full size)

You can open the channel at sherlock://drop.creativecommons.org/sherlock/ccsearch.xml.

There are still some improvements to be made, like display of the license icons in the search results, but that’ll have to wait. If you have suggestions or feedback, let me know. I’ll make the source code available and blog about the actual development process a little later. Enjoy!

date:2004-10-12 12:19:45

A Cloud for Every Silver Lining

This weekend was the 16th annual Lesbian and Gay Dinner Dance (whose webpage hasn’t been updated in, well, a while, but you get the gist), a local benefit for the AIDS Task Force.

Nathan & Garrett, Dinner Dance 2004

Usually a good time, and this year we had a table full of friends. Rich and Jeanne came in from Milwaukee, and Jeanne dazzled us all with her card playing competitiveness. If anything was missing, it was booze; for some reason, I just didn’t drink as much. Oh well, it was fun to watch Kacee (who is straight and a woman) give all the gay boys “fuck me eyes” on the dance floor. I’ll put up pictures at some point.

Sunday Garrett and I went to Indianapolis to meet up with my friend Michelle and Curtis. I went to Purdue with Michelle and Curtis, and now Michelle is working on her PhD at American University, so I don’t get to see them that often. It was great to see them both and spend the evening quoting MST3K and reminiscing about [STRIKEOUT:better] simpler times. Add to that the fact I managed to use Geertz and Wagner as a punchline, and you have a good time.

oh, the humanity!

oh, the humanity!

Of course, not all was wonderful this weekend. On Saturday afternoon, Melissa Minix ran into the side of my car with her lovely 87 Beretta (I’m guessing, but you get the idea). The experience turned a little surreal, though, over the past few days as her story went from “I don’t want a claim, I’ll pay for it myself,” to “You were so speeding, it’s not all my fault,” to “Well I was going to get rid of the car, so I was letting the insurance lapse, and don’t know if it has yet,” to “Maybe I could just pay your deductible and you could file it as a hit and run.” Right. So longer story short, I’ll probably end up getting fucked one way or another on this, but I’ve given up on “working it out” with her and will let my insurance company handle it from here on in. It’s just easier.

date:2004-10-12 12:10:39
category:my life

mozCC Update

From the mozCC News page:

mozCC 0.9.0 has been released. This upgrade includes support for the new Developing Nations license, as well as improved detection and support of the Sampling and Sampling+ licenses.

It’s not a huge upgrade, but more of a maintenance release; check it out and let me know if you find any bugs or have any suggestions.

I also just realized that the screenshots on the site are horribly out of date, displaying a details dialog that’s be gone for half a dozen releases. Here’s a new screenshot, showing off the new details dialog. And by “new” I mean “added in the last 9 months.”

date:2004-10-11 15:45:36


I watched most of the vice presidential debates last night and the only real suprise to me was the brief exchange over the issue of Gay Marriage. Two things struck me. First, I’m voting for Kerry/Edwards, but after Edwards statement of his opinion on gay marriage (“Senator Kerry and I believe marriage is between a man and a woman”), all I could think was, “Gee, John, thank you so much for standing up and saying I should be treated equally. Oh wait, I guess there wasn’t any mention of equality.” So far as I could tell, the Kerry-Edwards position boils down to, “Gee, we really should recognize their relationships once they hit their death bed.” Is this really the best we can do?

The second thing that struck me is how far from removed Cheney is from Bush on this issue. He all but said he disagrees with the president’s push for the Federal Marriage Amendment, while hiding behind that great conservative foil of State’s Rights. When Edwards praised him for publicing acknowledging his daughter, all Cheney could say was “Thank you for your kind words.” (coverage) Holy crap, his response almost seemed more humane than Edwards! So it would seem that what conservative Republicans really, really need is a gay family member to remind them just what “compassion” really is.

date:2004-10-06 14:51:58
category:my life, politics

Verifying Creative Commons Licenses

We’ve had command line implementations for quite some time, but today I released our new graphical lookup tool, imaginatively named ccLookup.

ccLookup is a GUI tool built on wxPython which allows you to drop a CC licensed MP3 on the app and lookup the verification RDF. There are currently a few cosmetic problems to be worked out, along with packaging issues. Currently we have a Mac OS X disk image and Windows .zip file available from SourceForge. Before we hit 1.0 we’re planning to create a Windows installer, as well as a Linux build.

Go on, try it; let me know if you run into trouble, or if you have any suggestions.

date:2004-10-04 21:00:28
category:development, projects