15 ms·
Show HN: Dnote – Instantly Capture Your Coding Wisdom
- stockkid 10y agoI 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
- antjanus 10y agoThanks for posting it! I've been wanting to actually write an identical tool but for a daily diary.
- beaconstudios 10y agovery cool tool, I'll integrate it into my workflow this week and see what happens.
- baconomatic 10y agoLooks like a cool project! I noticed a small typo: > Reinforce your knowledge effor[t]lessly
- stockkid 10y agoFixed. Thanks for letting me know.
- 19eightyfour 10y agoI like the idea is being able to subscribe to other developers. If you could like or down vote notes, and if you could publish notes to channels ( i checked and you already have that, dnote use, to make a book ), and subscribe to devs channels it would be cool. I also think like a vim plugin that could bring up dnotes on Promise when you ctrl-something on the word Promise in your code, and a way to full text search, and if you automatically surfaced notes at intervals for learning, could be good ideas for this.
- fiatjaf 10y agoNice, but it shouldn't be restricted to coding, I think.
- stockkid 10y agoThat's true. I guess places like https://www.reddit.com/r/todayilearned https://www.reddit.com/r/todayilearned is kinda similar but more general.
- gus_massa 10y agoIn 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.)
- lallysingh 10y agoI think a quick: echo "you can write dev tools as shell functions" >>.notes Would be pretty close to the same thing?
- antjanus 10y agoWell, 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 10y agoI 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 10y agoA famous (HN) example would be the first thread for Dropbox. I think people said "you could do this rsync".
- deleted 10y ago[deleted]
- lallysingh 10y agoYou can have more than one file for books. And you can run bash in windows now.
- dv_dt 10y agoIf if you go with that, don't ever forget the second '>'! I know I have :)
- jdoliner 10y agoecho "don't ever forget the second >" >>.notes
- magic_beans 10y agoThis is really great, but the tagline sounds awkward. Something like "capture your most useful coding snippets" would be more to the point.
- charlieflowers 10y agoconsider 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 10y agoif you use GTD or a similar personal productivity system you could integrate reviewing your notes into your weekly/daily review.
- d--b 10y agoWhy not use echo "crap" >> notes.md It even supports markdown :D
- tomcam 10y agoBecause what if you do this: # Good bye, everything up to this point echo "crap" > notes.md Or are in another directory
- Jach 10y agoIn .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 10y agoBeware of keeping notes without properly escaping them. :)
- ernestipark 10y agoNice 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.
- dbcurtis 10y agoYes, that exactly the barrier for me. I use Mindnode (Mac-only, but really just a straight-forward mind mapping tool). The barrier is remembering to have Mindnode up while I'm working, and then doing the appropriate copy/paste-age. Doing all that not curation in real time tends to take me out of the flow.
- mercer 10y agoI 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.
- peternicky 10y agoWell said, this reflects my experience using quiver.
- patleeman 10y ago
- Toenex 10y agoI find jrnl (http://jrnl.sh/ http://jrnl.sh/) fits this a most other uses I have of text capture at the command line.
- Zikes 10y agohttps://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 10y ago> 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 10y agoBeing up front about it, and opt-in.
- stockkid 10y agoI understand your concern. I added it in the initial release as a quick hack to see if others will use the tool. Thanks for sharing your thoughts.
- westoncb 10y agoNice! I would probably use this if there were a web front end where I could browse/search all the notes I'd taken.
- tedmiston 10y agoCool project. I use a journaling app with tags for things learned for a similar purpose.
- alanbernstein 10y agoCare to share a link?
- tedmiston 10y agohttp://dayoneapp.com/ http://dayoneapp.com/
- bphogan 10y agoI 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!
- hiimnate 10y agoThis 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 10y agoI 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?
- Jimmie_Rustle 10y agoA command line utility to do what can already be easily accomplished in the command line without installing anything extra... neat-o /s
- alanbernstein 10y agoCool, 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.