Every now and then, when I post about simulations, someone asks me if they can see the code I wrote. Thus far I’ve done a terrible job of sharing it despite the fact that the world now has things like Github in it. There are several reasons for this: one is that my code is sometimes dependent on a library of visualization classes I’ve built up over the years that’s hard to pick apart. But there are other reasons that are way less impressive. And so, dear reader, I’d like to share with you a confession of sorts as well as amending this lamentable state of affairs.
The first reason I’ve not posted my sims on Github is that I’ve never liked Git. My first exposure to it was via a botched project in which the resident ‘lead developer’, who would have struggled to lead his way out of a paper bag, had made a disastrous mess of the company’s branches. It took me days from a cold start to get things back to a usable state. At the time, Git looked very much like a version of Perforce that had been written by dropping angry cats out of a bag onto a keyboard. From that point onward, I have been reluctant to engage with the tool.
It doesn’t help that Git smells badly of ‘command-line-chic’, that particular brand of hapless techno-hipsterism that would like us all to go back to using Vi as our editor of choice and thinks a day spent trying to fix a five-line Perl program full of regular expressions is well spent. (Whatever a twenty-three-year-old with a beard large enough to hide finches in, and a cup of artisanal light roast coffee in his trembling right hand may tell you, the command line is not powerful or cool. It is a hideous relic of the 1970s that should have been replaced by something faster and better designed twenty years ago. Even the desktop has a search bar now for Christ’s sake. Is it beyond us to build a command environment that features decent search and visual feedback?)
Then there is just my lazy unwillingness to take code that I wrote on the fly and tidy it up for public consumption. I’m aware that this is ridiculous. I comment my code as I go and it’s seldom messy. But whenever I start getting ready to put software in the public domain, I find myself iterating over it like a broken household robot, trying to find ways to make things ever more tidy and readable.
However, all rants aside, several things have happened recently. First, I got to the end of my novel contract. Second, I ran out of money, due to taking time out to enjoy said contract. During the frantic scramble to secure an income stream that followed, I discovered that a great many tech jobs now really are heavily dependent several of the technologies mentioned lovingly above. And so I have decided to embrace them.
And if the next time you see me, I have a beard the size of a modest New York apartment, jeans that cling to my legs like tar and a steaming mug of single-origin Ecuadorian stimulant in each hand, you will know that it is because I am not afraid of the future. I have embraced it, warts and all.