HN user

dankco

79 karma
Posts12
Comments18
View on HN

I love the idea of using plain text files for note taking and task tracking. As others have commented on specific tools and workflows that make this easy for them to stick with, I thought I'd add mine. I use textnote [0], which is a tool I built for exactly this workflow but is hopefully flexible enough to accommodate many of the similar processes mentioned here. It simply opens a plain text file in your terminal and provides lightweight tooling for tracking by date and rolling up previous notes into archives if desired.

Thanks for opening another great discussion of plain text note taking as a productivity tool!

[0] https://github.com/dkaslovsky/textnote

I like to recommend "Kill It With Fire" by Marianne Bellotti. It is full of insights far beyond managing legacy systems (as the subtitle would have you believe) and does a great job of analyzing the technology and the people/organizations who build it.

I have to admit that I had not come across midnight-commander. It certainly looks interesting and I'll be giving it a spin. Thanks for pointing me in its direction!

I do intend to expand nav's feature set to come close to an `ls` replacement, at least for the most common workflows, whereas midnight-commander and other similar tools are perhaps closer to being (or are) file managers. I'm also hopeful that by using the completely awesome Charm [0] libraries that I can make for a pleasing/modern UI. Either way, I had a blast building nav and look forward to continuing on.

Thanks again for the comment!

[0] https://github.com/charmbracelet

You might be interested in a project I created for exactly the use case you describe - simple, text-based notes/todos managed via a CLI: https://github.com/dkaslovsky/textnote

The project received some attention on the front page of HN a few months ago: https://news.ycombinator.com/item?id=26123436

Because all notes are plaintext and stored in a single directory, it is easy to use standard tooling (such as grep) to extend the functionality. If cloud synchronization is a must-have, simply sync the directory to your provider of choice.

Thanks, appreciate the kind words! Sounds like your take on this workflow has a couple of cool features, especially the year-based archives and the weekly "done" list with email.

I considered archiving at the year level, but realized that the month level of granularity is likely what I actually want because a yearly file would be quite large. I'd be curious to hear your thoughts - have you found the yearly archive file to be cumbersome?

I also love the idea of the weekly done list. My take for textnote is rather than build that functionality into the CLI, I prefer to augment it with scripts that take advantage of common commandline tooling and the plain text files. I might give your "email done list to my boss at the end of the week" workflow a try as a script on textnote files. I'll let you know how it works out.

Good stuff, really appreciate your comments!

Thanks for the feedback! textnote did start out as a tool for a workflow I found myself using, but at its core is simply opening a templated dated file every day to take plain text notes, which I posted here because I hope it is sufficiently general for others to find use. I also am continuing to work to make it configurable to suit others as well. I'd love to take any suggestions for what you might find useful.

Thanks for sharing your post - I really like the idea of using git to sync/track notes and believe textnote can fit in with that workflow quite well. Appreciate your feedback!

OP here, thanks for your suggestion! I considered doing exactly that: automatic archiving. The problem I see is that I want archiving to also "clean up" (that is, delete) the daily notes that it has consolidated and I worry about performing destructive actions such as deletes on an automated basis. For this reason, I chose to leave it in the users hands. I also worried about the possibility (albeit unlikely) for a race condition where a file you are manually opening is deleted out from under you. I'd love to hear any thoughts you might have though in light of these concerns. I'm definitely open to adapting the tool. Appreciate your feedback!

Thanks, d5ve! I will check out your REPL approach, that sounds interesting.

Fortunately, for textnote I only have to shell out once to open the file. I will try hard to keep it that way, otherwise I agree with you and others that bash might be the more appropriate tool. Then again, there is functionality included that would be much more difficult to accomplish in bash (templating, archiving, configuration).

Thanks again for your comments and feedback!

Thanks for the feedback! I agree with you in general and considered supporting $EDITOR. The problem is that I wanted to support always opening on a specific line, because it quickly became annoying starting at the top of the file and always scrolling/jumping.

The options that I see for using $EDITOR are: (1) simply ignore the line option for non-vim editors, (2) add implementation for specific editors, each with their own "jump to line" argument if it exists, or (3) add an additional command line argument that passes args/flags on to the editor. Option (3) seems best to me but I do worry about the number of supported flags - it is quite a lot already! More seriously, this option could be a vector for malicious code execution.

Thanks again, really appreciate the feedback! I'd love to hear your thoughts.

[EDIT: add comment on malicious code execution]

Hey Everyone,

I wanted to share a tool I built out of a desire to easily create and organize plain-text notes on the command line. textnote is a CLI for quickly creating, opening and managing daily plain-text notes. I built it to encourage myself to practice daily note taking by making it dead simple to open a prebuilt, templated, dated note file in Vim. I thought it would be good to share here with the HN community because it is intentionally lightweight and meant to be paired with other commandline tools (grep, fzf, etc) for additional functionality.

The key feature built into textnote that I couldn't find elsewhere is archiving. Running its archive command will consolidate notes into monthly archive summary files and (optionally) remove the original daily files to declutter and turn your notes organized records over time.

I hope you might find it useful and I'd love to take any feedback or suggestions that might come to mind!