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. :-)
It'll be nice to have a new project.
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.
Then I made the acquaintance of a rather eager young gentleman--of French decent, but don't let that deceive you--Mr. Adrian d'Artagnan, of D'Artagnan Dirigibles. He proudly informed me of his expansive dreams for a world filled with airships, soaring from continent to continent faster than any sailing vessel or steamship. I, having made some modest gains investing in the astounding and modern of industrial developments, was most excited to hear of his companies success. I plan to make an sizable investment in his company--provided, of course, its financial records and projections are satisfactorily in order.
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.
On a related note, what kind of questions does every english-literate person know the answer to?
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.
Far Out! My guess is, those lights that make up the numbers on your alarm clock are flicking on and off all the time! As your 'ttttt' vibration approaches the frequency of the clock, you start seeing the lights turn on in different parts of your visual field. Your brain doesn't know what's going on, and stitches it into a cohesive image of the little bars sliding up and down. The rest of the world is lit up 100% of the time, so it just looks a little blurry.
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...
After a few busy hours, things are working smoothly again. Everything important for work has been recovered, and I'm polishing the asset tracking system I've been working on, in hopes of deploying it before my departure Friday. All things considered, I am quite thankful this misadventure occurred when it did--recovering data is the last thing I want to do in the few hours before leaving. :-)
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!"
AT&T is a tier-1 network (specifically, AS7018), which means that it connects freely (peers) with other tier-1 networks. Tier 2 networks peer with some networks, but also purchase transit with tier 1 networks, offering money in exchange for the larger network relaying packets to other destinations. Consumers (both individual and business) often purchase bandwidth from tier 3 networks, which are connected to other networks only with transit agreements. Hence, when a company like Yahoo or Google purchases an OC-192 or what-have-you from a second or third tier network (an ISP), part of the money they pay to that ISP is used to purchase transit with larger networks like AT&T.
Today was my first day at the new dojo; after three weeks without training I was excited to get back into things. It's a bit of a trip to get there--about one and a half hours by bike and light rail, but it was well worth it. I hope to make it out there three times a week.
A few things were different--stretching followed different patterns, white/black belts only, and a second bow for entering the mat, in a different direction... I haven't figured out that one yet. However, the rest of the class went smoothly, and was a great experience. Everyone was very welcoming and friendly, worked hard, and there was very good energy. At the end I was asked to lead stretches, which was somewhat unexpected, because I had never seen these exercises before! I managed to make it through the whole series, but it was definitely an exciting experience.
One thing was mentioned at the end of class which quite surprised me: apparently Akira-sensei is coming here in a few weeks! I guess I'll be training hard. :-)