back
158 comments
I started publishing "TIL" posts a few years ago and everything in this post here resonated 100% with my experience of writing those.

The great thing about TILs is that once you form a solid set of habits around them they can be extremely quick to put together: the majority of my TIL posts take between 15 minutes and half an hour to write.

I make extensive personal notes on everything I'm doing (in GitHub issues threads or VS Code scratch documents) - turning those into a TIL is mainly about pasting those notes into a Markdown file and tidying them up a bit.

https://til.simonwillison.net/ is my collection so far.

I get a huge amount of value out of these. I don't particularly care if other people read them, the value is in helping me better understand the material and enabling me to refer back to them in the future.

I refer to some of them multiple times every week! This one for example, about Python packaging with pyproject.toml: https://til.simonwillison.net/python/pyproject

I have this odd fear that sharing what I learned today will make me look stupid.

“Look it’s 2023 this dude just learned about http error codes”. Silly example but you get the idea.

You mister Simon, you are the inspiration! For TILs and Py modules.

I wonder what's drives you to make so many Py modules? Do you see reusing modules for your own projects or do you have some other grand plan?

How often do you go over these notes and review or study them? I don't mean ones you need and hence use, but all of them? I have an issue where I feel I have so many notes that I forgot what's in there, and sometimes I remember or find out when I don't need it, and I seem to lack a habit of reviewing my notes.
I think it’s a great habit and an effective method for consolidating what one learns … at least until someone cheats themselves using GPT to write up a TIL essay.
I remember an old PhD comics strip where a professor says “Remember kids, the only difference between fooling around and science is writing it down.”. In the context the goal was obviously for it to be funny but it is actually a very good and wise advice.
Not sure which came first or if it’s an even older saying, but Mythbusters said the same thing. https://youtu.be/BSUMBBFjxrY
Wow, that's actually deeper than it sounds. I do wonder though: did a lot of famous scientists (like Einstein, Feynman, Turing, etc) use writing as a vehicle for learning?
The only difference between fooling around and science is p < 0.05 ?
That's in the context of recording data from experiments, though
People working in science have employed this process for a long time. Hit your local academic library and look for periodicals called "Annual Review of whatever". More generally, look for review articles and you'll see their work product. Some of these articles are stunningly informative: Feynman's approach works.

Review articles are not the same as meta-analyses; they aren't attempting to evaluate novel hypotheses using existing experimental data, but rather to understand the state of knowledge in a field.

When an academic worker, especially one on the publish-or-perish treadmill, wants to get into a new corner of their field they sit down and write a review article to both get up to speed and to rigorously explore their personal approach. And everybody who cares about the field is better for it.

> People working in science have employed this process for a long time. Hit your local academic library and look for periodicals called "Annual Review of whatever". More generally, look for review articles and you'll see their work product. Some of these articles are stunningly informative: Feynman's approach works.

When you referenced people in science, I thought your example would be a laboratory log. That would indeed be an example of writing about what you learn, while you are learning it. Lab log is also a genre where the intended audience is the author himself, much like a diary. A lab log does not require originality - you may be documenting in it how you performed a certain bench technique that thousands upon thousands of people have done before you.

A review article is a different genre altogether. It has an audience other than the writer. It requires some originality of thought. There is no need to write a review article if a similar one has just been published. Nor would working through a particular protocol from an established book of protocols (aka the docs) be considered worthy of a review article.

I have learned so much writing my Substack. I refer back to my articles all the time when I need a refresher on certain topics. Plus it’s another feather in your cap when you are in a job interview. If you say you know xyz and you can point to a place where you wrote about it, it lends more credibility.

I too have struggled with making writing a habit. But I’ve overcome it in a few ways.

1. I make a clear goal for the year. This year it was 52 articles. I’m on track with 38

2. I evaluate that regularly so I stay on track

3. I find the pressure of having subscribers to a weekly newsletter gives me the impetus to keep going

4. I regularly take time to appreciate all the work and articles I’ve made along the way. I celebrate when I hit little milestones

5. I talk about it often with the people I care about. That way I know it will come up in conversation, and I don’t want it to be one of those things I just say “oh yea I’m not doing that anymore”

I started writing a book to teach myself Rust but ended up teaching myself how to write. I've found that I have a much deeper understanding of the language now because I have to actually explain things in detail, and not just get the program to compile and move on. But I would say that the biggest side effect has been learning to write well. That has turned out to be much more impactful to my career than learning Rust.
I've tried to create a tech blog for a long time. But because I'm quite OCD about my writing, it took ages to create a post.

In the end, writing became such a chore that I stopped altogether.

I don't recommend applying this technique specifically when reading this article, or you could become entrapped in an endless cycle.
See one, do one, teach one is the mantra in medicine.

In the military it was common to hear, "you don't know something until you can teach a class on it." So there was an expectation that everyone should be able to pass on the skills they are responsible for.

I dunno how prevalent this saying is, but I’ve heard medical students talk about “watch one, do one, teach one” as the best path to really solidly learning a Procedure. Writing about something is ostensibly teaching. I’ve adopted it, particularly with the robotics team I mentor, and it striking how well it works.
The hardest class, in terms of failure rates, in first year CS in my university was Discrete Mathematics. I got an A- and was pretty proud of myself.

In third year, I became a TA for the course, marking assignments and hosting tutoring office hours. That's when I discovered that apparently I had learned nothing when I got that A-.

Teaching a subject requires you to actually understand it, and not just know enough to pass the test.

"try explaining something makes you realise how well you really understand it."
Completely agree. I wanted to learn Python, so I decided to write a book about it. In the end I published it and now I have two achievements: knowing python and having written a book.

I would have never learned so many things up to this depth, if I didn't have to teach them.

I write my thoughts in table and for each abstraction/concept in a cell and ask myself if I need to understand a sub concept to implement it? And put it in a cell in the next column one row below. Sorta like: https://pasteboard.co/GJUcTLVI8jEn.png

I keep breaking down the concept until I am happy with the level of abstraction and I can open it up tomorrow and not be like: " Hmm this sub concept is opaque and it should not be"

This was why I started writing about unintended consequences (unintendedconsequenc.es). I'd choose something I became interested in and would try to explain it to myself. I mostly moved on from the topic, but am using this technique for the next thing now. One note about the way that worked for me -- don't write for anyone but yourself. I went as far as to keep my name off what I published for a year so I wouldn't be self-conscious about it.
I definitely find this to be true. I started with a little notepad calculation on the question of "what if we replaced all gas cars with EVs?" I started adding some details and eventually put it out for anyone to see https://www.capsulel.ink/capsules/what-if-all-the-gasoline-c...

Kinda an amateur "publication."

It seemed so simple but the more I work with the question it gets more detailed and nuanced and I also keep finding errors in what should be an embarrassingly simple calculation. I think putting things like this out in the world and getting feedback is another valuable tool. I guess the author talks about attempting to teach it, which is part, but I also think getting criticism from people that know about what you are writing about is very valuable too.

I've found this to be true, in my case.

I did this series[0], as I was learning Swift. It helped a lot.

[0] https://littlegreenviper.com/series/swiftwater/

Yes. And then share with the world, and who cares if anyone pays attention.
I totally agree. In 2014, I wrote a blog post on a similar subject too.

Original post in Turkish: https://www.phpr.org/neden-blog-yazmalisiniz/

English translation: https://www-phpr-org.translate.goog/neden-blog-yazmalisiniz/...

Early on, this was a motivator for me to contribute to StackOverflow.

I'd look at questions that I sort of maybe knew the answer to, but the question was a reasonable excuse to dive into more details and understanding so I could better communicate and answer the question. It was great way to get some arcane details about how things work.

It's also related to that phenomenon of the process of writing out a sufficiently detailed question to a problem ends up answering the problem for you.

Seems to be a tradeoff between depth and breadth.

If you write an essay about each thing you come across, you'll have to learn the stuff to some depth. That of course takes time, so there's fewer things you can learn about in a given time.

OTOH one can also take the view that learning things properly enables more learning of higher concepts that depend on knowing your stuff properly, and so actually taking your time makes more learning possible.

When I’m in a long message thread about an issue our application is having, a little “this would make a good blog post” bell rings in my head once the discussion grows beyond a certain threshold.

I’ll copy/paste the text into my notes and will later generalize it and turn it into a blog post.

Even if the topic seems simple and self-evident, there’s always someone out there who will benefit from learning from your experience.

writing in general is a beautiful tool to give structure to your own understanding of anything.

i'm also genuinely convinced that people do this quite naturally, but that school beats this habit out of you as it replaces what you would normally do with what you're required to do. once you take people's free will out of the equation, their own natural talents suffer the consequences.

Extra bonus for writing about your learning journey . . .

Even for potential readers have been in the field for a long time, these posts can be supremely informative. It's great to hear about newcomers' shortcuts, some of which are mind-stretching for the old guard. And expressing a sincere interest in getting better is a great way to get support from existing experts who are glad to share.

I enjoy writing down thoughts, the writing down the idea is really satisfying. I've been writing down ideas since 2013. I just use markdown README.md on GitHub, they're all public and open to people to read.

I think writing is part of thinking.

I frequently reread my notes.

I would like to go into more depth with more thoughts but I am usually in pattern matching and permutation searching mode.

I like writing but I think the whole “write it and you’ll get it” doesn’t work for me.

It’s just extra effort. Writing is fun for the sake of writing. But I’ve not ever found it helpful for me to remember stuff or whatever.

Either the subject matter makes sense on first pass, or I just need to practice it like math or something a few times and it sticks.

Either you get it or you don’t. And write for fun.

I always wanted to be able to teach what I'm learning, so from the beginning of learning about a new topic is try and rephrase the information I receive and place it within the world I already understand. It's not so easy, but after years thinking about e.g. algebra I've become a good teacher.
That's what I try to do with my personal blog. When I find learn or discover something interesting I try to write an article about it. It helps me understanding if I do really understood the topic (and frequently it's not true), and it also is something really useful for my future self
most of the benefits of writing are pretty clear to me but I'm still unable to improve the efficiency of writing i.e ability to put down thoughts properly and quickly rather than spending a lot of time on structuring the blog, very rarely it feels like english knowledge is the bottleneck
For the past 10 years, I've documented everything I've learned on any topics, most often non-technical ones. Whenever I revisit a topic, I refine and update my knowledge base. I use a private github repo with textual files. This has helped to increase my knowledge tremendously.
Don’t write about it; use it. The real world application of a new skill fleshes out your understanding in a way that is less vulnerable to your own blind spots, is absorbed at a pre-lingual level (closer to your bare metal), and might actually produce something of value along the way.
This is basically the whole premise around the "creator economy". Learn what you're interested in, write it down, preferably in public, repackage/repurpose into something of value for the person one step behind you in knowledge/skill.
I was always interested in building an application that helps with this process (not just a writing application but something that guides you through this process). Does anyone know if such a service exists? If not, I might just build it.
But it takes ages
another similar concept i have found to be effective is to “teach what you learn”, i have noticed that it takes some good understanding of the topic you want to teach in order to communicate that effectively as well.
In a similar vein, I find trying to explain something to someone gives you a good feel for how well you understand it. Often I find that I don't understand things as well as I thought after such an exercise.
When you blog, the world is your rubber duck.
This is a big part of the reason students are given homework. It really shouldn't come as a surprise to anybody.
Writing about what you learnt about in bite-sized flashcard systems also helps enormously.
I think I can speak for everyone when I say: heck yeah, knowledge!