How I became a note-taker.
Note taking did not come naturally to me. I've never been a fan of my handwriting and I've never been good at keeping written notes organised in such a way that I can actually re-use them in the future. However, given the evidence I decided to force myself to do so while I was learning to code in order to "optimise" my retention. Hopefully the below info will help someone else that's not accustomed to taking notes find what works for them.
Strategy #1: The "Old Fashioned Way" (and a modern pain)
Despite the aforementioned dislike of my writing & lack of organising acumen I started off the old fashioned way: an A4 notebook & ballpoint pen. Unfortunately, years of not doing any writing had taken its toll and I got severe cramps in the palm of my hand after mere minutes of scribbling. As much as I wanted to force myself to take notes I definitely did not want an RSI.
After some thorough DuckDuckGo-ing I found a possible solution: The PenAgain a strange little pen that looks a little like a wishbone. Armed with my wishbone-pen I proceeded to take a full notepad of notes without any cramps. Sadly, I had not become any better at keeping my notes organised.
Strategy #2: The New "Old Fashioned Way"
My first attempt at overcoming my poor note-organising was a Rocketbook. For those who, like me, had never heard of such a thing: it's essentially a re-usable notebook which allows you to easily send your notes to an email address or cloud storage (you have to use the Rocketbook app [Android | iOS] to take a picture of the pages but it's all pretty seemless). I went for the wipe-able type (erase writing with a damp cloth) rather than the "wave" type (where you microwave the book to erase the writing, yes really). Unfortunately, you need to use a particular type of pen (Pilot Frixion Ball) whose refills don't fit the PenAgain (the Frixion refills are thicker not just longer so trimming length wouldn't do it, see pic below).
Thankfully, I've found that intermittent use of the PenAgain seems to teach my hand muscles to hold a normal pen in a less cramp-prone way. So, using the PenAgain for normal everyday writing (post-its, shopping lists what-have-you) allows me to then use the Frixion for my study notes without cramps.
Strategy #3: There's an app for that
Despite my notes being nicely stored with clear names in my cloud storage, I still found that they didn't really fit into my workflow. Something about having to go to my cloud storage and click through to the notes folder and then look for the appropriately named file just didn't gel with me. So next up was the fully "New Skool" method of using an app. Now, you may say "but Neal, surely having to open a dedicated app to access your notes is just as cumbersome as opening your cloud storage" and to that I say....oh look whats that over there behind you....
After some research I settled on Standard Notes. Why? It's FOSS, it's end-to-end encrypted, they have an app for my OS of choice (Linux), there's a nice smartphone app [Android | iOS], there are some wonderful extensions (e.g. markdown notes, to-do list notes, spreadsheet notes).
Strategy #4: Markdown + Code + Git = Ultimate Notes
I'd heard Jupyter Notebooks mentioned in various Python tutorials and even fiddled with an online demo but not much else. So while studying for the Python Institute's PCEP & PCAP certifications I figured it was a good time to give Jupyter the old college try. So what are these notebooks? Essentially a document of cells where each cell can be either a markdown cell (what's markdown?) or a code cell where you can actually execute the code within the cell (just click "run" or hit Shift+Enter) rather than having to save a .py file and then run via CLI or IDLE (or an IDE).
Folks, let me tell you: I adore Jupyter Notebook. Being able to seemlessly mix markdown notes with executable code examples was a revelation for me. Now my workflow is to essentially write a mini tutorial for myself in my own words using markdown to nicely format explanations followed by executable examples. Finally, I push these notebooks to Github so that I (or anyone else) can easily access them in the future. Here's what my average notebook section looks like:
Wait that doesn't look like Python?! Well, I'm such a fan of Jupyter Notebooks that when I decided to study Java I was a little disappointed to have to leave them behind....what's that? You can use other languages than Python in Jupyter?! Yes! Quite a few. So now I'm using the wonderful BeakerX to create my Java notebooks.
Strategy #5?
I've no doubt that in the future I'll find some other note taking method to switch to but for now I'm happy to stick with Jupyter+Github for the majority of my notes. I know studies suggest written notes are better for learning but my feeling is that digital notes are A.) a nice halfway point & B.) better than no notes. Plus <brag> I aced the PCAP</brag> so they're working for me at the moment at least and I think that's the most important thing: whatever works for you *works for you*.
Data Engineer at Fintech Company
3 年Thank you for a very informative post Neal! I am an inveterate notetaker myself and appreciate the difficulties. PenAgain and RocketBook are very interesting products, though as you said Jupyter Noteboks combined with Github for storage and sharing are the best current method for programmers. Congratulations on acing the certification. All the best, Atish