why I love tiny software
Posted on April 12, 2022First, let’s define tiny. To me tiny means that it’s
- small in file size
- simple to setup / configure with sane defaults
- simple in function and limited in scope
Some might find this similar to the unix philosophy , and I’d be inclined to agree. There’s something magical about being able to have software that just works. With tiny software, it’s also much more understandable, and thus hackable.
That’s a great thing because it both allows for users to customize it however they choose (for a great example of this, take a look at suckless tools , and it also promotes open source involvement - with a small codebase changes are easy to understand, and the purpose and intended use case of the software is clear, because it only has one or two functions.
If you need to know how something works, just look at the source.
why?
That’s a good question. It might seem attractive or more convenient to have a piece of software that does everything for a job - take a look at something like MySQL. It has a huge spec, with hundreds if not thousands of features, and I’m sure that a vast majority of them are useful for running at webscale or a very niche case - but most people aren’t webscale. You can do most of everything you need to do using something like sqlite instead.
So why? - because you can get along just fine using simple choices and tiny software
and I find it fun!
.