Skip to content

Instantly share code, notes, and snippets.

@joshuapaling
Created August 4, 2016 03:10
Show Gist options
  • Save joshuapaling/67e203a327ac5019e2b0cc85999bf066 to your computer and use it in GitHub Desktop.
Save joshuapaling/67e203a327ac5019e2b0cc85999bf066 to your computer and use it in GitHub Desktop.
Answer to https://twitter.com/saronyitbarek/status/760853206205292545
If you code (or learning!), do you use a journal/notebook/todo list for code-related tasks/planning?
I always have scrap paper on my desk. I intentially make it scrap, already printed on one side paper, so I don't feel even a tiny bit bad about using it. I'll write ToDos on it when I want them to physically be right in front of me till they get done. I'll also doodle on it when struggling with a concept, when that can help.
I use digital flash cards. When I come across a term I don't know, but want to, I put it in there. I use http://ankisrs.net/, specifically. I could give a whole talk on digtal flash cards, how good they are, and how to use them effectively. TL;DR: They are SO good. To be effective, go through them every day. Keem them short - a word or two on the front, a short sentence or 2, max, on the back. Be selective about which things you want to commit to memory - you have finite space. Focus on concepts, not language syntax.
I use what I call "living cheat sheets". They're on my personal site, online, just not at a guesable URL. I have one per topic (Rails, Docker, RSpec, etc) and use them to store stuff that I'm not yet ready to commit completley to memory, but that I do use regularly, and what to be able to look up easily. They're "living" because once I don't need to look up a thing (either I no longer use it or I've commited it to memory), I remove it from the sheet, and as stuff comes in that I need to use often, I'll add it. It's never finished, and it's custom to just the stuff I need to know at the level I'm currently at. It would be largely useless to anyone else. I've been lazy about maintaining them lately, but I should get back into it!
In lots of projects, I have a joss_wip_notes.txt, globally git-ignored. I use it for various things - writing pseudo code before I implement the real thing, writing stuff I'd like to fix that doesn't quite warrant an issue in the tracker, breaking a 1hr task into 5 or so steps as a list to help me stay focussed. I find that last bit particularly useful when working in a noisy office / office with music and my working memory seems to be continually getting cleared. Having the written set of smaller steps really helps (I *HATE* noise when coding!). I'll also use it to keep notes on that project that are specific to me / my learning about the codebase, and don't warrant going in the project's README.md.
@anicholson
Copy link

@joshuapaling the Living Cheat Sheets are a brilliant idea! Totally stealing that :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment