I’ve moved red13 to a faster box.
I also took the time to add some caching to the gedcom app. I had a slight problem figuring out how i should track how fresh file are in the cache. I decided that a solution could be to append at timestamp to the end of the cache key.
Split.
Please, someone, give me a good reason why Split( str, "" ) returns str?! I want to be able to do something like:
my @chars = split(//, $str);
But noooooooooooooo…..
Having read the second page of Nat and Tom’s “Cooking with Perl” article, I really wish scalar I/O was available in earlier versions of perl. In my SAUCE and XBin modules, i use a combination of a $counter variable and the substr() function to read data out of strings. Instead, I could then use the same read_data() and write_data() methods as i do with regular filehandles.
Handy.
Looks like CPAN is alive again.
This means that version 0.02 of Image::XBin is online. I fixed some nasty errors including the name of the module and an incorrect prerequisite in the Makefile.PL script.
You can now actually save XBin files — uncompressed only — but it works loading a once compressed XBin and saving it as an uncompressed one. I hope to try an RLE algorithm soon. The XBin RLE is a bit funky because you’re only supposed to do it on a line by line basis.
testers.cpan.org is now using acme’s CPAN::WWW::Testers module. Response times have significantly improved. Hooray!
And, on an unrelated note, I went out this weekend and got $60 bucks worth of spare parts needed to make another machine. I got a decent case for $20 since it was damaged in shipping. The dent was easily repaired. I now have another Trustix box (750MHz machine, rather than 166 :) ready. I’ll be making the switch sometime this week. Now, I just have to figure out what to use the old machine for!
I put my webserver back up yesterday. robots.txt should deny all bots from indexing /gedcom. *phew*
I’ve uploaded four modules to CPAN:
Image::XBin being the only new module. Still a lot of work to do on it, but it’s been sitting on my home machine for a while so i thought i should release it. One of the bigger things to do is to write a save() routine. The routine will be easy for an uncompressed XBin. However, I’ll have to figure out how to do a decent RLE compression algorithm. (The spec talks a bit about it…)
Ugh. I had to take down my web server for today due to the fact that google wanted to index that gedcom stuff, which ended up crippling my (blazing P166) system. I’ll have to speed up development on the static-index serving part of that app.
I also tried out some wireless speakers. Damn, they suck. From a bedroom to the deck in the backyard (15 feet, same level, 1 wall) the sound ended up being quite echoed and the voice track was basically non-existent. Frig. Is it just me or is wireless audio a PITA?
I was able to add authentication by subclassing LWP::UserAgent and overriding the get_basic_credentials() sub. I also had to switch from simple_request() to request() in order for that sub to be called automatically. I also had to turn off auto-redirects ($agent->requests_redirectable( [] );) so i can decide how i want to proceed when a redirect is returned.
The w3c has a few test pages allowing me to test out the authentication.
I’m now eval’ing any RSS data i get (eval { $rss->parse( $data ); };) so i can stop any malformed XML from being injected into the cache and buggering up the aggregator.