I'm not sure if it's a particularly remarkable milestone, but I made my 1,400th commit to POP Forums since I switched to using Git over Mercurial or Subversion or whatever it was that I was using back then. That was on March 10, 2013, but my first line of code in the post-Active Server Pages days would have been in 2001. I'm not sure when exactly I moved from CodePlex to Github, but probably in 2014. This commit today was to refactor a bunch of poorly named things, and was preceded by a bug that was performing authentication on things it didn't have to. I found it totally by accident, when I noticed that photo grids on CoasterBuzz were slow to load, followed by a ton of Redis cache errors asking for the same data, about the same user. It shouldn't have been looking for those for photos. I'm still curious about why it couldn't accommodate 20 simultaneous calls for the same data, but if I understand that library right, it may make sense. I dunno, the problem is solved, so maybe I don't care about the cache thing.
This serves as a good example of how software is never really "done." At the very least, you have to update the platforms, frameworks and libraries that your stuff runs on. Some of them go away entirely, and the forums have been on three different platforms (technically runtimes, I guess). Heck, it used to be that it could only run on a Windows server, and now it runs in containers on Linux cloud resources. You have to do that updating because eventually whatever it's running on won't be supported, or even available. The frameworks tend to change, sometimes in big ways, which is why that authentication bug crept into the code base.
If you've made it this far, you probably nerd hard, but on the off chance that you're more of a business person who doesn't work in my biz, I hope this makes sense and you take it to heart. You can't just build something once and use it for the rest of time. The longer you wait to update or replace it, the harder it will be. Everyone became acutely aware of this for Y2K, but I think it's time to remind people.
My other motivations include being a performance junkie (pages rendering now in under 30ms), and trying to keep some kind of street cred among coworkers (manager credibility). It also allows me to better understand how hyperfocus works, though unfortunately it seems like it still only switches on if I really, really care about it. It's not that I didn't care about writing code at work back in the day, but the motivation and reason for engagement was different. As a manager I'm context switching constantly, which plays to ADHD strength, I think, but every once in awhile I get in front of something where my architectural advice has been requested, and that switches on the hyperfocus.
I'm gonna try and get v21 out by the end of the year, which is a little later than usual. It won't be a feature-rich release, but there's quite a bit of tuning and organization under the hood that's deeply satisfying.
No comments yet.