Digging Into Ruby

WARNING: Technical post ahead. If you come just for the latest funny stories about the kids, it’s safe to skip this.

Chrismo always seems to be bellwether for my professional programming efforts. He flopped over to doing Java work a while before I did, ranted about Extreme Programming a year or two before it gained momentum, and has been great for conversations on programming (as well as “meaning of life” and “how to live as a believing musician who pays the bills with computers”) topics.

Thus, when he began rumbling about Ruby a while back, I was intrigued, but had lots of other things going on, so didn’t really follow up. Since then, the language has gained considerable momentum and built up a sizable community. After some conversations with Greg and with the drop-dead sexiness of Ruby on Rails (and its super-easy AJAX support), I’ve decided it is time to dig in. (Seth points out that AJAX is also easy to implement in Conversant, the CMS on which this website runs!)

I’m starting with “Programming Ruby (Second Edition)” because it was in the library here, and will move onto Rails-specific stuff once I’ve digested the fundamentals of the language. So far, it’s interesting stuff — the highly-dynamic nature of the language is a bit unsettling after being in Java-land for so long, but it seems well thought-out, flexible, and extensible in very interesting ways. Eventually, inspired a bit by Jason’s speculative reading statistics, I hope to build out at least part of a “what I’m reading” Web 2.0-style application that Zach and I have talked about (and which he actually did some work on for a programming contest a few months back). Should be fun!

Doing Business Right

Last Christmas, I purchased a few games from Looney Labs for Kathy. Yesterday, we received an envelope from them in the mail. Inside was not only a Christmas card, but also three new cards for FLUXX, one of the games we bought!

That sort of thing definitely makes me want to continue to support this band of merry game makers and their fine work. So go buy something!

Night of the Roomba

Last night, I started home from work a bit early, as there was a winter weather advisory in effect and Buda, a few miles north of San Marcos, was already getting sleet. This was fine with me, as I had ordered a Roomba a while back, and it was due for delivery. Since the thing is supposed to be charged for 3 hours before use, I figured I could get home, plug it in, we could go for our Wednesday night Bible study, and have a chance to try it out by the kids’ bedtime. It was also a great motivator — “Who wants to try it in their room first? [Evil paternal laugh] Well, you have to pick up your toys from the floor!”

(Sidenote: why can’t companies that manufacture products with rechargable batteries ship them charged? Don’t they know we want to play with our toys when we get them, not plug them into the wall and stare at the charge indicator for hours? Apple learned this lesson a while back, and now ships iPods and laptops with a charge so that they can be used out of the box.)

The Roomba arrived more or less on schedule, and we popped down the street for our evening of spaghetti and scripture. I cut out with the kids a bit early so that they could get their bedtime chores done and get ready for school, after which we turned the Roomba loose in Liam’s room. It was absolutely hilarious to watch the kids dance out of its way, shove little piles of dirt in front of it, and shout “Come on, Roomba! over here!” as it ground its unpredictable way around the floor. We took it down to Abby’s room and repeated the drill there until it decided it didn’t have the power to continue any longer.

The temperature was continuing to drop, and I was looking forward to finishing up Jade Empire, so I got the kids bundled up, and was about to send them off to their beds when the lights dimmed and then went out altogether. The children were understandably a bit startled and concerned to find themselves plunged abruptly into darkness, but we called out each other and managed to find each other by touch in the hallway. Once linked up, we went on a blind quest for matches and candles, both of which we eventually found, though not without several stubbed toes and comical flailings. (“Why not flashlights?” you may be wondering. Have you ever tried to keep flashlights around in a house full of kids? I can’t remember the last time I saw a working flashlight around our house, in spite of many, many purchases.)

We set up Liam’s room as our campground with extra blankets and a small array of candles on a shelf by the window. After getting everybody settled in, we read Chapter 11 of The Chronicles of Narnia: A Horse and His Boy, wherein Shasta meets Aslan face to face for the first time, interrupted from time to time by abortive attempts by the power company to get things running again. (“[click] Hey, the lights are on. Awwwww! Now we have to blow out the…[click] Yaaaay!”)

The power finally came back on to stay around 9:45; the kids slipped back to their appropriate bedrooms, and we snuggled under our covers, drifting off to the sound of the winter wind as it rattled around outside.

Black Friday Lazer Curry Shootout

After stuffing ourselves silly on Thanksgiving Day, we decided to work off those extra calories with a Black Friday Lazer Curry Shootout. We gathered at Mom McMains’ house, gobbled a couple of delicious curries that Becky had put together with a bit of help from Kathy and my cousin Tanya, and then lumbered off to the neighborhood park for some Lazer Tag.

Thanks to some additions from Chris, we had nine guns, all of which were pressed into service as we leaped over creekbeds, pushed through forests, and climbed up and around huge oaks. Alternating between King of the Hill, Capture the Flag, and Free-for-All games, we had a superb time plugging away at each other and getting some good exercise to boot.

Once everyone got a bit tuckered out, we retired to the playground for conversation and some less running-intensive play. Barry provides a really nice writeup of that time here, focusing on the fun that was had with using the merry-go-round and other playground equipment as a large-scale physics lab. (I spent about an hour working on figuring out how quickly we’d have to spin the merry-go-round to get one gravity of centrifugal force, but still haven’t been able to get the math to work out!)

Update: Jason provides the math. A few notes in reply, since his comment system is being grouchy:

Hehe. Excellent. I had gone down this road a bit, but I found contradictory formulas, and my math wasn’t working out. Thanks for delving in!

One can simplify this formula a bit by solving for acceleration, rather than force. (You need the force to figure out how strong to make the merry-go-round, but only the acceleration to figure out how to get up to 1G.) Once you do that, the mass doesn’t figure in any more.

Further, to get a pure 1G lateral acceleration in the presence of the normal 1G downward acceleration, you’d need infinite speed, I’m afraid — the combined vector will approach horizontal asymptotically, but since there’s always that downward element (however infinitesimal it may get by comparison to the outward force), it will never become purely horizontal.

Thanksgiving Notes

Our holiday weekend was superb. We enjoyed the semi-traditional Thanksgiving shuffle on Thursday, dropping by two celebrations, one for each side of the family. Great food and wonderful people (some of whom we don’t get to see very often) combined for a thoroughly enjoyable holiday. (Becky’s brother Bill, with whom we’d spent some time running around London in the summer, was in Texas for a visit. We enjoyed catching up with him again a great deal.)

After the Black Friday Lazer Curry Shoot-Out, Emily stayed over with Ken & Tanya in San Antonio, who had graciously offered to let her hang out with them for the evening and much of the next day. I hauled the other kids up to Austin Saturday morning for a free showing of The Strongest Man in the World at the Alamo Drafthouse — part of their Saturday Morning Kids Club series. It’s always fun to watch some silly old Disney movie while sucking on root beers and enjoying the unique atmosphere of the Drafthouse. On the way back from Austin, we stopped at the recently opened Cabela’s in Buda and ogled stuffed animals, fish, and kayaks. The place feels like Wal-Mart for the outdoor set, but with even more guns. It is nonetheless entertaining to stroll around for a while. Ken & Tanya brought Emily back around dinner time, and we all enjoyed Kathy’s marvelous Chicken Tortilla Soup and then hung around and visited for several more hours. Since family gatherings are usually pretty hectic, crowded affairs, it was nice to have the opportunity to sit and talk with them at more length and with fewer interruptions than we usually can.

On Sunday, since the University where our church usually meets was closed for the holiday, we split up and met at several different homes around town. At our meeting, we had a substantial brunch, sang a few songs, visited a lot, and took communion. While lighter on teaching than Sunday mornings usually are, everybody seemed to really enjoy the format. Later that afternoon, Liam and I slipped off for a couple hours to help with some of the Sights and Sounds of Christmas setup, which mostly consisted of lugging heavy plywood walls from a trailer to where they’d be set up. Liam also acted as our Ambassador to Dogs.

We wrapped up a long and full weekend with a small family observance of the first Sunday of Advent, the beginning of the Christian year. Though our church doesn’t currently pay much attention to such things, I’ve found their observance very meaningful and try to keep them in mind around the house. We discussed the meaning of Advent (always an interesting exercise with five and six year olds involved), sang “O Come, O Come Emmanuel”, and lit the first candle on the advent wreath (also an interesting, and potentially hazardous, exercise). It’s exciting to see how people — kids especially — will respond vitally to symbols, sinking further in than yet another repetition of doctrine would. Our practice of faith is richer and deeper when we not only involve the mind, but also the heart.

New Weblog

I’m getting a new weblog off the ground today. Called play2learn, it’s focused on the intersection of education and games. While I generally take a “when I’ve got something to say” approach to publishing here on Ruminations, this new endeavor will be more the “links with commentary” approach, in recognition of the fact that there are lots of people out there with excellent things to say on this subject.

If the topics of interest to you, please stop by. If you’ve a special interest in the topic and you’d like to help edit play2learn, let me know — the more the merrier.

Highlights

A few other recent items of note:

  • Kathy, as I mentioned in the previous post, took a three day long Motorcycle Safety Course. While I’m decidedly cool on motorcycle riding (mostly for safety reasons), Kathy’s been very keen on the idea for quite a while. Taking the course seemed a good way to help balance both of our wishes in this area. Kathy did very well, by all accounts, and seemed to really enjoy it, though she came back with a sinus infection.
  • On Friday night, Emily helped out with the Southside Community Center’s annual Thanksgiving dinner. Maggie and I attended while Emily worked, and enjoyed getting to hear Representative Patrick Rose speak briefly, followed by the San Marcos Mariachi Academy and The Gospelaires. Both were wonderful fun, and reminded me how fortunate we are to live in a part of the country where live music is so available and appreciated.
  • Speaking of live music, on Thursday night we enjoyed the 15th Anniversary Party of The Jazz Protagonists, a trio that features my friend Barry, a brilliant pianist whose weblog really needs an XML feed. We had a marvelous time, enjoying an Indian dinner with Chris, Becky, and Mom McMains beforehand, and the company of even more friends once there. The ensemble played together with the practiced ease of people who know each other extraordinarily well musically — “like an old couple dancing,” as I commented to one of our friends as we watched.
  • We’re putting wood floors into our living room to match the rest of the house and hopefully give us an easier time with allergies once the nasty old carpet’s out. We pulled up the carpet and padding, only to discover a layer of vinyl tile beneath. We scraped that up and found a layer of linoleum tile. Pulling that up, we finally got to subflooring. While it turned out to be more work than anticipated, the kids enjoyed the rare opportunity to take hammer, prybar and chisel to the house.
  • The kids and I all went to see the new Harry Potter movie. Great stuff, though marred a bit by frequent bathroom escorts and some “tell me when it’s over, Daddy” moments.

Best…Rehearsal…Ever!

Friday night, our weekly(-ish) rehearsal session for the Grant Mazak Band started out as it usually does — the guys trickled into the living room around 8:30pm, instruments and amplifiers in hand, slightly weary end-of-the-week smiles on faces. Kathy was at a motorcycle safety class, and Liam and Abby were at a school field trip, so Emily, Maggie and I were the only ones around. While the girls watched movies in Maggie’s room, we started practicing some of the songs we’re working up for a party at the beginning of December.

After a few, Emily wandered in, Dora the Explorer’s charms having worn thin. We played through Greenday’s Time of Your Life for her — one of her favorites. Grant then said “when are you going to play with us? Go get your guitar!” She’s been learning to play a bit at a time since July, a process that was markedly accelerated when Grant graciously liberated a guitar from the store for her benefit. After a bit of cajoling, we convinced her to come join in the music-making.

For the next hour, we had a grand time, picking out songs that lacked exotic chords and having Grant and Barry call out changes to Emily while she gamely hung in and played along. She did really well, showing an excellent sense of rhythm and anticipation of chord changes, though her fingers occassionally had a tough time keeping up with her brain. Grant, who loves teaching immensely and obviously, helped her with technique and gave her a few exercises to help build the necessary muscle memory. As the rest of the family trickled home, we added Kathy, Abby, and her tentatively-plucked violin to the scene in the living room. (Kathy offered to get out her French Horn too, but we just couldn’t figure out how to orchestrate that into blues songs.)

We had a superb time playing together; I had a grin plastered on my face for about 30 minutes straight while Emily was playing with us. While I’ve really hoped that some of the kids would get into music over time, I’ve been reluctant to push formal lessons, both because our calendar’s already ridiculous, and because I don’t want to risk squashing the pleasure that music can bring. It’s exciting and gratifying to see the kids starting to take an interest of their own accord. While I don’t think we’ll ever be the Von Trapp Family Singers, if we can find joy in making music together over the next several years, I’ll be one happy Dad.