I’m going to change the file format and break the DTD for Bookcase 0.7. Since I’m expanding Bookcase to cover DVD or CD collections, I don’t want to write them into <book> elements in the XML data file. Rather than using a different element name for each collection type, every book, DVD, CD, or whatever will be in an <entry> element. Then, the collection type will be an attribute in the <collection> element containing all the <entry>s.
And since I’m making that tweak, I’m going to go the full hog and change <attribute> to <field>. I don’t remember why I called them attributes in the first place, and I was even confusing myself in the code, since I had <attribute> elements which had attributes themselves, in the XML sense.
Finally, based on a suggestion from Joseph Reagle, and explained in his paper Eskimo Snow and Scottish Rain*: Legal Considerations of Schema Design, I’m changing the Boolean fields so that they don’t have a
default implicit semantic for an absent element. That means that rather than having <read/>, I’ll have <read>true</read>.
I also thought about using <value name="author"> rather than <author> which would allow me to write a definitive DTD, which would apply even if the user added a custom field, but I decided not to. Following the DTD is not that big of a deal, it would unneccesarily increase the file size, and just plain looks ugly to me.
These changes mean that anyone with custom XSL stylesheets or exporters, like Joseph’s jpilot converter, will break on files saved by Bookcase 0.7 and newer. I don’t think that’s a big deal – Joseph is a very clever fellow and these are relatively minor changes – and besides, It’s only version 0.7, not even 1.0 yet! Bookcase is hobby software, after all… 🙂
The Galileo project came to and end this afternoon as JPL crashed it into Jupiter to avoid contaminating Europa with any Earth life. Galileo is another one of JPL‘s crown jewels, operating for far beyond its design lifetime, and sending back tons of valuable data, even without its high-gain antenna. The New Yorker has a great story about the final day and mission recap.
Disregarding all political overtones, this quote attributed to California Governor Gray Davis is just hilarious to read:
“My vision is to make the most diverse state on earth, and we have people from every planet on the earth in this state. We have the sons and daughters of every, of people from every planet, of every country on earth,” he said.
Next thing you know, we’ll have Martians landing in Sacramento, asking for a driver’s license.
Buchan Milne emailed me today, letting me know he had put Bookcase into Mandrake‘s contrib software repository. He also passed on some changes for the RPM spec, which I’ll incorporate into my own spec file.
I’m not sure if Bookcase made it before the fork for the upcoming 9.2 or not, but it sure is neat to have it there. Anyone who uses Mandrake cooker and has urpmi configured with a contrib source can just type urpmi bookcase now to install it, rather than using my self-built RPMs.
Wow, a Gentoo ebuild, Debian unstable, and Mandrake contrib, all in one week!
Thanks to the work of Regis Boudin, Bookcase is now part of the Debian GNU/Linux distribution. Some library symbol bugs were fixed, and a wishlist item has already popped up for spreadsheet import. I hope to have CSV import done for version 0.7.
UPDATE: Regis asked me to mention the help of Antonin Kral, who helped with the packaging and sponsored Bookcase into Debian. Very edifying to me to see Bookcase in there with such great software!
I’m trying to settle on the default fields for the video collection. I figure it will be mostly used for DVDs and maybe videocassettes, but I don’t want to limit it too much. Right now, my default fields are:
- Medium – DVD, VHS, VCD, or DivX
- Year – production or release year
- Format – PAL, NTSC, or SECAM
- Region – DVD Region Encoding
- Nationality – country of release
- Rating – G, PG, PG-13, or R
- Cast – a 2-column table for the actors and their roles
- Language Tracks – audio language tracks
- Subtitles – subtitle languages
- Audio Tracks – I need a better title for this – it’s for DTS, Dolby, etc.
- Runnning Time – A numerical entry, running time in minutes
- Color – color or b&w
- Other Features – things like music videos, deleted scenes, etc.
- Widescreen – a checkbox
- Director’s Cut – a checkbox
- Plot Summary – a textbox
- Personal Rating
- Purchase Date
- Purchase Price
- Gift – a checkbox
- Loaned – a checkbox
Of course, the user is free to add, modify or delete fields however they want. The default fields will be the ones that get translated, though, so I want to have a good set. I’ve looked at several other DVD Collection applications and these seem to be the common set of fields.
Bookcase 0.6.6 was imported into Gentoo‘s CVS, and should show up in the app-misc category, at some point. At least, I think it is 0.6.6. The bug was originally for 0.6.4, and it’s listed as 0.6.4 in some places.
I’ve been listening to a Celtic Radio station, Highlander Radio, at work lately. Their playlist includes several songs by Heather Dale. I liked her song, The Trial of Lancelot, so much that I bought the CD of The Trial of Lancelot from Amphisbaena Music. They had prompt shipping and I received the CD yesterday. It’s been playing non-stop since! I also really like Miles To Go. I’ll probably end up buying some of her other CDs, too.
The power of Internet radio.
Chris Heilman has a neat photo of Mars with the moon behind a tree. [seen on Scripting News]