Code and Cuckoos

Filed under Cuckoo Clocks, Rants

WP_000163Aside from the obvious connotations of the title, I’m actually talking about real cuckoos here, or rather, cuckoo clocks.

Ages ago, just after we first bought the house we’re in now, I was clearing out the attic space and happened upon an old cuckoo clock. This one was labeled a Schatz 8-day, and I’ve since learned it’s a pretty common German cuckoo, probably from the 50s or 60s. Not really a collector’s piece, but interesting none-the-less.

Of course, there’s no telling how long it had been in the attic before I found it, and, not having time or inclination to do anything with it, I stuck it on a high shelf in the garage and promptly forgot about it. You can see it in all it’s glory as I found it in that first picture.

Flash forward to a few weeks ago. I finished out a second contract with a law firm, doing MSSQL Server tuning and optimization, and had some time, so I decided to clear out the garage.

Lo and behold, that cuckoo was still up on that top shelf. Dusty, but otherwise just as I’d found it almost 7 years ago.

The Old Code

Obviously, it was missing some numerals. The hands were so brittle they snapped when I tried to adjust the time. One of the birds on the front piece was gone, no idea to where. The chains were utterly tarnished. The mechanism was completely dusty and grungy. And the bellows (the parts that actually make the cuckoo sounds) literally disintegrated when I took them out and tried to test them.

WP_000161   WP_000162   WP_000164

However, the mechanism appeared to be all there. Both bellows were there. Both weights were there. I still had the chains and the backplate with the chime, so there were lots of positives.

Refactoring

The first step was getting the mechanism out. Pretty simple, really. The bellows needed to be removed, but they were held in with a single screw and a set nail. The mechanism itself was held in with 4 small screws.

I blew it out with an airgun, but it became clear it needed a full on cleaning. After a little internet research, I found that clock cleaning solution is essentially water, ammonia, and Murphy’s Oil Soap, of which I had all three. Mix it up, soak the mech for a few minutes, wash it out thoroughly and the mech was looking almost new.

WP_000168   WP_000169 

Next, I got online and found a clock store that sold virtually identical parts. 10$ later and I had on order paper for bellows, replacement numerals and a new pair of hands.

Repapering the bellows looks hard, but was quite straightforward. You just have get the folds in the right places. And some glue and clamps later, the numerals and hands were back on and looking MY-T-FINE…

WP_000187   WP_000188

The Build or Buy Decision

At this point, the only thing left was that bird (or lack thereof). I found an auction on eBay selling a virtually identical bird, but at the last minute, I got caught up in, well, life, and completely missed the auction completion. Doh!

Tons of searches and even emails to clock shops turned up nothing. It was becoming clear that this particular decision was being made for me.

Proper Object Inheritance

Obviously, I needed a new bird almost exactly like the original, but in reverse. So, trace and reverse to get this.

WP_000211   WP_000213

I didn’t have any linden wood (the typical Cuckoo clock wood), so some clear pine would have to do. And my carving toolchest is a tad limited.

WP_000215

 

Unit Testing

After a few hours of grinding, whittling and chiseling, I ended up with this.

WP_000216   WP_000218

This was a good enough result that I decided to continue on with the project and finish it out. I had to pick up some modeler’s paints, but I had an airbrush, so I was good on that front.

“Good enough” Engineering

The final result came out pretty reasonable. Not a perfect match, but close enough.

WP_000224  WP_000221 

WP_000220

Post Mortem

So, what does rebuilding a cuckoo clock have to do with developing commercial software?

More than you might think. When you look at cuckoo clocks, or really, mechanical clocks in general, you really come away with the strong conclusion that clockmakers back when were the engineers and programmers of their day. Looking at the complex system of gears, the escapement, and the cams that drive the bellow lifts and gong ringer, it’s not too hard to see a system of subsystems, inputs, outputs, and programmed behaviors.

As programmers, we spend a lot of time staring and computers and wrestling with the bleeding edge of technology.

Sometimes, it can help put things into perspective by wrestling  with a bit of 1700’s bleed edge technology.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*