
Show HN: Dnote – Instantly Capture Your Coding Wisdom - stockkid
https://dnote.io/
======
stockkid
I made Dnote because even though I learn many things every day while coding, I
forget most of them. The reason is that (1) I don't write them down (2) I
don't revisit what I write down.

So I made a CLI to keep track of my engineering microlessons with minimal
friction, without leaving the command line. Next step is to build automated
digest email so that I actually remember my lessons.

I wrote more about why and how I am building it here:
[https://sungwoncho.io/making-dnote](https://sungwoncho.io/making-dnote)

~~~
baconomatic
Looks like a cool project!

I noticed a small typo:

> Reinforce your knowledge effor[t]lessly

~~~
stockkid
Fixed. Thanks for letting me know.

------
Zikes
[https://github.com/dnote-
io/cli/blob/master/main.go#L271](https://github.com/dnote-
io/cli/blob/master/main.go#L271)

Pinging your personal server every time someone runs your CLI tool is not
something people would expect or be happy to learn about after the fact.

I understand you're curious how many people are using your tool, but this
isn't the way to go about it.

~~~
sdflkd
> I understand you're curious how many people are using your tool, but this
> isn't the way to go about it.

Not OP, but what _is_ the correct way to go about it?

~~~
jjnoakes
Being up front about it, and opt-in.

------
hiimnate
This is cool, but why does it need to do the heartbeat with dnote.io?

[https://github.com/dnote-
io/cli/blob/master/main.go#L272](https://github.com/dnote-
io/cli/blob/master/main.go#L272)

This looks like the only place that you're doing a network request, and it
really slows down the program.

~~~
stockkid
I added it to see if other people will actually use the tool, and if I should
invest time improving it.

I plan to either remove it in the next patch or sending heartbeat less
frequently. In terms of privacy, how do you feel about it?

~~~
cryptarch
What data does it transmit and is it opt-in?

~~~
stockkid
It is a GET request without any extra data. It is not opt-in.

------
lallysingh
I think a quick:

    
    
      echo "you can write dev tools as shell functions" >>.notes
    

Would be pretty close to the same thing?

~~~
antjanus
Well, there seem to be a few additional features:

1\. being able to organize notes by "books" 2\. being able to use it cross-
platform (since both `echo` and `>>` don't exist in powershell)

~~~
zulln
I also like the emailing feature, but yeah, you could automate that with a
chronjob.

Is not that not most applications though? It would be possible to do it
yourself, but the application simplifies that process. Does not need to do
more than so.

~~~
wingerlang
A famous (HN) example would be the first thread for Dropbox. I think people
said "you could do this rsync".

------
ernestipark
Nice tool to scratch your own itch. I've thought of doing something similar
many times, but I've found that just using Evernote or Quiver and having a
reasonable search works just fine for me since I tend to write meticulous
notes. Having a separate tool might be an added behavior that discourages
taking notes, but depends on each person's habits I suppose.

~~~
mercer
I like - and bought -Quiver, but I'm concerned with the lack of updates.

I'm a firm believer in not adding needless features just to stay busy. For
example, I use DEVONThink, which has not really received any significant
feature updates in a few years! I've also never felt 'bad' about the long
period in which there was no development on Sublime Text.

But Quiver is far from 'good enough' for me. The popup-style search is nowhere
close what I want, there's no keyboard shortcut to indent list items (at least
not in Markdown mode), and there are tons of ways in which the app can and
needs to be improved.

I bought it mostly because of its promise, and because the storage format is
really nice. Furthermore, building a cross-platform Quiver (perhaps with
Electron/React Native) with some specific DEVONThink-like features is high on
my list of itches I've been meaning to scratch. But until I do so, or until
active development on Quiver becomes evident, I can't help but feel slightly
disappointed.

All that said I'm ultimately happy to have supported a developer who put out
something nice with a great data format! Just being grumbly, I guess.

~~~
patleeman
I've been working on Collate
[https://collatenotes.com/](https://collatenotes.com/) which you may find
interesting. Quiver had some influence on the feature set but I've taken the
good parts and added other neat features.

Give the free demo a try and see if it works for you.

~~~
angerbot
Collate looks amazing! I've been looking for exactly this, and since I use
Linux rather than OS X quiver was out. Trying it out now and I'll almost
definitely be purchasing.

Edit: Where can I file bug reports? :)

~~~
patleeman
[https://collatenotes.com/bug-report/](https://collatenotes.com/bug-report/)

Also 0.2.4 should drop in a few days that fixes a ton of bugs. You can follow
along on our roadmap here:
[https://trello.com/b/Mk4OWPJo](https://trello.com/b/Mk4OWPJo)

------
alanbernstein
Cool, similar to a system for line-based notes I've been using happily for
about a year. I call it quickref, and the command is `qr`. This is my CLI
usage:

    
    
      $ qr
        show available quickref files (in directory $QR)
    
      $ qr topic
        show all lines from $QR/topic.txt
        a "topic" can be anything, but generally something like a language (py),
        program (blender), package (django), command (git). also things like audio,
        pdf manipulation, CLI image editing.
    
      $ qr topic pattern
        show all lines from topic.txt that match regex pattern
    
      $ qr topic term1 term2 ...
        show all lines from topic.txt that match all terms
    
      $ qr add topic "line with spaces"
        append "line with spaces" to topic.txt
    
      $ qr edit [topic1 [topic2 ...]]
        open specified topics with $EDITOR
    
    

I don't personally see much value in sharing/aggregating the note files
themselves, because it's all about personalized keywords.

------
bphogan
I just took a look at the source, and I think this is the simplest non-trivial
example of a Go command-line app I've seen. It's exactly what I've been
looking for to get started with a tiny little project of my own.

Thanks for sharing!

------
gus_massa
In the writing animation, it's strange that the notes are deleted. I expected
a fake "Enter" effect so the notes scroll upward like in a cli. (You will need
a few more examples so the repetition is not annoying.)

------
Toenex
I find jrnl ([http://jrnl.sh/](http://jrnl.sh/)) fits this a most other uses I
have of text capture at the command line.

------
charlieflowers
consider spaced repetition to help the developer remember them (granted,
that's a big scope change, so consider trade-offs between separate app vs
embedded, etc)

~~~
beaconstudios
if you use GTD or a similar personal productivity system you could integrate
reviewing your notes into your weekly/daily review.

------
d--b
Why not use

    
    
        echo "crap" >> notes.md
    

It even supports markdown :D

~~~
tomcam
Because what if you do this:

    
    
        # Good bye, everything up to this point
        echo "crap" > notes.md
    

Or are in another directory

~~~
Jach
In .bashrc:

    
    
        notes() {
          echo $1 >> $HOME/notes.md
        }
    

Now `notes 'blah blah'` wherever.

I have a bunch of small functions like this for various things in my day-job,
it helps a lot.

~~~
therealmocker
Beware of keeping notes without properly escaping them. :)

------
magic_beans
This is really great, but the tagline sounds awkward. Something like "capture
your most useful coding snippets" would be more to the point.

------
westoncb
Nice! I would probably use this if there were a web front end where I could
browse/search all the notes I'd taken.

------
tedmiston
Cool project. I use a journaling app with tags for things learned for a
similar purpose.

~~~
alanbernstein
Care to share a link?

~~~
tedmiston
[http://dayoneapp.com/](http://dayoneapp.com/)

------
fiatjaf
Nice, but it shouldn't be restricted to coding, I think.

~~~
stockkid
That's true. I guess places like
[https://www.reddit.com/r/todayilearned](https://www.reddit.com/r/todayilearned)
is kinda similar but more general.

------
Jimmie_Rustle
A command line utility to do what can already be easily accomplished in the
command line without installing anything extra... neat-o /s

