100th commit. See description for words of wisdom.

A LETTER TO FUTURE GENERATIONS

Hello, Future Generations. With this hundredth commit, I have fixed a
nefarious bug in what should have been a (relatively) simple backend
feature: starting a game, generating its galaxy, and saving said galaxy
to disk.

Sadly, this was easier said than done. I fell into the classic
programmer’s trap. I wrote a bunch of code before testing it. When it
came time, nothing worked. I then spent the next 50 commits and several
hours trying to fix this bug. This was time I could have spent on
ProxyLab or prowling the Internet for the latest rumors about Star Wars
Episode VII.

50 commits, you say?! Normally, one would only commit working code to
GitHub. But since we have to test our code on PythonAnywhere, we had no
choice but to commit untested code so we could pull it to the server.
This is why it was more important than ever to write thoughtful,
working code.

Instead, progress was slowed down by constantly having to commit, pull,
reload, refresh, read error logs, and debug. Repeat ad nauseum. Our
commit log no longer became a chronicle of our steady progress.
Instead, it enumerated failure after failure to fix this issue. Some
errors were subtle, like overwriting a set with a list. Others were
careless, like referencing attributes that do not exist.

The lesson to be learned?

1) Proofread code for careless errors before committing.

2) Test locally before committing if possible.

3) The most agonizing errors are sometimes the most obvious. An
example: I once forgot a "return" statement yielding a nasty "NoneType"
error.