Today, I embark upon a new undertaking - a command-line to-do app. Sounds trivial, but it seems that so many modern productivity apps are actually marketing silos - you put your information and plans in, and when it is time to take it out, you must use their Sacred Ritual to retrieve your information to act on.
But what if that kills the momentum of actually taking action on your plans ? What if you need to get your information into a different environment on a different device in order to act upon it and get something done ?
Recently, I have been bitten by this once too many times. And so I figured, “fuck it, I’ll make my own tool“. Tasket (nee Needful) : https://gitlab.com/damiencalloway/tasket
For the longest time I was stuck on what I should do, for a project that would be meaningful, stuck on the concept of a Killer App that everyone would want to use. A mentor of mine suggested, instead, that I should seek to scratch my own itch. He then told me to read The Cathedral and the Bazaar (again) :
Indeed, this, along with the UNIX Philosophy, also suggests that one should seek to scratch their own itch in order to seek open-source enlightenment. The theory goes, that one will be more engaged with the project, and come up with the best solution to a problem if they are solving it for themselves. A bit counter-intuitive, but Eric Scott Raymond makes a very convincing argument.
The stated goal for the Needful project ? A simple, command line to-do list that is not captive - so that if I need to take the information out of that tool to act on it, I can. Eventually, I would like to bootstrap a second brain with the tool, but the Unix Philosophy favours small tools that do one thing well, versus one large monolithic tool - so we shall see where this ends.
This will be written in Python, and the journey shall be interesting. If I can get the tool to be as useful as the old-school Palm Pilot To-Do and Checklist apps I will be very happy.