
Show HN: Simple command line note taking tool - tomlockwood
https://github.com/tomlockwood/dn
======
asaibx
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!

------
oftenwrong
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.

~~~
tomlockwood
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!

------
mytec
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.

------
yunruse
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!

~~~
dcminter
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.

------
bjoli
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).

~~~
grumpy-cowboy
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).

------
pratio
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.

------
ykevinator
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.

------
kitd
Great work!

Potential small addition?

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

~~~
tomlockwood
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!!!!

Thanks!

~~~
chacha2
dne() {

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

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

:O

------
tomlockwood
Thank you for your kind words, people!!!

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

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

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

------
mxuribe
Such cleverness; awesome!

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

~~~
tomlockwood
Yeah!

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.

~~~
sixhobbits
Thanks, makes sense!

------
daneyh
amazing , great work

------
jkroe9jdje
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

