I've found that one of the best things to do when making a library for something that is going to have a web interface is to first have it work in the terminal. You can much more quickly play around with the design and fix issues there instead of having to work with a more complex web interface.
You just create a simple menu system, like input("1: Feature A\n2: Feature B\n>") and just start trying out all of the different scenarios and workflows.
I had a coworker who would sometimes not create a method as being static to the class and would therefore need to create a default instance to call said method. "It's domain-driven design."
For me it all depends on how often a project changes. If it's constantly in flux, I don't bother remembering any of it because I might not be the last one who touched it. The more you try to remember everything, the more wrong you become due to the successive work of your coworkers.
"Maintainable code and common patterns? But I prefer code-golfing my if-statements into one, long sequence of characters."
-coworker standing atop the Dunning-Kruger peak
There are so many ways to be a hero for those around you. Why end your life when you could dedicate your life to help those in need? When you feel at your lowest, remember that there is someone, right now, who wants to know and believe in you and who hopes that you could do your very best to help them and others.
This is intended to be motivating. Instead of leaving a hole in the world, you could become a role model for others.
It happened to a friend who wasn't passing in the proper types into their stored procedures, all strings, and "null" (not case sensitive) conflicted with actual null values. Everything in the web interface were strings, and so was null.
For some people it takes this mistake before they learn to always care about the data types you're passing in.
I don't know how some people find the time to do anything but help take care of mom and the baby. I was either sleeping or helping while trying to find time for food.
Great list! I would just add The Majority Report if you're looking to learn more about politics while also trying to understand what is happening today. They do a ~2.5-hour live show every weekday which includes a quick overview of the latest headlines for today, an interview of someone with knowledge about some politics-related topic, and then an hour of mostly right wing videos that they discuss, argue with, and vent about.
I love it for how informative it is and for keeping me sane.
I prefer to just throw the state into a database. Each table has their own "repository" type that knows how to save/load models and then I have "manager" types that use "repository" types to compose larger, feature-specific domain models.
I usually just use Sqlite for it's simplicity but I'm not opposed to Postgres via Docker.
After many years of using SO, I've started using ChatGPT for all of my programming questions and have not looked back once. For my usual "I know X is possible, but how do I do that in Y language" questions, it's been a dream using ChatGPT.
I've found that one of the best things to do when making a library for something that is going to have a web interface is to first have it work in the terminal. You can much more quickly play around with the design and fix issues there instead of having to work with a more complex web interface.
You just create a simple menu system, like
input("1: Feature A\n2: Feature B\n>")
and just start trying out all of the different scenarios and workflows.