I have made too many projects in my lifetime, and thought that a repository is not enough to handle support for them. I also believe that to be able to dump my mind from time to time keeps myself on track. I make projects because I like to help people with problems that may or may not be an issue, now or in the future.
Releasing a project to the world is not that easy as one may think. We need to make sure that the end user will have an easy interaction when installing our program.
Upgrading RAM.
Tests are used to determine a semi-validity of your implementation. However, it is useful to ensure that parts of your program does what it is supposed to, and that the whole program actually does things as expected. The biggest problem is how to test. The rest is just making sure it actually tests the right things.
Sometimes it is good to port algorithms from older code bases. And while it could be fun, if they are not compatible it might result in weird ad-hoc code. Refactoring to reduce duplication is necessary.
Optimize a complete algorithm is harder than it sounds, but with the right tools and correct mindset, it is possible to achieve noticeable improvements. In this case, memory handling is the most obvious fix.
I realized that I missed to add support for certain features in Minecraft save format, so I spent a couple of hours doing so. All of this adds better compatibility with Minecraft.
Optimizing your program can be tricky, but sometimes you can blame on the libraries you use, and look for alternatives that could help you.
Making applications that works over several platforms is hard, but in this case it was more related to the build system. There are some practices regarding the build system that should be taken into consideration, especially regarding dependencies.
Fixing a the issue of being able to utilize more threads in a system required an unexpected technique. Adding it might not make it more optimized, but at least it will reduce noticeable overhead and allow it to process more tasks in parallel.
When something goes wrong, it is great to have some sort of notification about it. While this sounds like a simple task, there are some hurdles to overcome in order to achieve a satisfying result.