We're shortly off for my friend R's New Year's Eve party. Of course, we're getting our first significant snowfall of the year right now: hopefully this will not reduce attendance, I know she's been putting a lot of effort into throwing this fancy shindig.
Our family friend D came by today to begin her annual viewing of the Lord of the Ring's movies. We try to do them all in one day, but this year we watched the first film today, and the other two tomorrow. The timing on watching 14 hours worth of video just didn't work out, particularly because D has a hard time getting anywhere before noon. How the girl holds a job is a mystery to me, because she's a night person of the first water.
This year has been eventful, what with our Germany trip, the remodeling project, and replacing our wrecked car. I wouldn't mind it if 2007 were a little more boring than that! And of course I hope that by this time next year we're out of Iraq as much as possible, that our president and vice-president have resigned in a fit of conscience, and that monkeys fly out my butt bearing sacks of gold.
See you next year!
Santa has come and gone. In his wake, a torrent of presents under the tree. So many, in fact, that The Boy was moved to say "Wait, this seems like too many presents."
Noted. The list is on the computer: next year, fewer presents. But as I pointed out to him, the life of a contractor is uncertain - next year I may be unemployed, and the gifts may be limited to what we can fashion from items around the house such as uneaten ramen noodls, paper plates, and old car tires. Enjoy it while you got it.
One of the presents that was most notably NOT a hit was the cat's new "safety collar."
The safety collar came with an engraved name tag bearing the telephone number of the cat's owners, and a plastic "safety" clip designed to release if the collar became hooked on something and threatened to choke the cat. I carefully adjusted the size of the collar, making it a little more snug than seemed intuitively reasonable. Cats can escape almost anything, and that a cat's neck is actually rather narrower under its fur than one might suspect.
We put the collar on the cat, and he seemed fine with the fit, fully able to breathe and move his neck. We watched with amusement as he tried to locate the bell tinkling just beneath his ears. Soon, we figured, he would grow accustomed to the tinkling noise: for now he was so overstimulated by all the presents with their sparkling, crinkling papers that he barely noticed the bell.
Unfortunately the cat has recently started producing something called "catulence:" what one Internet poster calls "a lethal and voluminous" form of cat flatulence. We're not sure what's causing it, although it may be the result of nibbling on pine needles. We'll see if it goes away when the tree does.
Anyway in the midst of the gift-opening, the cat began releasing clouds of catulence: needles on the side of the tree turned yellow and dropped off, and some of the wrapping paper began to smolder. Eyes watering, we exiled the cat to the basement for the duration of the unwrapping.
About half an hour later, gift opening completed, we opened the basement door to a plaintive mewling... to find the cat bleeding on the floor! The cat had attempted to slip off its new collar, and the "safety collar" had become lodged in its mouth like a horse's bit. Somewhere, something got cut, whether a tooth was pushed through its cheek or a claw cut its face we don't know. Shears were quickly located and the offending collar cut away.
For a few minutes the cat seemed dazed, and wasn't interested in being touched. But we kept a close eye on it. He began eating immediately, and was shortly walking normally.
After a while I got some paper towels and warm water and began washing the blood off the cat's face and whiskers. Given the size of the cat, there was a lot of blood: on the floor, on various basement surfaces, in the collar, and in his fur.
I spent about an hour with the warm paper towels, first daubing the blood out of the fur, then drying the fur by scratching the cat normally on the sides of its face. The cat was absolutely in heaven about this treatment, which I found reassuring - if he had been more badly cut I doubt he would have wanted to be touched anywhere near the injury. Cleaned and dried he nuzzled his nose between my arm and my hip and fell asleep in my lap.
I sat there for a while feeling guilty about leaving him in the basement with a scary new collar, and willing to indulge his catnap. He'd been through a lot.
Around me the house was quiet. The family had retreated to explore their various gifts, and there was nothing to do except sit and watch the tree blink, as the cat's purring slowly subsided into silence, punctuated by the occasional sigh of contentment. Forgiveness is so easily obtained from an animal with a brain the size of a hazelnut. It was a lovely, peaceful moment.
Then the cat gave another soft sigh, this time from the opposite end.
On another day, at another time I would probably have leapt to my feet, swearing, dumping a startled cat to the floor. But it was Christmas, and I still felt guilty. So I sat there, eyes watering, wondering if, like Newark, catulence was just something one could become used to.
Merry Christmas everybody!
The gifts are all wrapped. That's the big achievement. All the presents were wrapped yesterday, with some final stragglers this afternoon. That means that tonight is a much simpler Christmas than we've had in years. No gritty-eyed tape-strangled 2:00 a.m. wrap-fest punctuated with crabby exhausted bickering. I'm gonna miss it.
Not.
No, it's the end of a very good year despite the hiccoughs along the way (thinking wrily of the five-year-old pristine minivan rusting in a junkyard somewhere). We're all here, all happy, all healthy, and all of us, if we're not exactly swimming in the waters of Sanity, at least have a toe in. And my paternal half-brother's wife is home safe from Kuwait after a year during which he cared for his stepson by himself. Gratefulness abounds.
Since we have our gift-wrapping done, tonight we are headed off to the 11:30 Christmas service at our church. We haven't been in a long time. In recent years we've enjoyed (to varying degrees) the Solstice Service, which includes Calling the Four Directions and 12 minutes of silence in the dark. The first one of those we had to sit through, I had to play a hand-squeezing game with my youngest to keep him entertained. Nowadays that wouldn't be a problem, but we couldn't make it this year.
So we're off to the caroling service, which I hope will feature a lot of candles. And, atheist that I am, the Silent Night always moves me deeply. Sure, it's not my faith - I never dated Juliet, either, and yet Romeo's soliloquiy is no less a moving declaration of love. So I look forward to carols and camaraderie, and driving home with the kids dozing in the back of the car.
We'll tuck them into bed, and sit for a while in the darkened living room, watching the lights blink. Then we'll head upstairs ourselves, and hopefully in the middle of the night Santa Claus will come and bring his own gifts, and fill the stockings. Hopefully he'll also move our gifts underneath the tree as a favor, for I surely wouldn't want to have to carry them all myself.
In the morning our children, now older, may sleep in again, meaning we all get a full night's sleep. Then we'll wake, wrapping paper will be demolished, surprises will be revealed, and candies will be surreptitiously consumed prior to breakfast.
In the afternoon we'll visit both my sisters-in-law - the crazy one and the other crazy one, and I won't say which is which - and try to maintain our equanimity in the face of familial dynamics. Hopefully we'll return home in good cheer, and have a relaxing night exploring all our presents.
Then, Tuesday, it's back to work, where I and maybe one other colleague will show up, sit at our cubes in our empty cubicle field, and try to get some work done to justify our presence.
Hopefully you anticipate as happy a holiday. Hopefully all your loved ones are here, and not off in Iraq, Afghanistan, or elsewhere. Hopefully you're all gainfully employed. Hopefully you're all surrounded by friends and loved ones. Hopefully you all have hope.
And if you don't, here's the thing: a new year starts next week. And just like a new day, a new year offers opportunities, only bigger. It's a chance to turn over a new leaf, a chance for fortune to smile upon us, a chance for popular opinion to shift, for sanity to gain a new foothold in the world, and for greed, fear, and anger to simmer down from the roiling boil they've achieved lately.
Let's hope so, and let's do what we can to bring it about.
Happy holidays.
Man, that took a while.
As I explained last week, it all started when Val called me up and asked her to make her pregnant, and tricked me into performing in the Minnesota Atheists' Christmas Show. So I went and did that, and had a marvelous time. Val and her friend Danielle and I got along famously and had a lot of laughs putting on this little skit. That's Danielle to the left, as the Angel.
At the end, Val performed her bellydance, and I filmed it with my digital camera, and that's where all the trouble began.
Unfortunately Val is tall, so in the course of first photographing and then filming her dance, I turned my camera sideways, forgetting that while rotating photos is easy, I didn't know how to rotate movies.
Figuring out HOW to rotate the movies is what kept me from blogging all week. I mean, it's not like I had a lot of spare time. With Christmas fast approaching I spent a couple of nights this week shopping. And yesterday I received a call from a home computer client who needed his network reconfigured - that kept me quite busy.
(Actually he was very lucky he called me. He was moving from cable to DSL, and wasn't aware that while the cable box was a simple modem, his new DSL box was actually a firewall. He already HAD a firewall (because his cable box had been a simple modem), so when he hooked the two firewalls together they became very confused. All the moreso because they both used the same address. Fortunately for him, I experienced the same issue when I switched to Visi.com for my ISP, and having resolved it was quickly able to also resolve his configuration problems. The Geek Squad? Don't think so.)
ANYwho, I had little time to try to figure out my problem, but when I did I quickly became frustrated. I could find a tool to switch from my camera's Quicktime format to AVI. I found a tool to rotate movies. But no matter what I did, I couldn't end up with an upright AVI file that worked on a vanilla Windows box. I could get the upright AVI's to play on my Linux system (which has more sophisticated video tools), but I wanted a video that ANYONE could click on and watch, without getting error messages.
Finally, tonight, I found the final piece of the problem. Now I can convert Quicktime to AVI, AND I can rotate the movie upright, AND the resulting movie actually plays. Yay! You click on Val there to try it out. You know you want to.
For anyone staggering into this blog as a result of a Google search on just this topic, here's what I found:
To translate Quicktime to AVI on Linux:
mencoder -ovc copy -oac pcm -o file.avi file.mov
mencoder file.avi -o file-ccw.avi -oac copy -ovc lavc -ffourcc DX50 -vf rotate=2
Mind you, when you translate the damned file, it doesn't change the encoding label at all -- which makes no sense to me at all. I mean, you're translating the file from one encoding method (Quicktime) to another (AVI), but you DON'T change the coding label? Then you're simply rotating a movie, but keeping the same coding method (AVI), but then you change the coding method??
Anyway I finally got it figured out, so now you can watch my friend Val bellydance til your bellyaches.
Along the way, I learned a lot about video encoding. Primary lesson: it's way complex! A good, free Windows utility that I found is called Rad Video Tools. It could do many amazing things, but was too complex for me to figure out. Besides since I store my files on a Linux box, I wanted a Linux solution.
That solution is a program called "mencoder," which is the de facto standard for video manipulation. Unfortunately, like much about Unix geekery, it is wholly unfriendly. For example, here's the first version of the mencoder command that worked, to an extent:
mencoder.mov -oac lavc -ovc lavc -of mpeg -mpegopts
format=dvd:tsaf -vf rotate=2,expand=853:640,scale=640:480,harddup -srate
48000-af lavcresample=48000 -lavcopts
vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:
vbitrate=5000:keyint=18:acodec=mp3:abitrate=192
-ofps 30000/1001 -o.mpg
Does that make sense to you? Doesn't to me, either. I finally stumbled across the answer on a SUSE Linux discussion forum, although I found the -ffourcc solution elsewhere.
So having done all that, I can tell you, the Atheist Christmas Show was a lot of fun. For anyone who had the patience to wade through that whole explanation about the solution process, here is your reward: a short album of photos from the Atheist Christmas Show. Enjoy!
Ah, now THAT was nice. Saturday and Sunday featured weather so very pleasant that I expected at any moment for someone to tap me on the shoulder and explain that, sorry, there's been a mistake, but this is Northern California's weather, and they'd like it back.
Saturday was a family birthday function, and I was uncertain whether to go or to make excuses and skip it. Then I stepped outside into a wash of balmy weather, and I decided: I wasn't going. My wife and I met nineteen years ago and during that time I've attended plenty of family birthdays. Let my mother-in-law get a year older without me, I was going bicycling!
Wearing nothing warmer than a windbreaker I set out down the Greenway, putting my new rear tire to the test.
Oh yes, haven't I mentioned? I had not one, not two, but THREE flats last week! Three! The last time was on Friday afternoon: I had ridden downtown and when I mounted my bike again the rear tire was flat. It's not like I've been doing crazy riding! The first flat happened after two miles of biking, the second after about twenty, the third after five. ALL of these miles have been on bike paths! Either the Midtown Greenway or the bike path following the light rail line into downtown: it's not like I've been riding on Thumbtack Lane...
So walked my bike back to the light rail and rode down to Freewheel Bike, where the guy in the shop recognized me.
We agreed that the first time was a fluke and the second time was a coincidence, but the third time was a problem, and I dropped forty bucks for a new rear tire (not just the inner tube). A really thick rear tire. So quick was he to repair the tire that he was done by the time my wife arrived to drive me home to get my car: instead she drove me to work and I biked back from there.
Saturday, then, was the test: would the tire be flat when I got the bike out? Would it go flat on the ride?
All was well! I put about 12 miles on it and it worked fine. Likewise Sunday, when I rode with my friend R.
Before R and I could go riding on Sunday I attended to some Bonus Chores. During the last round of frigid weather (which I assumed would last til February) I assumed that I had missed my opportunity to repair the rooftop heater coils that keep the roof free of ice dams. The glacial behavior of ice means that every year or two the neat zigzag coils are all shoved into the gutters and have to be repositioned, and this year I was due. However, since I had delegated gutter-cleaning to The Boy, I had forgotten to fix the wiring.
So when the weather remained Californian this Sunday, I knew I had a special second chance to get it right. I climbed up on the roof, fixed the wiring, and got The Boy to pull the last of this year's gloppy leaves out of the gutters. Examining the TV antenna, I saw that the heater coil plug-ins had come exposed: the duct tape I'd used to protect the wiring had been worn away to tissue paper by sun and wind, so I applied another couple years' worth to remedy the situation.
Aside from chores and bike rides I hung around church on Sunday morning where I basked in the adulation of several church members, who enjoyed my letter to the editor in the Minneapolis Star Tribune last Thursday, and who also appreciated my support in the recent decision to "transition" one of our two ministers (e.g. ask to resign). In the middle of this conversation I got a phone call - odd for a Sunday morning.
I took the call, it was my friend V, with whom I traveled Europe twenty years ago.
"I want you to get me pregnant," was the first thing she told me.
Turns out she's in a sort-of play this Saturday, and needs someone to fill in for a guard (no lines apparently) who supposedly fathered her character's child. Still, it was an odd way to start a phonecall, particularly one picked up while chatting with members of the church board. On the other hand it was very effective, and now I'm committed to the performance, seeing as I said "Yes!" before she explained all this. Damned hormones.
Finally, this weekend was, among several other things at church (blood drive, cookie sale) the annual gift-exchange: church members were encouraged to bring in junk, and take home other people's junk. Every year we swear we're going to go through OUR junk and bring a lot of it: every year we forget and don't. At the last minute this year I brought an unused Starbuck's coffee mug good for discounted refills - I rarely go to Starbucks. So I wander around the table and what do I see? A collectible 1970's vintage boxed Dungeons and Dragons set! The exchange was made!
I haven't checked to see what it's worth, but I'll hang onto it until I can get my acquaintance Dave Arneson to sign it...
So that was my weekend, and a warm one it was in several ways...
Last night while tending the kids I turned to PBS. Now, I'm not one of those PBS-only TV snobs or anything - I'll watch "Heroes" even though it's dead dreadful - but there was, like, nothing else on across the limited broadcast channels we can pick up at our antenna. So anyway PBS featured another Rick Steves travel special, this one about Christmas in Europe.
When I tuned in they were in Paris, and it was fun to see all the places that we had just visited in August, the Eiffel Tower, etc. But, you know, Paris for all its charms is kind of big and impersonal. It's hard to get too nostalgic about it unless you grew up there or something. It's not so unusual to see the Eiffel tower that you would say "Oh! I was there once!" I mean, sure you were - so was almost anybody else who has ever travelled.
But then they left Paris and headed east into Burgundy, to explore French wine country. Good enough, it was nice to see the rural French Christmas.
Then they cut directly away from Burgundy to an as-yet unidentified plaza...
..which I immediatley recognized as the Hauptmarkt, in front of Frauenkirche in Nuremberg!
They even cut for the briefest instant (less than a second) to the Schöener Brunnen in the corner of the market where Gennie and Dante spun the secret ring for luck.
The special showed all the Christkindlmarkt events, and even paused to show the proprietors making a Nuremberger Bratwürste sandwich, basically a small white-bread roll, split, with three or four small (what Americans would consider breakfast) sausages. The boys loved them.
Oh, I was dying. I mean, that was special - there are a lot of towns in Germany they could have visited, but to go right to the city where we had stayed was really a treat. And I wanted to be back there, back on that wonderful vacation, so bad I could hardly stand it. Argh! I have to work! I have to waste my life trapped in a little cubicle! There's a whole planet out there to explore!
I called for the rest of the family and I watched raptly. The kids, not so much - yeah, sure, that's where we visited alright. Ah, how little do they know! Sure we visited Europe, doesn't everybody? Won't we be back there again soon? How could I tell them that it was eleven years between my first two visits, and eighteen years until my fourth?
Can I just travel the world for a living? I'll bring the family...
Sigh. This is not being my day. Try TWO for this one: my work laptop BSOD-ed during the prior version.
I'm determined to bike to work across the winter. Biking to work is about the only form of exercise I seem to be able to shoehorn into my busy schedule of video games and television shows. So when my rear tire showed signs of having a slow leak - that is, when it was flat every morning and had to be reinflated - I decided to do the prudent thing. I decided to replace the inner-tube before I ended up with a flat tire halfway to work.
I'm sure you can see where this is going...
Yesterday I left for work a little early so that I could load my bike into the car and drop it off at Freewheel Bike. The shop wasn't open yet, so I looped the chain over the bike rack to make it look like it was locked up - I figured between that and the flat tire it was not likely to be stolen. Then I called from work and asked them to fix the tire. They told me it would be ready after work.
I left the salt mines and made my way back to Freewheel at the end of the day, where the bike was ready. Drove it home and tottered off to bed anticipating an eye-wateringly-cold day of bicycling in the morning.
As I got the bike ready in the morning, I felt good. The tire had gone soft on Sunday, and I hadn't let the needed repairs serve as an excuse to avoid the only exercise I get, as agonizing and painful as it is. I had gotten the bike fixed right away, and only missed one day of riding. I donned an extra scarf, stuck my toes in the pedal-cups, and headed off into a stiff subzero headwind.
Can you guess? Of course you can. Two miles later, as I entered the Midtown Greenway, my rear tire went flat.
Great. What to do? My spouse would not be available, because she goes to the gym each day after dropping the kids off at school (due to budget cuts our school does not offer bus service). Wait! The gym wasn't too far away. So I walked my bike over to the gym. As I approached some jocular asshole sauntered out of the front doors.
"Hey, yer s'posed to ride it, not push it along!" he chortled merrily as he passed.
I whirled around and smashed him in the back with the bicycle. As he fell I tore his head off his neck and threw it into the busy Lake Street traffic, shouting "You're supposed to walk across the street, not roll!!"
Of course I didn't do that... but I sure thought about it pretty hard.
While my wife finished her workout I borrowed the car and dropped my bike off at Freewheel for the second time in two days. Then I returned to the gym and eventually she dropped me off at home, with just enough time to get to work for my 10:00 a.m. meeting.
Arriving at work I was forced to walk around a fire truck and an ambulance parked in front of the building. A man with a bruised and bloody nose was wheeled past on a stretcher, either unconscious or too appalled at being wheeled out on a stretcher to want to admit to consciousness. Great: as if my day wasn't bad enough, here was a guilt-inducing reminder that my concerns were petty and minor - just what I needed in the middle of my annoyance: perspective. Pfft.
Of course when I reached my desk I learned that the 10:00 a.m. meeting had been cancelled.
Then, when I decided to blog the events of the day so far, my computer horked and crashed.
Finally, I gave a call to Freewheel to advise on replacing the tube and ask what was going on.
"Well, the tube was split on the side opposite the stem, and there was no sign of debris in the tire."
"So, a defective inner tube then?" I asked.
"I'd say it's just a freak flat-tire accident," he replied authoritatively.
"A freak flat tire accident," I repeated, wonderingly, "Riiight." Silly me, assuming that it might be a defective inner tube failing within the first minutes of use!
"So it will be ready shortly," he continued.
"Great," I said.
We'll see how far I get tomorrow.
Despite bicycling into the wee hours of the year (as these days feel - there's something about a 4:30 p.m. sunset that makes the whole month feel like the dark before the dawn) I am still out of shape. This was made clear to me when I strained something in my back while playing Halo 2 on the Xbox.
Yes, I'm so out of shape I can pull a muscle playing a video game.
To be fair, it wasn't exactly the Xbox that did it - it was the squashy couch we have in the basement den. There are two ways to sit on this couch: 1) slumped back as if I'd taken too many bong hits; or 2) perched on the forward edge like a kid waiting for the bell to ring.
Well, I chose 2) in order to play the Xbox - it put my face closer to the screen, and was more reflective of he desperate posture of an old man trying to compete with the lightning reactions of heavily-armed teenagers. That position, elbows on knees, balanced on a forward edge with no back support, apparently stretched my lumbar vertebrae to, if not breaking, at least open rebellion.
So today I'm at work, sitting on a hot pad, trying to soothe my back into permitting me to stand and sit without groaning. So far no luck.
Aside from Xbox, I got some stuff accomplished this weekend. Most notably, I scanned in the original maps from the Scepter of Goth game that I ran in my first business. They were in dreadful shape. Having been created in the pre-computer - or at least pre-desktop-publishing - era, they were made of paper, inked with pen, and labeled by typing words onto mailing labels and gluing them to the paper. Almost all of the labels had fallen off, leaving vast sections of the maps blank.
I did manage to match a few labels up either from memory or by matching the shapes of the dried brown glue-stains they had left behind.
Also, through luck, I happened upon the e-mail address of someone who might know how I could get ahold of the last running copy of that game, which was operating until about 2004. It would delight me to no end to run a copy of Scepter on my own server, just for a laugh. I'd probably just recreate the database in a generic mud or mush, rather than trying to get the ancient and much-modified code to run.
It would be quite a laugh to run a copy of Scepter, with the town of Boldhome and everything, and then serve the documentation off of a Gopher server. Haw!
In addition to those chores, I also need to use this break between classes in order to put together a wikipedia page or two. I've never done that before, so it will be interesting to see how it works.