Today I Learned
My collection of technical notes gathered daily across different technologies. The second brain system I'm most proud of. Inspired by simonw/til.
Search these TILs at:
So far, there are different topics and TILs.
I have been torn aparted mentally when search for the answer for the question: How to record and organize everything I have learned so far.
My attempts when trying to implement a second brain:
Methodologies:
Applications:
However, they all share common pitfalls:
- Deeply nested structure. Searching for specific knowledge requires wasting precious time.
- Overlap between non-code/low-code and code-intensive knowledge.
- Re-reading occurs rarely, sometimes never.
- Learn in Private instead of Learn in Public.
TIL, or Today I Learned, is my newest approach to tackle all of the above problems.
I've curated a FOUR-step process:
- Step 1: Start with basic tutorial from 3rd-party learning materials. Roadmap.sh is also a great place to start. Avoid thoroughly reading official documentations until you're familiar with the tool.
- Step 2: Run in local playground. Set up the development environment, write the code snippets, run the commands you found in Step 1.
- Step 3: Write a TIL. Plug all the separate pieces into ONE grand picture: making cheatsheet (CLI commands, programming language code snippets, ...) to insights (why this feature existed, in which situation do we use it, ...)
This is the hardest step.
- Step 4: Practice in a real project. Remember what you learned, and if you don't, constantly re-check TIL and playground.
- Refer to advanced learning materials: official documentations, senior engineers' blogs, best practices, ...
-
Everything you READ will be forgotten:
- You will forget the long and comprehensive documentation page that you read a month ago.
- You will forget the interesting blog post from your favorite bloggers that you read three months ago.
- You will forget the APIs of your favorite programming languages and their frameworks/libraries that you used six months ago.
- You will forget the commands, sub-commands, arguments, options of the CLI utilities you haven't touched for a year.
=> Unless, you write a TIL.
-
You don't need to remember it!: Do not record anything that can be Googled/AI-generated under 5 seconds
-
Do not record anything that can be Googled/AI-generated under 5 seconds: consider breaking that TIL into multiple smaller TILs.
However, if the TIL is a single source of truth, or you want to avoid context switching to the fullest, a big TIL is not a problem. You should include a TL;DR, a Cheatsheet or a ToC at the start though.
-
Always be grateful: you must include a ## References section at the bottom of your TIL.
Q: When should I write a TIL note? When should I write a blog rather than a TIL?
A: Blog what you built and what other people built, record what you learned: Simon Willison's have two separated platforms for sharing his knowledge: Weblog (GitHub) and Today I Learned (GitHub). I realized he blogged about his projects, big tech innovations, ... and he wrote TIL for a random thing that he learned to solve a very fine-grained problem.
Content categorized by technology name and organized by specific use cases.