Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Simple command line note taking tool (github.com/tomlockwood)
84 points by tomlockwood on Nov 1, 2019 | hide | past | favorite | 24 comments

Great idea. Love the minimalism! I was going to comment that it might be better (or at least easier to remember) to have short options like -o and -v instead of separate commands like dno and dnview, but then I looked at the code and noticed these are all just a collection of shell aliases stored in the "dn" file. Nicely done!

Funny: I have a set of shell functions that are more-or-less the same, although the implementation of this one is more elegant.

However, I just checked, and the last note I made with it was in 2017! It seems I am not disciplined enough to take notes. On the rare occasion that I create a note, I now use email, so that it is automatically backed-up and synced, and so I can easily create notes from my smartphone.

I too think I suffer from a lack of discipline! I'm hoping this tool helps me, but I may find, in a month, that I haven't logged enough content to do my timesheet :(

I'm hoping this is the solution, and if not, onto the next one!

Love the minimalism and did not expect to see so few lines.

This reminded me of an example in "Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems" where a roughly dozen line key value pair (?) DB was presented, in Bash, I believe.

It’s amazing how useful a tool this is arising from a simple wrapper around a clever data structure. This is an absolutely brilliant example of how reducing a tool to its bare minimum can make it powerful without being difficult. Kudos!

This - plus sometimes "clever" is not trying to be too clever. I take my hat off to the author both for their ingenuity and for correctly identifying it as HN-worthy despite (because of) its simplicity.

I have something similar, but it puts all notes from the same week (due to work schedule) in a gnu recutils file. This means I can work with my notes in a structured way using Emacs (with org mode imports when I want that).

Thanks for pointing to recfiles. I didn't know about that. It's a pretty simple "DB" format. I like it (and I'll use it).

This is brilliant. I am not going to use it as the app i use right now is tightly integrated to my workflow but i love the idea and the simplicity behind it.

This is so simple but amazing. I'm going to try this today for notes on phone calls. Then I will sync it up to drop box for backup.

Great work!

Potential small addition?

    dne <date> - open <date> file in $EDITOR

That's a cool idea!

I haven't really thought about what I'm going to do with the repo, I think something like this might work though:

  dne() {
    vim ~/dn/$1
My current thinking is that making the directory where the entries are stored into an environment variable is my next move. I don't really know though, I didn't expect many people to like this thing. I certainly want to keep it relatively feature - light. Someone who forked it put a timestamp on the entries, or a datetime stamp if using dno. Lots of good ideas!!!!


dne() {

  find ~/dn/$1* -type f -exec basename {} \; -exec vim {} \;


> This can be used for future notes i.e. dno 2030-10-01 "I died".


Thank you for your kind words, people!!!

Amazing. You've inspired me to get back into learning Bash. I love how simple it is.

Is there some curation out there of neat little programs like this?

Cool. I wonder whether there's some way to use this with dmenu_extended.

Such cleverness; awesome!

Does this do anything that jrnl.sh can't do?


1. The source code can be read in about 30 seconds.

2. It demonstrates that you can make some little productivity applications using aliases.

3. It installs using `cat`.

4. A user can understand all its features immediately.

5. A user doesn't need to write json to configure it.

6. It easily allows a user to see an entire months worth of notes with a very short command, which makes the author very happy because that's something they often have to do in order to complete timesheets.

Thanks, makes sense!

amazing , great work

To get a similar result, since I have Google drive setup, I created an envar $HED that points at a markdown file in gdrive

Dropbox or anyone else that makes it so the remote location appears as a local path to the OS would work I imagine

I can open it in neovim, grep, cat, etc

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact