Recently, I realized the importance of—good—notetaking.
Shannon Crabill
@shannon_crabill
...
For further actions, you may consider blocking this person and/or reporting abuse
I have several thoughts that don't have a coherent through-line, so I'll proceed and hope coherence comes.
One of the concepts in David Allen's Getting Things Done is using external memory. In fact, that's the only part that stuck, and I'm eternally grateful. I've found that taking notes by hand helps them "stick", which I credit to years of pre-computer education, but follows your NPR link.
Regarding code comments, I'm torn. Jeff Atwood suggests writing better code instead of comments, and I'm not 100% on board, I lean toward the "why" while leaving the "how" to code. I might do something more like this:
Also, I didn't know about
array.sample()
but quite like it. I'm going to have to implement it in languages I use.rand
, in the languages I know, would involve aligning output to array size, casting as integer and making the index, so usingsample
is the clear choice, once you know it exists.But I agree on note taking and "whatever works for you". Thank you for writing this.
You make a good point about separating the why and how with the comments and code. Your example is a lot cleaner and seems like it would be appropriate for more complex applications.
I've heard references to Getting Things Done (I go by the 2 minute rule when I can).
Thanks for sharing!
I would encourage you to check out a movement called literate programming, originally invented in the late 70s by Donald Knuth. It never really took off the way he envisioned it, and the meaning of the idea has been diluted down to systems which can scrape comments from source files nowadays.
Literate programming is about having snippets of code, or entire programs, that you can evaluate, study and modify, surround by text. It feels like a lab journal; I use it a lot when trying to figure out how to do Systems Administration tasks so when I need the script again in 6 months I will actually have it!
Not sure how familiar you are with Emacs, or if you even want to be, but Org Mode in Emacs features a literate programming library called Babel which lets you embed code blocks. The learning curve is very sharp, the community can be very grumpy if you ask a question they feel is obvious, but overall a cool experience. It does not play well with Windows, however. When it started breaking and I was spending more time fixing Emacs than I was studying, I gave it up.
One of these days it's a system I would love to build.
I've heard of literate programming! It's a facinating concept (along with Donald Knuth in general)
It was referenced in an unconference session at Write the Docs and I almost referenced it in this post but it slipped by mind during editing.