Stumbling into the usual problems with dependencies when coming back to one of my pet projects after over a year today does confirm my bias to minimize the number of dependencies for my own code. In the beginning of my programming I was a little bit fanatic in wanting to understand everything by doing it myself. So I would go out of my way to implement the most low level stuff I needed for any problem I tried to fix. Whilst this lead to a lot of new things to learn I was usually not very successful in reaching what I originally wanted because after a few days motivation started to fizzle out. This caused everything I started to take very long because it pretty much sat there for a long time without me doing anything because I felt not motivated enough.

After this time I went the opposite direction and only wrote high level glue code between a bunch of modules and scripts sourced from NPM. Needless to say that the huge Javascript ecosystem made pulling down 50 megs, just to show a simple widget in my browser very easy.

During the last two years when everybody was forced to sit at home I came to new terms with dependencies: Just import what you can't build in a reasonable time and try to minimize the number of external dependencies as much as possible.

This approach has since served me well and I did not loose interest in my projects during longer stretches because I did not get lost in little details like socket communication when all I needed was a simple HTTP endpoint.