In my last post I critiqued the social media feed for lacking a meaningful organization for its consumers. This is counter to the design principles that inform the structure of the web. HTML consists of semantically meaningful tags; the web was designed to provide meaningful structures of information.

Recently I’ve been trying to take advantage of the ability to create meaningful hierarchies of information on the web. Previously I’ve kept my personal notes as I learn about programming, computer science, etc. on Google Drive. I keep a personal journal where I discuss what I’m working on, problems I run into, possible solutions, and other miscellaneous thoughts. In addition to the journal, I also have documents on various subjects: databases, framework notes, statistical research, etc. For awhile this felt like a good approach to note keeping. As the size of my notes expanded however it started to feel a lot more cumbersome for a variety of reasons:

  1. It wasn’t easy to point to a related document
  2. Displaying code snippets was awkward and not what a word processor is really designed for
  3. Moving through folder hierarchies in Google Drive feels sluggish
  4. Compounding problems is opening a document takes even longer

Google Docs are extremely powerful tools, but they are handling too much. It is a read and write system over the internet with a lot of bells and whistles attached. A few weeks ago it occurred to me that I could store my notes on a GitHub repository that consisted of a bunch of folders with markdown files. This basically solved all the problems I ran into while using Google Drive. Loading and navigating these documents is incredibly fast, they are designed for and regularly feature code snippets, and it is easy to reference other documents. On top of that, they’ve been very easy to maintain.

The danger is that this is now all a public repository. What I have are notes I’ve made to facilitate my learning process, and they are all out on the open. If I misunderstand something, people are just going to see that. Furthermore even when I understand the concept correctly I am writing in a shorthand that makes sense to me, but that shorthand means it is a simplification. The point is, I’m not publishing these notes to teach people concepts, they are there as a reference tool for myself (maybe someone already familiar with the concepts might find it useful). In the main README.MD file I provide a disclaimer, but still, there’s a lot of misinformation out there in the world, I can’t help but be anxious if I might accidentally contribute to that. On the positive side, a public repository means if someone sees something that is wrong or needs to be clarified they can make a pull request.

So far though these are all hypothetical concerns. I doubt anyone else has actually examined these notes. For now, I recommend this system and I am finding it incredibly useful.