ccRdf is now available for
download. This release
fixes several bugs related to the getAll and getFirst methods of the
rdfDict class. There have also been minor internal implementation
In addition to bug fixes, I want to note a change in functionality. In
previous versions, casting a rdfDict to a string returned it’s RDF
subject. This is no longer the case. str now returns a contrived
string representation of the current instance, based (very) loosely on
the Dublin Core Dumb-down
someone has a suggestion or better implementation, I welcome it. You can
still access the RDF subject using the subject attribute or the new
ccValidator 1.3 is now available. It’s running live at
and you can download the release tarball
This release is mainly a syncronization release; ccValidator now uses
the ccRdf core. Porting ccV to
this architecture simplified many areas of the code, and provided an
excellent test bed for ccRdf. I found a few bugs, and made a few
improvments, so there will be a release of ccRdf soon to finish up the
syncronization of work.
In addition to ccRdf, ccValidator now sports its own
validation image. If RDF parsed from a URL validates properly, you’ll be
provided with a bit of HTML to allow you to link to the validation
results. Cool, huh? Thanks to Mike L. for the idea.
Thanks for the feedback from all my testers; let me
know if you encounter any
problems or have any suggestions.
This week, under the stress of finals and the holidays, I finally
cracked. I became one of “those people.” By “those people” I mean the
ones who treat their pets like children, feign offense when some refers
to them as “just a dog” and dress them in the canine version of whatever
Gucci puts on the runway that season.
OK, so I haven’t succumbed quite that far, but we did take the “kids”,
Madeline and Bosco, to get their picture taken with Santa Claus.
Overall, I think they were a little underwhelmed; after all, my dad
gives them much more attention and doesn’t wear a creepy red velour
suit. But it was for a good cause. Or so I keep
I just finished my final paper for Intermediate Expository Writing.
After I drop it off this afternoon, I’ll be done for the semester.
Good-bye, Data Structures; good-bye, Assembly on the IA-32; good-bye,
Expository Writing. You will not be missed.
Groklaw has published an excellent
of just what the GPL is and is not. And why we don’t want your stinkin’
proprietary code. Groklaw continues to amaze me with the consistent
clarity and accessibility it maintains while explaining concepts that
aren’t always clear to me. Thanks, Groklaw!
So the Atom 0.3
is out. For those of you not following the action, Atom is a community
driven syndication format proposed as an alternative (nay, better) to
RSS. Mark Pilgrim
release with lots of relevant links. Also check out the presentation
Atom In Depth given at
XML 2003 by Sam Ruby. Oh, and yergler.net
is now Atomic.
This morning I finished an update to
ccValidator. This update is
mostly a code cleanup. It finally moves the validator away from the
god-awful cclicense.py module (I wrote it; I can say it) to
ccRdf. I haven’t tested it
extensively yet, so I haven’t updated the production validator yet.
That’s where you, dear reader, come in.
I’d love it if you could try it out at
I’d appreciate hearing any feedback about your experience with it. If
things are working as expected, you shouldn’t see any difference between
the output you get from the test
instance and the output you get
from the production
instance. Thanks for all
I read about Mark Shuttleworth’s Open
Source bounties on
Mozillazine a couple weeks ago. What was the most interesting to me was
the fact that he focuses on three areas I’m really interested in:
Python, Mozilla and
Education Technology (SchoolTool is what he’s sponsoring; Stoa is what I
So during some of the time I should have been studying for finals this
weekend I put together a prototype inspired by one of his requests.
makes an excellent point: it’s ridiculously hard to file mail in
Thunderbird (and probably Mozilla Mail; I just don’t have much
experience with it). So I’ve put together QuickFile.
QuickFile is an extension for Mozilla Thunderbird which is aimed at
making it easier to file messages. Right now the operation is pretty
simple: select the message you want to file and press meta-Q (currently
hard-coded; sorry). This opens the QuickFile dialog, which shows a list
of your mail folders. You can start typing, and it will match as you
type. Pressing Tab will expand the currently selected item (if
possible), and pressing Enter will move the messages to the selected folder.
You can install it by first saving
to your computer. Then in Thunderbird, go to Preferences/Options, select
Extensions and click “Install New Extension.” Select the XPI file, and
it will prompt you to confirm installation. Note that this has only been
tested with Thunderbird 0.4 on Mac OS X and Linux, so if it eats your
profile/mail/puppy, that’ll really suck.
While this is just a “first draft” I think I can build onto it in some
interesting ways. I want to add a customizable hot key, the ability to
assign hot keys to specific folders, and “predictive” (Bayesian) folder
selection, as Mark describes.
Anyway, try it out, let me know what you think. I really enjoy getting
feedback, whether it’s critical or positive. Enjoy.
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
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.
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
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
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
one of my favorite
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
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?