Programmer, How Do You Format Your Programming Notes?

Similar to @chmod764 I have index notes for each technology I work with (though I call them cheatsheets). Each “cheatsheet” links to other notes that detail how to do a particular thing for that technology. For example, for git I have a bunch of useful git commands for things I don’t do often enough to have memorized. Another example, is that I have notes for common testing patterns in rspec (a testing library for ruby). For example, how to set up object mocks in a specific way. Again, these are things I do often enough that it’s helpful to have a reference that’s easy to look up. Instead of bookmarking a stackoverflow link or whatever, I store it in Obsidian along with some notes explaining how/why something works a particular way.

Also in the cheatsheets, I may link to notes that explains a concept particular to that technology. For example, I have a bunch of notes related to metaprogramming in my ruby cheatsheet that explain how metaprogramming works in ruby.

Since my cheatsheets are very example heavy and directly related to a particular technology, there not a lot of dense linking between the notes. Most of the notes link to a single cheat sheet and that’s it. I try to focus on discoverability over linking ie When I want to do this particular thing, how can I make it easy to find this example? Most of the time, I know I can open up the cheatsheet and quickly find the notes that shows me how to do the thing I want to do.

I also have index notes for technology agnostic notes (design patterns, programming principles, programming concepts etc) Each note will focus on a single pattern/principle/idea and explain what it is and how it works. There are more links between my technology agnostic notes as I’ll try to compare and contrast different principles to explain how they are related. Right now, I get most of these notes from books and videos so I try to link the source as well.

I’m working on making my notes more atomic. I feel like I end up creating notes like “Caching” that end up containing a lot of ideas about caching techniques and when/why caching is useful. These could probably be broken down into smaller notes. However, for the time being I know that if I want to look up something related to caching, the “Caching” note is probably a good place to start.

3 Likes