May 9, 2020

Between last night and today, there was a clusterfuck of nonsense. After completing my coding work for the day, I did some maintenance on my server and decided to see what it would take to upgrade my Ubuntu installation from 18.04 to 20.04. After following the steps to check to see if an update was available, and watching my server hang while fetching said info, I gave up, thinking nothing of it, as I assumed there was nothing that happened as I did not initiate an actual upgrade.

I was very wrong.

While lounging, casually reading Yagyu Munenori's "The Book of Family Traditions On the Art of War," I was alerted to an issue with my website by a friend. Thank you ever so much, Sara for pointing this out. Had I not been alerted to this last night, I probably would have gone back to writing code as normal today, and would have thought there was an issue with this code that kept me from accessing my site on the front end. As it so happened, the server OS was corrupted and would not even accept a restore from my available backups. I ended up destroying the droplet and rebuilding the whole thing.

This is not the first time it's happened, either. Over the course of learning JavaScript, I've also learned a great deal about linux, the command line, systems administration, and server setup in an effort to maintain my very mobile development environment. Rebuilding everything, now, isn't particularly difficult, it's just time-consuming. And so, after about two hours worth of work, my droplet was active, my server was up and running with Node.js and operating as a reverse proxy, and my two main projects - a Discord bot and my website - were operational once again. All on the updated version of Ubuntu.

Thank fucking god for git.

Now, normally, that would be the end of it. Rebuild the server? Fine. Except not too long ago, digitalocean held an online presentation featuring a service called Ansible, which is supposed to automate server setups, application deployment, and other such tasks. Since having to rebuild a server is time-consuming and not a whole lot of fun, I thought this might be a viable option for future such occurences. So this morning, I spun up a new droplet with the intention of using it as an Ansible Control Node, and set about creating this system. And it was going smoothly until I had to connect to other droplets, at which point I ran into authentication errors.

Always some issue with authentication.

This time, it was a matter of SSH keys, which I'll not get into here. Suffice it to say that after struggling with this for some time, I decided to drop this particular project altogether and return to it at a later date. Perhaps tomorrow, when I feel like going through the whole process of setting up a new server. We shall see.

ANYWAY, so far as coding is concerned, I spent time reading up on React elements, React components, learning about the extends and super keywords, and working my way through the React codebase on github.

What a fuckin' day.

Comments? Questions? Follow me on twitter and drop me a line in response to this tweet:

Day 022: server administration fuckery, server automation fuckery, and #React fuckery. All in a day’s work.https://t.co/ckpYTu1SZu#nonsensemod365 #thatCodingLife pic.twitter.com/Y1YEVTvOzd

— Joshua Alexander (@nonsensecodes) May 10, 2020