These are some of the newer things that I've published, that are too boring to get it's own pages:
I've written a small utility that downloads your favorite programs from http://tv.tv2.dk and uploads it as appointments into your Palm Pilot datebook, run it once a week and you will always have your tv program at hand: tv2pilot.tgz [12K].
Tv2pilot features:
The menu and download link generator and site uploader code, 92 lines of perl that makes sure that this site has a consistant menu on top of the pages, that the header/footers are in order and that the download links have a sensible text and size of the files, with this it takes about 2 seconds to update the pages and upload them to my webserver... See how it's done: siteutils.tgz [12K]
I'm currently experimenting a bit with making YAIG (Yet Another Image Gallery) it's stull not much but it's easy to deal with...
I've written some routines to do alphablending and pixel format conversion in one pass, the input format is BGRA (LSB is Blue, MSB is Alpha) the output formats are the popular 15,16,24 and 32 bit modes found on different video hardware I have access to, the Framebuffer class mentioned in the source is simply a wrapper around the Linux framebuffer datastructures, the source will need hacking to be useful, but it is here: composers.tar.gz [12K]
This is a small script I wrote in Perl to make it easy for me to say: "Take these directories and fit them onto a number of cds", the script figures out how large each directory is and tries to fill up as few cds as possible, then it runs mkisofs and cdrecord to make the cds, get it here: backupdirs.tar.gz [12K].
One very annoying fact about this is that when I back up my photos I'm actually feeding the evil music industry (yeah I know it's like saying "round circle") because the CF card in my camera as well as the cds I use for the backing up all carry fees that directly benefit the music industry eventhough my camera doesn't play music and my cds contain only photos.
The only logical conclusion I can come to about the unfair music industry tax on all removable media is that we have some seriously corrupt politicians in this country or that the music industry has very good lobbyists, either way the only permanent solution seems to be to cut off the cashflow to the music industry as effectively as possible, so Don't buy cds.
I don't care why the music industry is doing what they are doing, but their actions are hurting me, as well as a lot of others that have no part in their silly "war on piracy", I used to buy a fair number of cds each year, but I stopped when I figured out that I was giving my enemies more money which they use to take away my rights.
The music industry needs to die, the sooner the better, I don't care if it dies because people boycut them (like I do now) or it dies because the mindless masses pirate their products (like they do now), as long as we completely destroy the music industrys power to lobby for the removal of my rights.
I just got a delou gps it's a small USB/serial connected device that contains both the active antenna and the GPS receiver, without doing anything other than plugging it in it will start transmitting NMEA-0183 messages at 4800 baud, 8n1.
If it's the usb version then you need the pl2303 module (Prolific 2303 single port serial driver) that is part of the standard kernel.
The delou GPS transmits 4 kinds of messages: GPGGA, GPGSV, GPRMC, GPGSA using that nmea reference I've written a simple message parser for perl that will take care of parsing those 4 message types: gps.gz [12K], feel free to use the code under GPL.
The parser works by parsing all the NMEA messages it understands and putting all the parsed data in a hash (called %gps) where the rest of the application can read it from in a simple manner, the parser also takes care of collecting all GPGSV messages into one datastructure before making that datastructure available in the "ready" location.
The program will need hacking to make it useful, as it is now it simply parses all messages and displays the datastructure once every 10 seconds via Data::Dumper