On a related note, I (and I suspect many other hackers) have a billion cute little applications I've written over the years that do very specific things in exactly the way I want them done.
The interesting thing to me is that I'm reluctant (embarrassed?) to release them because I'm afraid of the phantom snobbery that pervades engineering culture. Since my apps and utilities are "trivial," I fully expect to be ignored at best, or maybe scoffed at for my stupid, toy applications.
Then I thought, maybe that's an allegory for the whole software ecosystem... everyone's so afraid of being "trivial," that few people are willing to do one thing and do it really well.
I actually love these types of apps. Especially when they are all wrapped in a single file which usually makes the download/use/delete cycle nice. Also the single purpose websites that I can upload data to and perform some trivial calculation (calculate rhumb line distance given list of lat/lng pairs).
Even *nix utilities have suffered the feature bloat problem. Many have so many option flags that they exhaust the letters of the alphabet, both upper and lower case, and move into the --wash-my-car-while-you-are-at-it styles. The saving grace is that for the most part, these obscure options are completely out of sight if you don't need them, but they do clutter up the man pages quite a bit.
I see this as a fundamental concept of programming abstracted to the application level. When you code a function you strive for modularity, for your function to be re-usable as a building block. But if you're not careful you can make your function take too many inputs and do too many calculations. The same truths apply in code as in life. Keep things small, manageable, and re-usable, and Good things will come to you.
On a related note, I (and I suspect many other hackers) have a billion cute little applications I've written over the years that do very specific things in exactly the way I want them done.
The interesting thing to me is that I'm reluctant (embarrassed?) to release them because I'm afraid of the phantom snobbery that pervades engineering culture. Since my apps and utilities are "trivial," I fully expect to be ignored at best, or maybe scoffed at for my stupid, toy applications.
Then I thought, maybe that's an allegory for the whole software ecosystem... everyone's so afraid of being "trivial," that few people are willing to do one thing and do it really well.