Ask HN: Coding notes – how do you do them?
For years I kept my coding notes in spiral bound A4 and A5 notebooks. Handwritten notes are quick to create, but hard to search. So these days I make notes in a series of flat files I edit in Notepad++. The files will have design ideas, debugging tips like favourite windbg commands, notes on existing code, scraps of SQL, stack traces for critical pieces of code, test results and timings, HOWTO notes on build and config, URLs,
draft blogs and outline plans. Notepad++'s Find in Files is invaluable for navigating them. There was a thread last year on paper notes [1], but I'm wondering how folk keep soft copies of notes. Back in the late 80s
I used GrandView [2]. What new solutions are there for capturing and organizing coding notes? How do you do it?
[1] https://news.ycombinator.com/item?id=11890742 [2] https://en.wikipedia.org/wiki/GrandView_(software)
81 comments
[ 3.0 ms ] story [ 172 ms ] threadFor all the time I've spent studying computational science, I'm actually very content to be without technology. For instance: I have my most valuable code on github, and as long as I know it's there I know there's no problem if I lose my physical machine. The IP is worth more than the hardware.
However, I can't say the same about notes. I don't keep my notes or writings anywhere on the "cloud." I don't think there's a solution that exists yet that is up-to-snuff for me, but someone did post a site that was made to be notes-for-long-into-the-future recently, perhaps someone with better remembering can find it.
You might be referring to Standard Notes [0], which advertises itself as having a focus on longevity. The discussion on HN [1] mentions many alternatives that are based on plain text.
[0]: https://standardnotes.org/
[1]: https://news.ycombinator.com/item?id=13421927
Currently, it's vaguely structured using the emacs org-mode
And indeed, no database, nothing beats the speed and convenience of search with any random editor search function (let alone emacs occurs command or regexp search).
I have a directory called notes that has a bunch of separate text files. Now I've been slowly adding Word files because often I want to include an annotated screenshot.
I've often wished I could paste images into my source code. My editor would generate something like:
I do ascii art in some places, but too often I have a comment that just says "see flow.png in the documentation directory".You said you chose something lighter weight. What did you end up going with? I've used Evernote for years but am unhappy with the direction the program has gone. The new CEO seems to be refocusing on the core purpose (capturing and remembering) and so I'm contemplating sticking around for a bit.
[1] https://app.classeur.io
The stickies poke out a bit, which is where I put a little label to aid searching.
edit: more info
Don't ask how I kept notes on the implementation process.
I use Markdown for pretty much everything I write on my laptop, including notes, so printing them is no issue when I need to so.
I usually go down the "one topic, one file" path, and add a table of content on top (I have a command line tool that does that).
I push a portion of my notes to a public GitHub repo, and all of them in a private Git repo. Random example of me learning Ruby syntax: https://github.com/aleksandar-todorovic/notes/blob/master/21...
Besides my daily lab journal (one org file per month), I have project-specific org files also. This whole notes directory hierarchy is synced everywhere, also to my Android phone where I sometimes use emacs with termux to access these notes.
Searching is done using helm-projectile-ag, which is bound to `C-c p s s`
I then add it to to the main research (https://my.mindnode.com/83qmKgoATj8TyKzprzsPfoirxa2g9WmFGx3x...) mind map.
It's actually really easy to keep it up to date and it is very rewarding knowing that I can share my knowledge with other people.
I also wrote about my approach about mind mapping here (https://medium.com/@NikitaVoloboev/mind-map-everything-d2767...).
http://glenware.wordpress.com
EDIT: There's one exception where I write notes from time to time: design notes for hypothetical software. I still have a few text files from a few years back somewhere in a Git repo, where I hypothesized about how my own programming language might look. Rust has stolen most of my ideas, though. :) (There was actually something vaguely similar to the borrow checker in there.)
But the web app had an annoying habit of continually hiding the edit ribbon, making it a chore to use for formatting notes.
I've tried solutions like org-mode but I just find thinking on a keyboard to be entirely inadequate for some reason. I end up doing a lot of free-form notes so that might be one reason why.
I use a command-line tool to fill my local couchDB with notes and then just use the gh-pages hosted site to view them / search them.
https://github.com/DictumMortuum/dictum
Example output pdf for sharing:
http://docdro.id/QPKoLBh
You can also style the notes by simply dropping a <style> some css element { some css thing: some number } <style> at the top of the note, which can make for decent good looking documents (on par with word etc if you are a css wizard). Also it has built in spaced repetition studying thing, which (the code is there, but I'm in the slow process of debugging it since I messed it up when I moved the state to redux, so it will be back in the next few commits).
You can copy/paste images to there, and write with markdown / latex, which is why I wrote it, since I couldn't find anything that did all those things conveniently.