My Son Can Dance

He certainly didn’t inherit this talent from my side of the gene pool, but my 16yr-old son Isaac is a pretty incredible dancer.

This weekend he performed in front of his high school classmates, most of whom had no idea of his gift for movement. Seeing and hearing them react to his moves was a great experience, and the standing ovation he received at the end was well-deserved.

Nice one, Isaac – I’m proud of you not just for your skills, but also for having the courage to get on stage alone and do what you love.

The Perfect Job!

My nephew, Brandon, is a budding director. He’s an 11th grader with a ton of talent. I’ve enjoyed his videos for years, but none more than this one he created with two of his high school classmates.

Android’s Fragmentation Problem Is Being Replaced by the Support Library Problem

Android has long labored under the shadow of a “fragmentation problem” that makes it tough to write apps that work reliably across the many devices and platform versions. I’ve written before that this problem is overblown, yet it’s not without merit.

Google has done a lot to address the fragmentation problem, including creating support libraries that make new features available on older devices. These libraries have been a huge help to developers like myself.

But I’ve noticed my fellow devs getting less enthusiastic with each support library release. Sure, we look forward to the new features and bug fixes – but we’ve learned that with each release comes a new set of problems, some of which are specific to certain versions of Android. We’ll spend time coding workarounds for these problems, then have to revisit them the next time a support library is updated.

This situation is starting to resemble the fragmentation problem the support libraries were designed to address. Instead of writing code to deal with problems in specific Android versions, we’re writing code to deal with issues in specific support library versions.

The Code That No One Touches

Every app that’s been around for a while has code that no one touches.

The rest of the code may be great, but there’s that one area written a long time ago that everyone is scared to work on. It’s so fragile that if you touch it you’re likely to break something, forcing you to descend into its unfathomable depths in order to repair it.

If you do have to work on it, the rest of team turns somber and treats you like a soldier headed to battle. They know they won’t hear from you for a while, and there’s a chance you won’t return.

Perhaps one day you announce you’re finally going to refactor that code. “It’s ridiculous to have this awful code in our app, and I’m going to correct it,” you foolishly say. A few days later, after discovering new swear words as you try to figure it out, you decide now isn’t the best time to fix it. “Maybe I’ll tackle that after the next version ships,” you proclaim, secretly hoping nobody remembers you saying that.

When a new developer is hired, the rest of the team wants their first task to be repairing that old code. They’re new, excited to be on board, and eager to prove themselves – so let’s welcome them by throwing them into the dark pit that hides beneath our software.

But that never happens, because the people in charge don’t know about the problem. Nobody mentions it to management for fear of being assigned to take care of it.

And so the old code lingers, like a basement closet nobody wants to clean out. The code that no one touches never goes away.

Monty Python and the Holy Roller

french-taunterIt’s only Sunday, but I can honestly claim to have had the highlight of my week already.

There’s a local rock radio station whose weak signal sometimes gets overlapped with that of a religious station. This has led to delightful moments such as a Primus song morphing into a hellfire-and-brimstone sermon.

This morning, for some reason the rock station was broadcasting parts of Monty Python and the Holy Grail. As I drove out of my neighborhood the scene with the French taunters was playing. I heard John Cleese utter, “You tiny-brained wipers of other people’s bottoms!” and then it suddenly changed into a hymnal.

Maybe it was a “you had to be there” moment – but I was there, and I found it so hysterical I almost had to pull over.

Septoplasty and the Deviated Stunt Man

Yesterday I underwent septoplasty surgery to repair a deviated septum I’ve had since childhood.

The injury was the result of pretending I was a stunt man when I was a kid. I enjoyed throwing myself onto foldable chairs and tables like I was in some sort of bar fight scene, and one time it didn’t go well. ‘Nuff said.

I’ve had breathing trouble and sinus infections ever since that day but avoided corrective surgery because of the horror stories I’ve heard about it. This year my nasal woes became so severe that I decided to finally have it done.

Turns out it’s not that big a deal, at least not in my case. The surgery took about an hour, and the only real issue for me has been the mental fogginess and irregular sleep caused by anesthesia. I have two splinting “straws” in my nose which are pretty uncomfortable, but they’ll be removed in a few days.

As part of the procedure the doctor cleaned out my sinuses and removed a number of nasal polyps that have affected my breathing. I can already breath better despite the straws, and within a few weeks I expect to feel like I’m wearing Nose v2.0.