Like a Legacy Codebase

It seems to me, that owning a house is sort of like living inside a legacy codebase.

Maybe it's not so true for a new house, but for a house where you're the second owner, it's like inheriting an old codebase. You look around, start to piece together how the whole thing works.

Initially, you just see the high level components. You figure out the basics, how to turn the lights off and on again. As you look closer, you start to catch the idiosyncrasies of the original owner. Then you start to see the bugs-- the things that don't work properly. You see the odd extensions that aren't being used; designs for plans that never came to fruition. There will be scary bits that you pray don’t explode in your face, because you’ve no idea whats going on inside them.

You fix some of the bugs yourself. Others you reach out to professionals to handle.

As you get a handle on the whole thing, you start planning refactoring and maintenance changes. You'll tear out that weird subsystem that you're never going to use. Rename this and that to make them understandable to you, comment as you figure things out.

Slowly you refactor the codebase to suit your needs, and to help it fit your taste.

Still, as you keep looking it over, you'll continue to find oddities. You'll find mysteries; design pieces whose reasoning has been lost to the mists of time. Such is the nature of old code.


Andrea and I have been the second owner for each of the houses we've bought, and neither of them have been too terribly old. I can only imagine what it must be like for people who buy a house that is a century old, having been through half a dozen owners over that time. The layers and layers of people's dream and mistakes.

As it is in our new house, we've got the basics down. We're working through a couple of bugs here and there. We're building a list of future maintenance items, and planning renovations. We've called in professionals for sure; so far none of them have run away screaming "call an exorcist instead!"... so that's nice. There's design pieces I don't understand... and probably never will. Wires that go nowhere that seem to do nothing and serve no purpose.

We've started some refactoring (the big project codenamed PAINT-INTERIOR finished up a week or two ago). Lots more projects planned. Maintenance fund is setup, and maintenance projects are on the mind.

So far so good though.