Computers: June 2004 Archives
I just read about everybody's favorite blogger -- who shall remain nameless, because I don't wish to discuss him -- shutting down a popular blogging site he was running, without notice. One person commented thusly:
Also, we are today going to be shutting down use.perl.org for some major code upgrade, which will also mean data upgrades. And something bad things happen.
So I wrote this little script, to save all my use.perl.org journals (using the SOAP interface). Share and enjoy. Only TorgoX, for now, would need to change $max.
Ideally there should be a good way to not get all the entries in the first run, but only the necessary ones. Maybe the next time I modify the SOAP interface, I'll do that. Maybe an additional parameter for get_entry, to note the last entry you don't want.
Also, if you modify a journal entry, this won't help you, as there's no last modified time or anything of the sort. Just rm your local file.
There you go boys and girls: the number one reason why you don't want to go with a hosted solution, and if you do, backup. Frequently. No matter how nice or cuddly or professional the host -- back your material up at least weekly. Never give anyone control over what happens to your writing. Never.Sound advice, that.
Also, we are today going to be shutting down use.perl.org for some major code upgrade, which will also mean data upgrades. And something bad things happen.
So I wrote this little script, to save all my use.perl.org journals (using the SOAP interface). Share and enjoy. Only TorgoX, for now, would need to change $max.
Ideally there should be a good way to not get all the entries in the first run, but only the necessary ones. Maybe the next time I modify the SOAP interface, I'll do that. Maybe an additional parameter for get_entry, to note the last entry you don't want.
Also, if you modify a journal entry, this won't help you, as there's no last modified time or anything of the sort. Just rm your local file.
#!/usr/bin/perl
use warnings;
use strict;
$ENV{TZ} = 'GMT';
use Data::Dumper;
use Date::Parse;
use File::Path;
use File::Spec::Functions;
use SOAP::Lite;
my $host = 'use.perl.org';
my $uri = "http://$host/Slash/Journal/SOAP";
my $proxy = "http://$host/journal.pl";
my $uid = 1;
my $backup = catdir($ENV{HOME}, 'Documents', 'journal', $host);
my $max = 1000;
mkpath($backup);
my $journal = SOAP::Lite->uri($uri)->proxy($proxy);
my $recents = $journal->get_entries($uid, $max)->result;
for my $recent (@$recents) {
my $id = $recent->{id};
my $file = catfile($backup, $id);
next if -e $file;
my $entry = $journal->get_entry($id)->result;
open my $fh, '>', $file or die "Can't open $file: $!";
print $fh Dumper $entry;
close $fh;
my $time = str2time($entry->{date});
utime $time, $time, $file;
}
OK, so we all know some of the details about AirPort Express by now. Some things that may not be well-known or understood:
- All audio is transferred to Express via Apple Lossless Encoding.
- You can get digital audio out using a plain old optical cable and a Toslink adapter (the thingy that has a metal prong on one end that plugs into a 3.5mm jack, so digital/analog can share the same jack).
- Noting the two previous facts: you can output digital audio to your receiver, as long as it knows how to decode it. So now I can rip my DTS 5.1 audio CDs (44.1/20-bit audio) losslessly and stream it from iTunes through AirPort Express to my receiver. DTS 5.1 audio CDs are just PCM data, like any audio CD. But if you don't get it properly through an decoder, it just sounds like noise. But iTunes + AirTunes + digital connector + DTS-decoding receiver = proper decoding. Of course, don't expect much compression with Apple Lossless Encoding on these files ...
Mac-Glue-1.21 has been released. Download it from the CPAN or SF.net.
(Note: it may take time for the release to propagate to the various download mirrors.)
Changes:
(Note: it may take time for the release to propagate to the various download mirrors.)
Changes:
* v1.21, Tuesday, June 8, 2004Posted using release by brian d foy.
Make launching work better for bundles. (wren argetlahm)
Minor little fixes.
No longer create glue for DiskImageMounter (wasn't really useful,
and often failed).
Mac-Apps-Launch-1.90 has been released. Download it from the CPAN or SF.net.
(Note: it may take time for the release to propagate to the various download mirrors.)
Changes:
(Note: it may take time for the release to propagate to the various download mirrors.)
Changes:
* v1.90, Tuesday, June 8, 2004Posted using release by brian d foy.
Make SetFront() and IsRunning() work properly with bundle IDs and paths.
My internal HD in my server seemed to be dying. I am not sure what's wrong -- nothing I tried revealed problems -- but some files were unreadable (like Console.app's executable). So I needed to replace the HD, or risk waiting until it completely died.
The thing is, my server is a PowerBook G3/500. HDs are not cheap. So after mulling over the possibilities, I decided to take one of the two external FireWire HDs connected to the server (via a 14-foot cable, so they are in the closet) and repartition it so the startup volume is now there instead. And now, I have no internal HD.
Now, what I at first didn't think about when devising this plan is that one of my biggest annoyances with my server is the noise the internal HD makes. It's pretty loud, and always has been, but now, it's gone. For some reason it would spin up periodically, so I removed it altogether. It's kinda weird to type on the keyboard since the machine is quite a bit lighter. But the important thing is that it is nearly silent.
Right now the only loud noise in the room is the room's fan, and the old Linux box in the closet, which is muffled by the closet doors, and is only on for a week or two while I finish up some development on it.
The thing is, my server is a PowerBook G3/500. HDs are not cheap. So after mulling over the possibilities, I decided to take one of the two external FireWire HDs connected to the server (via a 14-foot cable, so they are in the closet) and repartition it so the startup volume is now there instead. And now, I have no internal HD.
Now, what I at first didn't think about when devising this plan is that one of my biggest annoyances with my server is the noise the internal HD makes. It's pretty loud, and always has been, but now, it's gone. For some reason it would spin up periodically, so I removed it altogether. It's kinda weird to type on the keyboard since the machine is quite a bit lighter. But the important thing is that it is nearly silent.
Right now the only loud noise in the room is the room's fan, and the old Linux box in the closet, which is muffled by the closet doors, and is only on for a week or two while I finish up some development on it.