When I was a lad, I used to devour guitar magazines. My favourite articles in these magazines were the gear reviews. I’d read page after page about guitars, amplifiers and effects pedals that I’d never be able to afford, weighing the merits of the kit. It was complete fantasy: my guitar setup in the real world consisted of a Squire Stratocaster and a Peavey practise amp. But the fantasy was fun all the same.
One of the side-effects of this imaginary shopping was that I got quite a good feel for what instruments cost. For a time, I would have been able to give you a good benchmark price for pretty much any mainstream guitar or amplifier from 1960 onwards. All this knowledge was entirely theoretical, though. I didn’t really have any feeling for the value of any of this gear. My dad bought this home to me one day when he observed that I was talking like a man who knew the cost of everything, but the value of nothing.
I was reminded of this pithy phrase recently when working on some code with a colleague. We were working on his PC, which for a coder is rather like driving someone elses car: nothing is quite where you expect it. I wanted to do a bit of editing, and my colleague suggested I use his SlickEdit install. When I demurred, wanting to use vim instead, he was a little put out. “You’ve 300 quid’s worth of SlickEdit sat there, and you want to use vim?”
But I did want to use vim. The funny thing was that it was actually more effective. We were trying to track down the definition of a function in the codebase. I minimised vim in the shell using CTRL-z, then ran ctags to generate a database of the code. Returning to vim, I used vim’s ctags bindings to quickly navigate to the definition of the function. My colleague missed this, however, and took over from me to open SlickEdit. “This is what SlickEdit’s good at”, he said, before proceeding to perform exactly the operations I’d done, but in about twice the time.
We’ll work at my PC next time.