Xing

⮜ Back to Blog

So That Happened

It's almost funny looking back on the optimism my posts a year ago exhibited about the new decade. After all, how much worse could it get than the last few years?

Evidently, a lot.

As 2020 comes to a close, with a year of masks, quarantines, social distancing, and far too many losses behind us, it's not particularly insightful to say no one could have predicted how this year would have played out, but I'm frankly still awestruck by just how abnormal this year ended up being, even in a string of fairly remarkable years. The switch en masse to Zoom and the new virtual paradigm nearly all human interactions have been limited to is so unrecognizable, even as someone who generally prefers virtual interactions over going outside, that it's difficult to know if we're in the middle of a more permanent societal shift. Virtual backgrounds and screen sharing have become common parlance nearly overnight, whereas just a year ago they were at most novelties. Maybe I just need to get these thoughts out now so when I look back years later, a record exists, because this genuinely feels like something big.

But I digress. This blog exists to talk about what happened on this website, and I don't intend to start deviating too much now. Not a lot happened this year, and I'm tempted to blame COVID-19 for that, though to be honest, given the progress on my site over the last few years, I think it's safe to say that this wouldn't be entirely true. There just wasn't any particularly inspiring ideas that struck me for what to do, so I didn't do much.

When all else fails, though, there's always backend changes to talk about. Namely, since setting up my new dev environment a year and a half ago, I basically haven't touched my site since, and I noticed (while trying to use some new PHP features) that parts of the setup weren't ideal: I had different PHP versions between my local dev environment and my production server. So out of curiosity I decided to look into PHP versions, and learned to my surprise that PHP 8 was out.

Keep in mind that after PHP 5 was released in 2004, no major version changes were introduced until PHP 7 came out in December 2015 (they basically skipped 6 for reasons Google could do a better job explaining) - and I didn't move my site over to 7 until summer 2019, mainly because my blog, which I made back in 2013 and had not significantly overhauled since, was still using the old mysql extension. The migration to 7 required me to finally replace mysql with mysqli, although I didn't touch anything else - thinking about it, perhaps now would be a good time to rewrite my blog's backend code. But I'm getting off-topic again. After PHP 5's nearly 12 year reign, I thought we'd be safe on 7 for a while, but it looks like PHP is also jumping on a more rapid development cycle after a big overhaul into "modern" PHP, a la JavaScript and C++. So cool. I updated my server to PHP 8, which required manually installing PHP into my pre-existing Bitnami Stack. Luckily some engineer on the forum left very detailed instructions, so it was just a matter of reimporting my blog database from a backup and copying over the Apache configs for the go.michaelxing.com subdomain. Fairly painless, and after updating my XAMPP install too, I'm finally developing on the same version I run production in.

All of this happened so I could add types to member variables in classes, because oh yeah, I just learned that PHP allows you to add types to variables now. It's really quite limited - you can't even type arrays, for instance, but it goes a long way towards making the language feel more like the statically typed ones I enjoy working in, and frankly phpDoc goes a long way towards filling in the gaps anyways (I can declare a variable as an array in code, and then specify the type of the array in phpDoc, and my IDE will enforce those types correctly). So that's another welcome improvement.

The only other noteworthy thing is that I updated the projects page. I took a bunch of non-CS oriented classes this semester (two music courses and one in game studies), so I thought I might as well put up some of the things I made. They're now on a separate page for non-programming related projects, along with some reasearch I did (which is technically programming related, but it's not a released software product per se, so I'm counting it). I also moved all my high school stuff onto a separate page too just to keep the main projects page cleaner. I still think that page needs a bigger overhaul at some point, but I don't have any ideas right now, so I'll live with it as is.

That's about it. It was a slow year on the site, to match the hectic year that happened outside. The last time I said "we'll see what [next year] has to offer," we got the worst global pandemic in a century, so I won't say that this time. Nonetheless, I really do hope next year goes better. For everyone's sakes.

And to everyone that celebrates, Merry Christmas.

⮜ Back to Blog