Learning structure for 2016, and the future.
I’ve always been obsessed with the quantified-self movement ever since I’ve started programming. There’s something about trying to always optimize yourself, becoming a better, efficient person. Being able to quantify day-to-day progress is a way to feel we are accomplishing something in life, bit by bit. “Hacking” your lifestyle and making changes, is like programming your life using your own data.
Unfortunately, it’s been too much of a time investment to get started with documenting every aspect of life. So I’ve started half-way in 2015 with something a bit smaller, measuring my learning.
Slack as a Personal Knowledge Hub.
There’s something about creating a personal Slack and using it as a journal. The lightweight, easily-accessible chat message interface lends itself to being a great tool to quickly throw ideas together, categorize them, and revisit later.
This idea is not original, and borrows from the article, Using Slack as a Personal Knowledge Hub.

Now when you create your Slack, it’s yours. You can create however many channels you want, about any topic you want to organize about. Dump all your thoughts whenever you want. When you stumble across a book, drop the amazon link into the channel. When you find a good article, paste it into one of your topics.
In this way, you’ll build up your own knowledge base and you can refer back to it whenever you need. So when you’re tackling a new problem, it’s easy to go back and find x, y, z resources that you’ve already came across.
In the digital world, and specifically programming, it’s easy to get overwhelmed with the amount of noise. It’s easy to get side-tracked and refresh Hacker News every hour for new articles, skimming through, and looking to comments for synopses.
I use this Slack as a place to defer, queue, and monitor my consumption. Else, it makes it way too easy to become overwhelmed and burned-out from overconsumption.
Git/GitHub for Progress Tracking
Another thing I’ve been doing lately, is tracking my progress through a git repository. (https://github.com/andrewvy/sketches)
This basically holds “sketches”, which are small implementations of ideas. These can be little coding exercises, or even progress-tracking through books.
I use these sketches to help build up my technical experience through practice. When I’m going through tutorials or book exercises, I get into the habit of typing code manually by hand, rather than copy-pasting, so I can work through syntax/compiler errors.
Learning about a new hash algorithm? Create a new sketch and implement it in a language of your choice!
Small project not worth a complete repo? Put it in a sketch!
By having a git repo that you can just throw stuff in, it lowers the barrier and lets you document the code that you write.
The GitHub issues is a great place to track progress through tutorials or books. (example: https://github.com/andrewvy/sketches/issues/1)
Combined with the commit early, commit often methodology, it’s a great way to pace yourself through exercises while also letting you track your own performance.
Those are the two main tools that I’m using to help structure my learning for 2016! Do you have anything you’re doing to prepare yourself for organized learning? Reply and let me know! I’d love to hear what other people are doing. :)