My Jam project was to make a utility that I can see myself using for a long time.
I decided to recreate a simple utility program I made in Go before that re-runs specified command whenever any content in target directory changes, since I couldn't (or didn't try to) find a tool that does the same thing just like I wanted to.
after starting to work on my project I quickly realized that this isn't going well as I thought it would be. after struggling to transfer what I've wrote before into a C code for a week, this was the end result.
through this jam project now I realized that I don't really know how to organize the code, and identify/decide what feature is crucial and should be implemented first.
I initially went to make it multi-threading but I totally forgot that multi-threading came in late when I wrote Go version before.
I didn't know that you cannot capture stdout concurrently without a workaround, since apparently a process created by CreateProcess with redirecting stdout to Pipe uses block buffering instead of line buffering (may be misunderstanding a bit).
I made several other mistake that can be boiled down into a lack of pre-planning or organizing. this experience made me realize that how un-organized I am while writing the code, and taught me what to pay attention for next time.
https://github.com/komugi1211s/furry-succotash
(project name was randomly generated)