HNHacker News
TopNewBestAskShowJobs

dankco

79 karma · joined February 9, 2021

submissionscomments
dankco··on My productivity app is a never-ending .txt file (2022)
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

dankco··on Ask HN: Good books on philosophy of engineering?
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.
dankco··on Show HN: Nav – A terminal navigator for interactive `ls` workflows
Thanks again for the great suggestion. I've implemented this and it is part of the latest release (v1.1.0).
dankco··on Show HN: Nav – A terminal navigator for interactive `ls` workflows
I love this idea and will look into implementing it in the next few days! Thanks!
dankco··on Show HN: Nav – A terminal navigator for interactive `ls` workflows
I agree! nav supports this workflow in search mode as well, and I could easily support fuzzy searching rather than exact match if that would be valuable.
dankco··on Show HN: Nav – A terminal navigator for interactive `ls` workflows
Yes, fzf and ripgrep are the best! Together they are the heart of at least half of my .zshrc functions, and it would be fun to see about writing something similar by composing them together in various ways. Great idea!
dankco··on Show HN: Nav – A terminal navigator for interactive `ls` workflows
Thanks! This does look like a similar tool, and as you said, I love seeing what others have done for inspiration for new features to tools I'm working on. Thanks again.
dankco··on Show HN: Nav – A terminal navigator for interactive `ls` workflows
Broot looks really nice. I love the tree-like output - `tree` is one of my favorite tools. Interactive tree is a great idea, makes me wish I had perhaps started there instead.
dankco··on Show HN: Nav – A terminal navigator for interactive `ls` workflows
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

dankco··on Joplin – an open source note taking and to-do application with synchronization
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.

dankco··on Show HN: Simple tool for creating and organizing daily notes on the command line
I have released v1.1.0 with support for $EDITOR. While textnote will work with any editor, the ability to open on a specific line is currently supported for vi/vim, emacs, neovim, and nano. Thanks again for your feedback, which lead to this improvement!
dankco··on Show HN: Simple tool for creating and organizing daily notes on the command line
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!

dankco··on Show HN: Simple tool for creating and organizing daily notes on the command line
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!

dankco··on Show HN: Simple tool for creating and organizing daily notes on the command line
I also realized that automating the archival process could be done using a cron job or something similar to call textnote's archive command.
dankco··on Show HN: Simple tool for creating and organizing daily notes on the command line
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!
dankco··on Show HN: Simple tool for creating and organizing daily notes on the command line
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!

dankco··on Show HN: Simple tool for creating and organizing daily notes on the command line
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]

dankco··on Show HN: Simple tool for creating and organizing daily notes on the command line
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!