Added ATOM feeds for journals, photographs, and a combined feed. Also added EXIF support to photographs, such that files with EXIF headers (those from about the last year or so) display some shot information as well.
Also, I caught bash programmable completion completing paths on remote servers over SSH. I was copying a file from the laptop to the server, hit tab to complete the directory on the server side... and it worked. That was quite surprising, when I realized that my ordinarily useless request had actually been carried out. Hurrah for bash making my life easier.
I rewrote my old, Perl-based blog engine in Ruby on Rails, which was a remarkably refreshing experience. The old Ragnar database converted over cleanly, and I think journals, comments, and photographs should all be in order. In the next few days, I'll work on bringing up projects, ATOM feeds, and other things the old site used to have.
To celebrate the end of the year's training, we did many breakfalls last night. David-sensei informed me that our absolute maximum (read: his) goal was 1500, but people were free to set whatever number they wanted to reach. I conservatively estimated 100, but ended up doing 1007: a mix of of rolls and back-breakfalls, both from throws and in sets. It took roughly five hours, at the end of which I was quite sore, but very happy.
We had a windstorm arrive Thursday night as well, which led to downed trees, hundreds of thousands of homes without power, and terrific rains. That made for an entertaining landscape for the ride home, as I passed trees snapped over concrete soundwalls, and biked over acres of branches floating in 2 inches of water. My map claims these waterways are "streets", but I think they are happier as streams.
After the last three months, I've come to the conclusion: Ruby is a wonderful language, and I don't want to write code in Perl any more. I like Perl: it's fast, powerful, and has a terrific community around it. If you wanted to run your television through a LEGO USB IR transceiver, yeah, there's probably something in CPAN for that. However, I'm finding that the rocky syntax of Perl gets in the way of my thinking. I don't want to use $hash_of_hashes->{'key'}->{'key2'}
to get at at what should be a simple data structure. Using five special characters on a variable makes my code hard to understand, and makes it easier to cause bugs. It's a good language, but Perl has its limits. After spending months writing clean, joyful code, I think that the Ruby language maps more closely to the domains of the problems I'm trying to solve.
There are a lot of things I like very much about Ragnar: it's quite fast, extensively configurable, and compliant with web standards by design. XSLT transforms keep logic and presentation well separated, and the powerful query engine makes node-level logic simple. I plan to preserve the best aspects of this design, but refactor the code into a Ruby platform, separate node data taipus into a more traditional database schema for efficiency, and define a plugin architecture with callbacks for node lifecycle handling. For now, at least, I'll avoid the temptation to use Rails for this project: I prefer XSLT, and working this way is more fun for me. :-)
Last night, the esteemed Lady Mackin invited myself and several other persons of Quality to her family estate, Castle Evans, for an evening of merriment before departure for our respective winter residences. I was one of the earliest to arrive, and had the honor of joining Lady Rose Buckingham as we entered the Castle. She was quite cold, on account of doing some charity work just prior: making a bonfire and chocolate-graham-cracker confections with some young acquaintances.
After all the guests had arrived, I discussed matters of finance with the Viscount Burgandy, and learned of his families misfortune in recent years. I have no doubt, however, that such a venerable family as his will have no difficulty in weathering whatever vagaries of fate may come their way.
Spammers have started breaking through the session check, so I've started filtering content for high URL density. If your legitimate message doesn't get through, toss me a line so I can recalibrate the filter.
Update: More spam. They've switched to single-line links, tagged with [url]
. There's got to be a better way around this.
Here's a fun thing I just discovered.
If you bounce the tip of your tongue against the roof of your mouth (kind of like rolling an R) while forcing air out, it vibrates your skull a little bit. Try it. Go faster. Make that t-t-t-t-t-t faster and faster until it starts sounding like a buzz. Now, look at an LED alarm clock.
Last night, I ran into all sorts of strange behavior on my laptop--unable to log in, normal system calls taking forever to complete, and all sorts of network trouble. This morning I backed up my home directory to my work computer's hard drive (discovering, in the process, that NTFS disallows all sorts of common and innocuous characters in filenames) and ran into several IO errors. Checked the hard drive and (despite SMART claiming everything was fine) it failed the read tests almost immediately. I managed to swap in a new drive and restore most of my files to a fresh copy of Ubuntu (with a customized version of tar to overlook the errors in the archive I made), but I still lost a fair bit of data.
Question: Why can't tar take an argument to skip over damaged sections of otherwise useable archives? A few IO errors at the beginning of the archive doesn't mean the remaining gigabytes of data are unrecoverable...
I've added a check for a small session cookie when commenting. We'll see how well that works.
I've been getting hit with a flurry of blog spam from a large set of IPs. Looks like some sort of botnet. I've taken down commenting until I can write some countermeasures. :-/
What really confuses me about the net neutrality issue is when telco execs say things like this.
"Now what they would like to do is use my pipes free, but I ain't going to let them do that because we have spent this capital and we have to have a return on it. So there's going to have to be some mechanism for these people who use these pipes to pay for the portion they're using. Why should they be allowed to use my pipes?
The Internet can't be free in that sense, because we and the cable companies have made an investment and for a Google or Yahoo! (YHOO ) or Vonage or anybody to expect to use these pipes [for] free is nuts!"