One time at band camp
We ate dinner out on the porch tonight (homemade mac and cheese, avocados, corn, in case you're curious) and heard the KO band practicing in nearby Dormont Stadium. Ella was curious about the noise, so we moseyed on up the hill after dinner.
Ella and I have been around the stadium many times, especially last year when a good stroll was useful for sleep. (It's one of the few flat places around Dormont.) But it's always been quiet as a church, and gated shut. Closed stadiums always look so clean and pristine, the grass perfect, the paint crisp.
Today it was open and hopping with high-schoolers. Flag wavers, tuba players, cheerleaders, interested parents, a few neighborhood folks. And just as I huffed her stroller up the hill the band wrapped up "Bohemian Rhapsody" (seriously!) and took a break.
Since I wanted her to see the band she needed to be entertained for a bit. No problem. She has this funny thing where she's very conscious of where she's walking when the terrain changes, or even different types of tile. To cross the change she'll take a slew of centimeter-steps, once over it's back to normal.
So moving from the ground to the bleachers: tiny steps. Different sets of bleachers: tiny steps. Bam, five minutes gone. Walking to the top of the bleachers to see if we can spy our house, then back down: ten minutes gone. Just strolling around watching the flag girls practice: another five minutes.
And finally the band started back up. At the first sounds of the drums firing up to get everyone in line and rhythm she jumped. Then when everyone got in position and they started to play ("Bohemian Rhapsody" again, argh) she pumped her arms and stomped her feet. And even though the band played another Queen song, followed by the Doors, she grinned and giggled and danced the whole time. Until finally it was time to go home and start the night-time routine.
But I think we'll be back again.
(Granted, that was a lot of writing for very little payoff, but I'm also writing these days for my family who isn't here, and for us in the future.)
ABCDEF..cookie monster
I know posted this to delicious a few weeks ago, but it's too good to keep there. If you don't smile or laugh at this, well, I think you're a zombie.
One of the best feelings ever
So here's the scenario: I'm away from home for a few days at our user group meeting. It's worthwhile, talking to folks and learning what they really think, getting in their heads a little. (Only a little, day-to-day caregivers are pretty different than you and me.)
But I hate being away from home. Hearing "da da" on the phone tugs at my robotic heart more than I expect. And by the last day, it's clear everyone else hates it too, because we're packed and gone from the hotel in King of Prussia less than a half hour after the meeting ends. Even the bus driver has the pedal to the metal, feeling confident he won't get another ticket to match the one he picked up on the way out.
So we get home ahead of schedule, and on hearing I'll be home earlier than expected Barb has clear joy in her voice. Traffic isn't too bad, and I pull into the driveway about a half-hour later.
The kitchen door is closed. This is unusual because normally when I come home Barb and Ella are in the kitchen and Barb leaves the door open so Ella can see me pull in and get excited. I'm a little let down but figure there's a good reason (late nap, whatever). I pull my bags from the car and make my way to the door.
I hear the click of the deadbolt, and there's Ella, naked except for a diaper. She's stomping up and down and giggling and pointing at me. I scoop her up and all is right with the world. And that's one of the best feelings ever.
Ella teaches me
Ella's been learning sign language for what seems like forever, almost exclusively by watching the Signing Time videos. She knows quite a bit -- a whole bunch of her ABCs, fruits, activities (like 'dance' and 'all done'), animals, and some everyday things like 'train' for the trolley, ice cream, cookie. We stopped writing down all the words she knows a few months ago.
When we saw my family at the end of June my Dad couldn't get over that Ella could communicate with us. Because we've been doing it for so long with her it's an everyday thing, but since my Dad is in Florida and gets to see Ella twice a year, it's all new.
So, even though I'm not as familiar with the videos as Barb is, I still saw enough to be able to practice with her. And until recently I always knew them before her. But the other day she was walking toward one of the cats and stroking one hand with the other.
It was a deliberate enough action that I asked her, "What's that? What are you doing?" And she said, "Pet!"
Figuring she was just babbling I went into the kitchen and asked Barb, "What's this?" while mimicing Ella. She said, "Pet." I couldn't believe it. Ella taught me her first sign!
A little bit of air
(Primarily for people googling about Thinkpad T60p temperature problems.)
I had some problems earlier this year with my Thinkpad overheating. Under sufficient load for a sufficient time it would just die. A little instrumentation and logging showed that Thermal Zone 1 was reaching its threshold of 96C.
I tried a whole bunch of things to fix it -- at one time Solaris was running on the ultra bay drive, so I figured it was putting out too much heat for its intended use and moved it to the standard bay. No luck.
Hmm... maybe the fans aren't spinning properly, so maybe this shell script that tells the fan to spin all the time will help? Nope. I figured running it in the docking station hurt, so I put it on my iCurve. It helped but would still occasionally die.
For some reason I'd never done the simplest thing possible, blowing compressed air through the vents. I did so a few days ago and the machine runs at least 15C cooler at all times maxing out at 87C when it's doinog a ton of stuff rather than 95/96, even in the docking station.
Upgrading to Hardy
I have a presentation on Monday where I'm talking about what we've done for the past two years. I think a lot of people are coming[1], and it would be nice to use my Ubuntu install vs Windows. (Why? All my little work crumbs aren't on Windows anymore, and if I need one during the presentation it'll be awkward.)
Unfortunately, I've been lazy thus far and not played around enough with the video to be able to use a projector. I heard that the T60p has better support under the 8.04 Ubuntu release, so I stuck it on an extra partition on the drive, then mounted my old /home under that.
Notes thus far:
- Install was typically easy, even though I was installing to a non-standard partition. (If the SXDE build of Solaris was so easy I wouldn't have lost data a few months ago.) It also detected the 7.10 install and made it available via GRUB.
- I found this user's instructions and used EnvyNG to install the relevant ATI driver. I had a little trouble finding the GUI configuration tool (it's amdcccle, not starting with 'ati'). Using this and setting the T60p bios to display on 'VGA+DVI', I was able to get the 'big desktop' on two external screens. But playing around with it (changing the orientation) didn't work so well, and I didn't have time to experiment before the end of the day came. (I'll post more about that, as well as getting it to work on a projector.)
- Even after getting the 'big desktop' working, I'm not sure how to turn it off when I'm not in the docking station and have only the laptop panel. It seems to think there should be another desktop there ('scaled' wallpaper is half off the screen, the mouse pointer doesn't stop at the edge, etc.) but I'm not sure why. I know this stuff is hard with different video manufacturers/drivers/etc., but it's still awfully frustrating. It feels like it should be a solved problem by now. (And maybe it is, I'm just ignorant of the solution.)
- I'm using OpenOffice for the presentation, so I fired that up quickly. It complained about not finding a JRE, which is weird, but no effects I've seen so far. I noticed that OpenOffice has been upgraded (from 2.3.x to 2.4.x), but it was reading my old preferences from .openoffice2, which included the location of Java. (Ubuntu comes with a layer of symlinks for this so you can upgrade to minor versions without a problem, but OO didn't respect that, using /usr/lib/jvm/java-6-sun-1.6.0.03 instead of /usr/lib/jvm/java-6-sun.)
- With this upgrade I'm using plain old GNU Emacs. I'm not what anyone would call a heavy Emacs user, but I've been using XEmacs for so long that it's become a habit without a reason. A few months ago I read about Yegge's new JavaScript mode but couldn't use it, because it explicitly doesn't work on XEmacs. So with this upgrade I'm not even putting XEmacs on the system. I probably won't even notice, since most of the auto-invoke stuff (like the 'P4EDITOR' env) uses 'gnuclient' instead of 'xemacs'. I really need to learn to use my editor better.
- I'm doing font-ish configuration of Emacs now and am amazed at how retarded the font handling is from a user's point of view. Technically, I'm sure it's wonderful, but it feels like I've gone back two decades or something. How do I browse the fonts I have? xfontsel? You're kidding, right?
- Our product doesn't yet work with Firefox 3 [2], nor does the web-based VPN product, so I was happy to see I can install both 2 and 3 without a problem.
- Another incompatibility is the Cisco VPN client. According to this a more recent version works fine, but the one we have access to at work doesn't. I'll bug IT about downloading a more recent one.
- Weirdly, the base install didn't include headers and such from libc, so my initial run through the normal battery of Perl modules failed miserably as the ones with XS bombed with a 'cannot find sys/foo.h' buried among a whole bunch of compile errors.
- There's a newer version of Gnome-Do for 8.04 than for 7.10, cool.
- Hooray, Postgres 8.3 is supported!
- Finally, I enabled some of the 'Advanced' desktop stuff and now have wobbly stretchy windows, an Alt-Tab that displays screenshots, and probably some more eye candy. Not sure if I'll keep it yet. Maybe just for the Monday presentation :-)
More boring impressions later...
[1] "I think" because crap Outlook doesn't show me all the responses from forwarded meeting requests.
[2] Lack of Firefox 3 support isn't a big deal for our users, trust me.
The obligatory Dark Knight post
There are spoilers in this!
Last night I took advantage of Barb and Ella being up in New Wilmington and saw "The Dark Knight". A few random thoughts:
- There were far more people than I expected at a 10:10 PM show -- probably ~80+.
- The actual movie didn't start until 10:30, 20 minutes after the posted time. Shameful.
- Cost: $9.50. Not a typo -- fifty cents short of a sawbuck. Shocking. Apparently I've been spoiled by (a) rarely going to movies, and (b) when going to movies hitting the matinee. IIRC Tuesdays at the Destinta are half-price, I'll have to remember that next time. (I was at South Hills Village.)
- The start of the movie seemed weirdly... flat. And WTF was the Scarecrow doing there in a throwaway? Dumb. Fortunately that didn't last.
- Despite what I heard about Heath Ledger's performance I didn't expect much. Something about his voice just didn't seem to fit. I was wrong. He wasn't over-the-edge loony toons (like Robin Williams or something), but chaos in human skin. And his voice fit just fine, though his constant tongue flicking reminded me of the Mad-Eye Moody impostor in the fourth Harry Potter.
- I liked that they had Bruce Wayne doing more technical stuff -- one CSI-ish sequence to reconstruct a bullet fragment, another magical reprogramming-all-cellphones-in-Gotham reveal. It's a difficult thing to impart (remember Michael Keaton just sitting in front of a big screen, 'analyzing'?) but still important to the character.
- The way they used the character of Harvey Dent/Two-Face was absolutely great. I loved the minging of the different ideas of heroism, although the "I'm through being {superhero}" happened in the second Spider-Man movie too, didn't it?
- I didn't like Maggie Gyllenhaal's performance. Someone on twitter mentioned that she stole the life out of every scene she was in. I wouldn't go that far, but it was not good. Something about her made me think she was bored, and I kept oddly focusing on that lip-valley underneath her nose and her triangular face.
- That they killed both Rachel Dawes and Harvey Dent was surprising, although it's sad Aaron Eckhart won't be back -- he's one of my favorite actors.
- Overall: excellent, better than any superhero movie I've seen in a long time, possibly ever.
Ella's name getting popular...
From kottke I just learned about NameTrends, a naming visualization tool I'd think primarily used by soon-to-be parents. Being relatively new I decided to plugin Ella's name, and got a nifty (and hoverable) chart showing that the name's popularity was on a long, slow decline from the late 1800s, bottoming out in the 1970s until picking up again in the late 1990s, climbing to its current #21 rank. (BTW, kudos on the URL-addressable chart.)
This was surprising, to say the least. I have no idea why it picked up. I can't think of any cultural icons out there named Ella except Ella Fitzgerald. Was she prominent in the Ken Burns series on Jazz? Were some of the now-elderly Ellas from the early part of the 20th century passing away and their grandkids hoping to honor them? Who knows? There's always a weird tightrope parents are perceived to walk with naming popularity. Choose too popular a name and you're just one of the crowd. choose too exotic and you're trying too hard.
But that's the perception, from the outside looking in. I'd bet an
awful lot of people choose names based on an intensely personal
connection, and would've chosen that name no matter what the
popularity. In the weeks leading up to Ella's birth we were still
talking about names, although our universe had narrowed to a handful
at most. Ella was at the top for a girl with Sophie up there too; I
think for a boy Eliot and James were our choices. (Barb might have to
correct me there.)
Neither of the boys' names was personal, but we chose Ella for my mom. Her name was Pamela, and if she were here she'd have been calling nearly every day, asking joyfully, "How's my Ellie?" Another possibility is laying claim to our attic and moving in.
If my mom were here she'd be named something else -- Sophie, or Zoe, or something pretty and short. Now, of course, I can't think of her as anything but Ella.
WSDL-first development, yes it's crazy
WSDL first development? Are they crazy?: I couldn't agree more. I have this kickass IDE that takes full advantage of static typing for refactorings simple and not, and you want me to write XML instead? The focus that Spring-WS has on this turned me off immediately. (At least they made it obvious up front.)
Of course, this assumes you've got a good reason for using WS anyway. My hope is that it doesn't become the default answer when people start thinking about integration.
New site, actually simpler
If you read this from a feed you should have seen a notice that I'm now using Atom to serve up what little content I've been writing.
That's the least of the changes -- this is now a 100% static website, with the only dynamic stuff provided by Apache server-side includes. There are a few reasons for this:
- Complexity: I never get to work on OpenInteract2 anymore (and even if I did it would have a gigantic amount of catching up to do in many areas), and a full database, component system, object model, etc. is massive overkill for a blog plus some dusty old writings.
- Looks: I'm awful with CSS and layout, so I swiped this from some site Google gave me. It would have been possible to integrate this stylesheet and tags with the previous version, but it would have been much more complicated.
- Portability: Just in case something ever happens to this box it's now a snap to move it elsewhere.
- Speed: On the miniscule chance I ever write something that gets picked up by some big site, the old site might have done okay, but probably not. (It wasn't built for speed, never performance tested it, etc.) Plus, this is running on a pretty old box (dual P3/600).
The technology behind this is fairly simple:
- ttree: Shipped with the Template Toolkit (perl), this is a script to process a bunch of files as templates. It fills a nice sweetspot by exposing enough complexity to do many interesting things while still hiding a lot of yuck. Plus, I still think the Template Toolkit is the most useful templating package out there.
- A few scripts to generate 'dynamic' stuff: This includes the list of links from del.icio.us, recent photos from flickr, the tag cloud and tag pages, the Atom feed and a bunch of index pages.
- Apache2 with SSI enabled
The process to redo the site was straightforward:
- Dump all the blog articles to text files, exposing the page title as a TT2 'META' variable and the tags as an HTML comment they can be parsed out later.
- Also create a mod_rewrite consumable file to map the old blog URLs to the new ones (which are much nicer, IMO -- /news/display/1234 vs /blog/2008/04/02/this_is_some_post.html).
- Copy the rest of the HTML files in the site to a workspace and go through each to see if it's still useful and where it should fit; also expose the page title as a META variable. (This took the longest time.)
- Create a header and footer for the site as TT2 templates.
- Write scripts to generate a bunch of stuff that you think should be generated (Atom feed, index pages, components included with SSI, pages related to tags)
- Reconfigure Apache and deploy, deploy!
There were a few hitches:
1. XML::Feed has a bug that prevents it from generating a valid Atom feed. It's pretty easy to fix with a monkeypatch:
# first, install a few updates to XML::Feed::Atom if XML::Feed <= 0.12
if ( $XML::Feed::VERSION <= 0.12 ) {
require XML::Feed::Atom;
sub XML::Feed::Atom::id { shift->{atom}->id(@_) }
sub XML::Feed::Atom::updated { shift->{atom}->updated(@_) }
sub XML::Feed::Atom::add_link { shift->{atom}->add_link(@_) }
print "* Installed additional methods to XML::Feed::Atom\n";
}
2. I spent way too much time chasing zebras because ttree complained the first time it tried to process the header file about a syntax error, but every successive time it just said 'header.tt2 not found'. So when I ran the script I saw something like this:
header.tt2 syntax error blah blah ..1500 lines later... blog/2008/03/31/bar.txt: header.tt2 not found blog/2008/04/04/foo.txt: header.tt2 not found
3. I spent only a little time up front worrying about speed. I shouldn't have. Generating a site of this size (processing about 1600 files or so) only takes a few seconds. And since ttree will only process files that've changed, it's basically instantaneous.
4. No comments. I didn't migrate the comments and, not wanting to write something myself (or even implement something someone else wrote), I am looking around for a third-party solution. If I find one that's useful and accepts migration I might do so, but we'll see.
5. Stuff I missed. I probably missed something, but it's not life-and-death. I don't have rsync or version control setup yet to push/pull changes, but that can wait.
Anyway, we'll see how it goes!














