
The kitchen DIY project is proceeding slowly. Initially I was off work sick and that meant I was also off DIY too. I sensibly decided to follow the advice given by the news and not go spreading my winter vomiting bug to other people. It was only when I went back to work and actually caught the winter vomiting bug that I realised that all I had was a cold. So I was off last week too in a follow-up illness.
All this meant that my wife finally snapped yesterday and demanded that some progress was made. So I made some, by vowing to install some new plugs by the end of the day, including a fancy new switch for the outdoor light which it did not previously have.
I really feel that this project is representative of my DIY skills generally, so I would like to explain some of the key points of my plugs installation. You may wish to observe its finer aesthetic qualities in the linked photo above.
Please note:
- The carefully cut hole that the plugs reside within, and the generous space surrounding it.
- The crack in the light switch from the over-tightening of an over-keen electric screwdriver.
- The stepped positioning, in terms of alignment, depth and angle.
- The complete lack of an earth wire in one of the switches (I’m not telling you what one).
- The hand-build wooden frame connecting the plug boxes to the brickwork. This is built (In part) from bits of old chipboard recovered from the garden, dried off the the oven at gas mark 1 and broken into random small fragments by hand.
- The single screw holding it all onto the wall, positioned somewhere near the top so that pulling out a plug makes it all wobble slightly.
- The two cables going to the extractor fan from the left-hand switch. I don’t know why there were two cables. It’s possible that when you switch on the fan, you’re also switching on something else too. I just don’t know what that is.
Needless to say, after a days work my wife has phoned an electrician who has agreed to come out and do it properly. I think I’ll stick to painting.
January 21st, 2008
Had a meeting at work in which several huge changes to the way our software is developed were discussed, including (I shit you not) a move from CVS to SourceSafe in order to allow us to do file locking and avoid merging. As if that was an advantage.
But the change that shook me most was a relaxing of our coding standards with the view that if you write code and it passes tests, then who cares if your code is formatted nicely. I can see how that would have come up. The company where I work is fanatically anal about things like code reviews and coding standards. Reviews for even trivial changes need to get past two extra pairs of eyes before even getting close to the repository, and sometimes it’s hard to see the benefits behind the percieved delays to ever-present deadlines. If you forget to put a curly brace on its own line, then you can expect another half hour before your revised changes get passed by your reviewers. These new changes are born out of this frustration, but they are disasterously misguided.
Writing effective code is more than a conveyor belt of tasks that need to be completed. Finished code is more than a green tick on your unit testing app. Code-writing is a craft, and there are good craftsmen and bad ones. It takes discipline to write code that conforms to strict standards and doing it right becomes a kind of art form. Good code is a beautiful, wonderful thing.
So the next time you are writing code and think that it doesn’t matter where you break your long line, or wether your variable name takes the same form as your other variable names, think again. To have the discipline to create beautiful code is something worth working on and worth having. If you can have that discipline, which is the discipline to take pride in your work, then you will have the discipline to do everything else that follows - writing thorough unit tests, documenting decisions in the code as you make them and all the other hundreds of ancient good practices that developers often like to quote blindly.
It’s connections like this, between caring about correctly indenting your lines, and the quality of the final product, that are hard to see at first glance. I only hope someone high up in my company makes that connection before we throw away some very valuable pickiness when it comes to the appearance of our code.
January 8th, 2008