“What I mean is that if you really want to understand something, the best way is to try and
explain it to someone else. That forces you to sort it out in your mind. And the more slow and dim-witted your pupil, the
more you have to break things down into more and more simple ideas. And that’s really the essence of programming. By the
time you've sorted out a complicated idea into little steps that even a stupid machine can deal with, you've learned something
about it yourself.”
—Douglas Adams, Dirk Gently's Holistic Detective Agency (1987)
And then the world ended.
Well, here we are, halfway through the year, and the MUD is feeling neglected. Because of course the pandemic isolation is an opportunity to be super-productive, one which I somehow haven't managed to seize upon. I'm still alive, still working, and hardly a day goes by that I don't feel guilty about letting the MUD languish in development limbo.
Honestly, it's nice to have one project—any project—in a completed "v1" state. 650Vue continues to eat most of my free time, but I do hope to get back to work on my Tierceron Construction Set before the end of the year.
I got a bit of good news this summer: after a 15-year absence, one of our original immortal staff managed to get ahold of me. We'd each tried to connect numerous times over the years, resulting in several frustrating near-misses, but luckily this time appears to have stuck. Even better, he's feeling the urge to build again, which brings me back to the incomplete Tierceron Construction Set. I'd hoped to have the build tools ready before resuming building on the MUD, but at least this gives me an incentive to add additional functionality to TCS.
Resuming work on a project after a year is not easy, because you can forget critical information, leaving you with a lot of questions to answer. Where are the repositories hosted? Where is the project management hosted? How do I get to my Heroku dashboard? Where do I find the production app? The local? (Bookmarks are helpful for these.) What are my login credentials for all these sites? (Consider a password manager.)
Just as important as "where do I find stuff" is "how do I do stuff". How do I handle pull requests, merges, and releases on GitHub? How do I deploy new code to Heroku, or open a remote Rails console, or backup a database? How do I set up a new builder account on TCS? How do I transfer data from TCS to the MUD and back again? How do I update my release notes on this website?
The answer to all of these is simple: document your processes and standards. Treat your hobby projects with the same degree of rigour you apply to your professional projects, and you'll never find yourself frantically searching for a password on some random sticky note or trying to figure out what the heck you were thinking last year.