Computers never seem to do what you want even though all they can do is exactly what we tell them. The only reason for this is bad software. My goal with this site is to reduce the amount of bad software that exists.
That was a bit tautological; in my mind, "bad software" is exactly the software that violates your expectations, whether you are a user, developer, or innocent bystander. Bad software is why self-driving cars crash into parked firetrucks. Bad software is why identity theft is so profitable. Bad software is why only 2/3 of my flying time in MSFS 2020 appears in the logbook.
In order to help, I'll be sharing basically everything I've decided are Good or Bad Ideas in the realm of software development. This will be a meandering journey through topics like:
At the top of the pile are two overriding principles from which most of the rest follows:
When writing software, pause every now and then and ask yourself: "am I making things worse?"
TODO: expand
The target audience of your code is other humans, particularly future you. Every effort you make now to reduce the mental overhead you ask of future readers of your code is a great kindness.
TODO: expand
For suggestions or comments, please submit an issue on GitHub.
TODO: link