Inspired by the m3s.pl script made by Scott Lawrence, and given the fact that he doesn't care anymore about it, I decided to see what I could do so that I could generate MP3 CDs that will play well with iTunes (like if they were regular audio CDs, but with huge capacity and without connecting to the network to fetch metadata).

It turns out that the script could really gain some improvements and that having it up to date has forced me to remember some Perl. I made a lot of successful, incremental improvements by encapsulating the code and making it reasonably readable (even with a language that people say that is only "writeable", but not "readable").

I implemented things inserting data into a hash and then using the name of the types of the fields that have to be in the ContentsDB.xml file to write the appropriate values, but then I saw that what I was doing was quite silly and implemented things in an easier, cleaner way. Taking care to have things encoded in utf-8 and escaping the & character when writing the XML file.

The original program used the MP3::Info module to gather information about the songs. This module isn't as rich as the MP3::Tag module (which is able to get track numbers, track counts, disc numbers, and disc counts, just off the top of my head). This "new" module is quite good and more flexible and that's what I adopted.

Also, to traverse the directory tree, I am using File::Find, instead of a home-brew solution to the problem. There is only one thing left for the script to be finished: having it write correctly the "numerical path", as Apple likes to call it.

Well, remembering things about references, compound data structures, object orientation, the use of modules etc. has made me gain some interest in Perl again. I think that I will make some effort and learn it again.

Oh, and I just submitted my third patch for the Linux kernel: it fixes the compilation (and recognition) of the MTD device of the Kurobox HD that I have. Now, I am running a brand new 2.6.29-rc6 kernel (yes, yes, it is brand new right now, but at the breakneck pace with which the kernel is moving, it will soon be quite outdated; I will try to keep the powerpc part of things in shape, though).

And last, but not least, was the fact that I was submitted to a biopsy (the original idea was for it to be just a colonoscopy, but I had some inflammatory process in my elbows and some material had to be removed for analysis).

I don't really think that I am finished with all these health things, but I surely made some improvements.

Oh, I lied when I said that the biopsy thing was the last one that I would write about. I am in the process of compressing movies with the help of the divxenc, xvidenc and h264enc scripts to generate videos that are appropriate for playing in some set top boxes and getting smaller files (which means that I will make my small NAS last a little bit longer).

And since I discovered how to register myself on the iTunes music store, I am downloading some German Podcasts. Will I be able to learn some German? Well, I dearly hope so. My only grief is that I am desperately running out of space and I will have to rethink my backup strategy to leave some room for things to come.

And I also played a little with MacOS X Tiger on Intel and the fact that my e100 card didn't work with Tiger out-of-the box. I had to use a special kernel extension for this very purpose. The only thing that annoys me a lot is that I can trigger kernel panics with the JaS kernel 10.4.8 in a deterministic manner. Upgrading the kernel to 10.4.10 made my system not mount some disk images (and even "real" disks, like my iPod video). I should, perhaps, try Leopard here to see how things are structured and to see the changes that Apple has provided to the system.

Regarding some cutting-edge programs, I saw that some programs were removed from Debian after the release of lenny, since upstream is inactive or dead. Too bad. But the nice side of things is that snapshot.debian.net is a terrific service to the community and I've compiled things from there and got excellent results. I think that I may even create a non-official repository with some multimedia programs (and this includes, say, a newer, multithreaded version of mplayer and newer libraries). I think that I will submit some more bugreports (like the Real Video files from Ars Technica that can't be played).

And one last thing: (this one is really the last thing that I will comment now) is that I finally will re-record my audio (and video) things on digital media, so that I can preserve it without the loss of magnetic media. This is a time-consuming activity, but I think that it is worth the effort, especially if I use an automated setup like Audacity's noise removal tool. Or is it better to use sox for this task? I guess that I will have to experiment a little.

blog comments powered by Disqus