Right about now is the most exciting moment in my career as a geek since I met Irving Wladawsky-Berger 14 years ago. Well, that is conceptually speaking. You see, in giving over to the force of the Mac/Linux Sith, I am picking up a *ton* of goodies. If I don't take a moment to write them all down, I'm likely to take them for granted and not even mark the progress. So here's another way of burning it all into my head, and yours.
As an applications programmer and database designer, one of the things I've never had to do is subject much of my code to scrutiny. So in the context of my peers, I don't know if I'm a good coder or not. That is because I've never had to collaborate except in a black box way. That is to say I've operated like an API black box. Give me input and I'll give you output. I specify what I need, you specify what you need, we retreat to neutral corners and code away. N days later, we mutually voila, and we get paid to do what we do. That means no time for cross training, I just hope you know what you're doing and so do you. I've had to turn over a project like this only once in my career and it was a nightmare - me supporting code that was hundreds of miles away in another time zone - from memory. So because of all that, I've never needed Git, nor Make nor CVS, Subversion or weird hacks of WebDAV to check in and check out code. Boy am I glad, because now that I'm up the curve of Git, it's almost inconceivable to imagine working with the constraints of centralized code repositories.
Eventually, this high will wear off and I'll become smug again, but maybe not. Maybe I'm finding out what I've really always wanted to do. Who knows? For the moment, it's invigorating, challenging, rewarding and fun. But I think the best part of it, yet to come, is the possibility of getting deep into the literature of Ruby, my new language - of reading and being read and generating the sort of felicity for myself and my readers that I have been able to create over the past ten years as a blogger. Just as writing for myself turned out to be something I'd grow beyond, writing online in small circles and then to larger and wider circles led to my ability to truly write. I expect for this to happen for me over the next ten years. It's a long attention span thing.
I know that it's writing, in the end. And I know that my willingness and ability to sit in this chair for another 10,000 hours typing with these fingers will see me through. I will write code like that old man who just died painted standing up into his 80s, and I will be happy about it. With any luck, so will you.