It’s Just That Easy

I’ve been working on a new extension for Mozilla, and spent the better part of yesterday afternoon beating my head against a problem (as usual). When working for a XUL template, how the hell do you get the absolute URI for each resource you’re generating? For the unfamiliar, templates allow you to use RDF to generate content in your application. Mozilla does this with bookmarks, mail folders and even mail messages. And every item in the RDF resource has a unique URI. And the RDF schema’s documentation is, well… nearly non-existant. At the end of the day yesterday I was completely frustrated.

This morning I had a “brilliant” thought about how I could use other properties to interpolate the URI. So I implemented that in my prototype, and it mostly worked. Two hours; not bad. And then I just had a thought: I wonder what element id the template generates by default? (I was just wondering if they were unique) So I wrote a test program, and there it was: the id is the absolute URI . Now, maybe that’s documented somewhere. Maybe I overlooked it. But it should really be IN BIG F***IN CAPITAL LETTERS somewhere. Sigh.

Lizzard, you almost beat me. But not this time; not this time.

date:2003-12-12 10:32:21

A Few (Musical) Notes

I’ve been busy with papers and exams for school the past few days, but am happy that I turned in my final research paper last night. Now it’s just finals, and then a break. The nice thing about working at a school as well as attending school is that I actually get a Winter Break. I can’t wait.

Since I’ve been doing a lot of writing for one class and a lot of programming for others, I’ve been spending quite a bit of time at my computer. I’m on a perpetual quest for the perfect work music; something that allows me to block out the world, focus on the work, and become “inspired.” Now I have a new favorite: The Soundtrack to The Hours. Mark was right, as usual. Phillip Glass does an amazing job of conveying the emotions of the book and film through music. The Hours is one of my favorite books, one of my favorite films, and now one of my favorite CDs.

There’s a well-trodden adage comparing programmers to musicians, and while I have certain doubts about it’s truth, I do find myself more focused (productive?) and creative while listening to music such as this. And naturally I want to share what I’m listening to with others.

As an iTunes and Movable Type devotee, the iTunes Trackback Script is cool; it queries iTunes and posts trackbacks with the artist and title of what’s currently playing. But I want something better. What I really want is something which queries iTunes, sees what’s playing, gets cover art from either iTunes or Amazon, and then creates a post for the album in a particular blog category. I know all the pieces are available to make this an accessible task; maybe during break. Maybe using PyObj-C.

And on the subject of iTunes; wouldn’t it be cool to add Creative Commons licensing verification? Maybe display the attribute icons in the “LCD” area? Just an idea at this point; anyone know if iTunes provides hooks to draw things differently, or display different “tags” there?

date:2003-12-11 09:07:42
category:my life

Eating my own dogfood

At work my workstation runs Gentoo Linux. Gentoo appeals to the control freak in me: I like being able to build software from scratch with a minimal amount of hassle. And their tools are a cool use of Python. But due to a profile glitch in Mozilla Firebird, I haven’t been able to use mozCC with my profile, and have been just too lazy to deal with exporting bookmarks, etc, etc to get a new one created.

Over the weekend I updated Firebird on that machine to 0.7. Imagine my suprise this morning when I fired it up and the (CC) toolbar icon was there! Holy shit! Somehow my profile was magically healed!

But that’s not the best part. Browsing Boing Boing, I noticed the attribute icons on the status bar and realized “Hey! They’re licensing their work! Cool!” Now I know that they have the Creative Commons button at the bottom of the front page, but I’ve just never scrolled down that far. And I don’t mean to stroke my own ego (OK, maybe a little), but I suddenly realized just how convenient mozCC is to me, personally. Which is just a little more motivation to get off my ass and get the new release put together.

date:2003-12-08 09:50:53

ccRdf 0.3.0 Available

After some great debate and discussion with Mike and Ben, ccRdf 0.3.0 is now available. Improvments include smarter handling of predicate-object pairs in the RDF and clarification of the API. You can find more information here. Enjoy.

date:2003-12-05 07:14:10

WordCited 0.9.3 Available

While of questionable interest to many of you, I’m still pleased to announce that the first public release of WordCited has made it out the door. WordCited is a plugin for Microsoft Word which allows you to create MLA Works Cited (nay, Bibliography) entries with a minimum amount of pain. You can find all the pertinent information at Yes, it’s written in Visual Basic. I’m not proud of that. But it is Open Source. If you write academic papers, or just need to cite your sources, I think WordCited will help you out.

date:2003-12-04 13:14:11

What the hell?

Ok, I love MIT’s OpenCourseware initiative. I think it’s a cool idea and a great contribution to the commons (my words, not theirs). But this post to Phillip Greenspun’s blog just pisses me off. In the words of Jill Sobule, “why are all our heros so imperfect?”

For your enjoyment, and apologies to Nina Totenberg :

Question: Why did you choose Microsoft Content Management Server? Answer: We read a Gartner Group report that said the Microsoft system was the simplest to use among the commercial vendors and that open-source toolkits weren’t worth considering.

Question: Who did the coding and development for you? Answer: Why cheap-ass coders in India, of course. (paraphrased)


date:2003-12-03 07:56:38

ccLicense is now ccRdf

I’m very happy to announce that is now ccRdf. And this is more than a name change. Previously existed only to serve the needs of ccValidator. While it was initially intended to stand on it’s own, I destroyed that objective in my haste to get the validator working. After some friendly prodding from Mike and Ben, and some good discussions about what the API should look like, I’ve rewritten the code as it’s own Python module. And because it handles more than just licenses (works, for one), it’s now ccRdf.

First, where to find it. I’ve put up a very simple page for it here. You can find download and documentation links there, along with a brief description.

Second, expectations. I hacked the code together this afternoon, so there may be omissions or bugs. I’ve done some simple testing, but it hasn’t undergone any extensive testing. At all. I’m planning to port ccValidator over to it in the very near future, which I believe will help expose flaws in the design and bugs in the code.

So download, code, enjoy, and as always, feedback, criticism, and bug reports are welcome. You can e-mail them to if they’re ccRdf specific.

date:2003-12-02 15:14:03

Cool things I don’t have a use for

While doing my morning surfing I ran into two very cool items which I don’t presently have a use for. But I want to.

First, Ryan Wilcox writes about PyObj-C, the Python-Objective C bridge for Mac OS X. I’ve seen this mentioned before, but Ryan has a good post that makes me want to try it out. And I would, if not for some nagging belief that programs should work. Anywhere. I mean, I love my Mac. I love developing software on it, and I love the fit and feel of it. But if I write some software, I’d like to be able to share it with my unenlightened friends running Windows, and I’d like to be able to use it at work where I run Linux. I suppose there are some things that I’d be happy to have as Mac only, I just haven’t come up with a good one yet. But when I do, PyObj-C, here I come.

Second, an addition to the already excellent Eclipse Project, the Visual Editor project brings GUI building to Eclipse. I don’t do much with Java, and wouldn’t know if at all if not for the fact that most of my Computer Science courses use it. I guess I’ve developed a grudging respect for it. It’ll do in a pinch. When Python’s not available. We’re required to use Borland JBuilder for class. JBuilder is possibly the worst IDE I’ve used. It definitly doesn’t meet my expectations for Borland tools, which are based on years of Turbo Pascal and Delphi use. But it did do Swing GUI’s, so I couldn’t recommend Eclipse to my professors. With the addition of VEP, though, Eclipse is now the clear reigning Java IDE in my book (don’t even mention NetBeans, please). Now if I only had a Java project to use it on…what am I saying? Wishing for a Java project? I have to go lie down.

date:2003-12-02 08:41:04

Back at it…

So I survived the holidays and am back to work today. Yes, I did take some time over the weekend to realize just what I’m thankful for. No, I don’t want to talk about it.

So I’ve spent most of my day today working on a few fronts. First, trying to integrate help into WordCited. I’ll be damned if I can get it to work consistently, and I’m kicking myself for agreeing to do Windows development.

Second, I’ve been working (not just today, but for the last week or so) on squashing some mozCC bugs. I’ve taken care of a few, and am preparing to release an upgrade to mozCC. If you’ve had problems with it, or have suggestions, now is the time to let me know.

Finally, I’ve been working on refactoring and improving my Python library for handling Creative Commons metadata, I blogged about the need for improvements here and am working to take care of those issues. It’s also going to finally get it’s own module in CVS in an effort to separate it from the validator.

date:2003-12-01 18:29:22