Writing about what you learn pushes you to understand topics better
addyosmani.com
addyosmani.com
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 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?
So any code I write I like to open source, because that's the best possible way I know of ensuring I won't have to waste time solving that same problem again.
The other thing that helps is that I think I've found a cure for project guilt.
I used to feel guilty about my projects - each one was Yet Another Thing that I should be spending more time on.
The fix I discovered was to make sure every single one of them has good test coverage and comprehensive documentation.
Effectively I treat each one as something which can stand on its own if I effectively abandon it - the thing works, and is documented, and other people can use it as-is without me feeling guilty that I'm not constantly actively working on improving it.
I wrote more about that here: https://simonwillison.net/2022/Nov/26/productivity/
“Look it’s 2023 this dude just learned about http error codes”. Silly example but you get the idea.
No-one knows everything. I respect anyone who is constantly learning new things, no matter how basic those things might be.
Here's the most basic one I published recently: https://til.simonwillison.net/html/scroll-to-text
https://overreacted.io/things-i-dont-know-as-of-2018/
It's written by Dan Abramov who has been instrumental in React's development
I was actually considering doing this on gemini, because I've got that fear too. An append-only log habit is definitely helping me lately, why not make it (semi-)public?
I think there's a single meachanism underneath both this and rubber ducking. There's something about getting your thoughts in order at a verbal (or textual) level that aids understanding.
I added "related TILs" to my site a while ago - here's a TIL about how I built that: https://til.simonwillison.net/sqlite/related-content - and as a result occasionally I'll post a new TIL and the related ones will remind me of an older one.
Occasionally I'll completely forget the subject of the TIL itself! I was delighted to randomly stumble on this one here https://til.simonwillison.net/html/datalist the other day (after clicking my "html" tag from another TIL) which reminded me of the HTML datalist element, which I had forgotten existed.
https://proftomcrick.com/2011/04/26/feynman-problem-solving-...
> 1. Write down the problem.
> 2. Think very hard.
> 3. Write down the answer.
The first step is crucial.
A real inventor's notebook today has a space to sign and date each page, and you should X out any space you don't use. That helps it have legal force.
Could you elaborate on this point?
If you get into legal issues around patents, being able to prove when you made notes on something could be important.
Signing and dating each page helps demonstrate that you've been taking notes at specific times.
Crossing out the areas of the page that you don't use helps in case you get accused of deliberately leaving blank space in your notebook so you can backfill it later on a page that you already signed and dated.
Of course, this is predicated on the idea that you use pen and paper for notes! All of my notes have been digital for over a decade at this point.
https://www.amazon.com/BookFactory-Black-Inventors-Notebook-...
for example.
Notice some of the features: pages are sewn in, so it will be obvious if one is removed, tamper-evident archival paper, space to sign each page.
Paper documents I think still have the most standing as evidence.
This doesn't look like size for a full notary seal but space for a witness to sign. I suppose a notary could stamp it someplace.
There was space for a notary seal as well. I think the idea was to have it notarized once every so often so that the notary was affirming the date on the page, and that location of the X-ed out areas.
Albert Einstein
> “No, no!”, Feynman objected strongly.
> “They aren’t a record of my thinking process. They are my thinking process. I actually did the work on the paper.”
> “Well,” Weiner said, “The work was done in your head, but the record of it is still here.”
> “No, it’s not a record, not really. It’s working. You have to work on paper and this is the paper. Okay?”, Feynman explained.
Then we augment/externalized our short and long term memory from our minds with writing.
You'll always find a symbol covered napkin next to someone who's working out something difficult, without any writing paper.
That said, people don't publish papers that are just math notation. There's surrounding words to explain and motivate concepts.
The results dont have to be conclusive for science, they just have to be documented.
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.
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 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”
To go back to the generic - journaling (and writing articles) seems very useful until you contrast it with the amount of time it takes to put out something good.
For example, when I have "real" questions, I can't even find a Stackoverflow / Google article on them to even start researching, let alone have my own article out in a week. Unless you guys are writing "Here is the 5001st article on how FastAPI routers work", "Here is how z-level in HTML works!" or something.
1. Berkeley’s Digital Legacy: The Evolution of BSD and Its Influence
2. Tracing the Lines: From the Telephone to Unix
3. My experience with Pop!_OS Linux Distribution
4. Enhancing Emacs Efficiency with Xah Fly Keys
5. Learning to Touch type again
6. The Complexity of Open Source and AI
7. Racket: The Lisp for the modern day
8. The XML Connection: How docx and odt Share Common Ground
9. An Ode to Emacs. The Greatest Operating System
10. How to Fine-Tune Your ChatGPT Interactions for Better Results
I try to create a backlog of easier articles that I can queue up. Then when I have a few weeks worth of articles in the pipeline, I can work on one deeply technical article that will take more than a single week to write. I've been pretty busy these past few weeks, and am about to go on vacation so I'm working on some lighter stuff. I just finished two back to back posts on Operating Systems (Unix and BSD). The next one will be on Plan 9, but as that one will require more extensive research it will be put on the back burner for a bit until I get through the rest of August.
I read a lot of stuff on Hacker News, Substack, and Lobste.rs, Tech Twitter, and Mastodon, so those are great sources of things to write about. I have also spent the last couple of months updating my Emacs, switching up my keyboard, and focusing more on ergonomics, and those experiences ended up being articles. Once you get into the flow of it, you start seeing all sorts of things to that you can write about.
> "Here is the 5001st article on how FastAPI routers work", "Here is how z-level in HTML works!" or something.
I have done articles like that. An example of that is my article "A soft introduction to working with XML in C#" I've found that the people that are subscribed to my newsletter enjoy my "voice" and the way I write thing. They don't mind a simpler article every once and awhile. I wrote that article around the time I was working with XML in C# and I refer back to it every time I need to refresh myself. It's great because all the tutorials work for my workflow and are in my words so it's those articles end up being the easiest to follow!
I think GP wrote "a year", not a week.
Could it be that people assume you know rust if you write a book about rust?
In the end, writing became such a chore that I stopped altogether.
I always need to have an entire free afternoon to write some prose.
Are long posts frowned upon?
It’s not a safe way to hide content by any means, but is just enough to stop myself from worrying about what others still think about my writing. I can still share links with individuals if I want.
I have been trying to get myself to write more for twenty years and this was the first thing that helped.
Writing becoming a chore is wrong use, because one should not write for "writing" and article we discuss here has nice points on practical use of writing for other means than simply "writing".
I’m trying to practice writing “this doesn’t work yet” acknowledging in the post that it isn’t fully done, and publishing the bloody thing. We will see how it works next time I sit down to write!
A few weeks ago I found out you can have GitHub Pages with a custom domain, so I extracted my posts, converted them to Markdown, and now I run Hugo. So much easier, and I don’t fret about what imaginary people might think about me.
It was purely self-loathing/projection (idk, not a psychologist), where I was convinced that if _I_ thought my setup was bad, then surely others would judge me and ignore the content as well. I have no idea how I snapped out of that absurd belief, but I’m happy I did, because I really enjoy writing.
Went from GHP/Jekyll (2012), to GHP/Hugo (2013), to GHP/Hexo (2014), to headless WordPress/React (2017), to Ghost (2018), to Netlify CMS (2019), to Vercel/Gatsby (2020), to Astro (2021), to custom Elixir/Phoenix (2022), to Micro.blog and Substack (2023)... (dates are approximate within ~6 months)
I'm still debating what to do next. My motivations go back and forth between "learn some new tech" and "write the dang thing".
Either way, I'd really like to stick to something for more than a year. Ideally I'd separate my "site" and "blog".
Then I started to write my drafts when inspiration hits without thinking and stopped the moment inspiration ran dry. Then revising/extending as I feel like it. I publish the post the moment it feels complete. The result is https://blog.bayindirh.io.
The gist is, I write about what I want, for myself. It's out there and available. I also submit to here and send to a couple of friends. If I get feedback, that's nice. Otherwise, eh.
Give it a try. There's no need to be blocking yourself out of something you might enjoy.
I'm older now and care less about what people think and have more wisdom that the vast majority don't care about what I think, so maybe I'll start up again. It would be fun to share my ~25 years of tech stories and experience for at least myself.
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.
So they might have meant that you don't just need to be able to teach it. You'll understand it only after you've already taught it to someone.
In programming - good luck, literally everything you work with is new, all the time. I guess that's why FAANG tests on useless algos - it's at least something you can memorize and pretend it applies to everything.
Maybe I am just using excuses, but I have never used things I wrote articles on: RxJS, Angular Route Resolvers, Modern CI/CD, Web Components - all of these things either died or I used them once in my career and even the articles themselves are useless.
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.
I would have never learned so many things up to this depth, if I didn't have to teach them.
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"
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 did this series[0], as I was learning Swift. It helped a lot.
The freeing approach is just to write, know you're a terrible writer, and persevere. I guess that's how you become good, eventually, or maybe you get a following of other idiots that agree with your dumb thoughts :-)
A post is a synthesized idea that has been going on in my head for a while. Write it and forget about it.
Your tech notes are a labour of love that need constant maintenance, which I'm not prepared to do.
I've had more than enough feedback. Only one item remained that was useful, it boils down to: If you think topic X is worth exploring go do the f* work so that you can have a conversation with people who know something about X. They shouldn't care for your thoughts if you know nothing about the domain, they will bother to listen if you know the basics, they will give you time, attention and wonderful feedback if you know the topic well. They don't want to be your helpdesk, they want an exchange of thoughts. You will also be able to judge how great their expertise is which helps a lot ignoring and avoiding [negative] feedback from people who know nothing, are unwilling to learn and/or unable to think constructively about that what is important or precious to you - like exploring your imagination.
I have a thousand great ideas that exist only in my head. At any time at least 999 of them are not progressing.
Looking through my analytics, things that gets clicks are never what I expected them to be. They're never what I think is the coolest or what I consider to be the best written. They're just random shit I put out there just for the sake of updating my website.
Original post in Turkish: https://www.phpr.org/neden-blog-yazmalisiniz/
English translation: https://www-phpr-org.translate.goog/neden-blog-yazmalisiniz/...
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.
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.
I took the author to mean a much more active pursuit when they spoke about learning — applying the technique to the stuff you're consciously trying to understand better, rather than just any new info you come across.
That said, the depth/length of "write about what you learn" could be tailored to how much weight you want to put behind it — writing could be as little as a thoughtful comment on HN or a tweet as well as a blogpost/essay.
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.
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.
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 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.
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 can fill this gaps by reading it again or looking up another source.
I like to think this method of filling the gaps is faster then just reading the material again, because it forces me to recall it first and therefore sticks in my memory longer.
This is why written cultures in engineering organisations are so powerful, especially if you disseminate the responsibility of writing.
The great thing about self-publishing on the internet is that you can pick the quality you are comfortable with. No trees were harmed in the publication of this blog post!
Some problem domains simply becomes so hard to teach, because once you learnt the domain, you tend to forget what made it confusing or hard, and thus unable to "teach" it to someone who hasn't understood it.
It may be true that if you write about something, you will understand it better. Sounds logical, you spend more time with a topic, likely it won't confuse you or make you forget it. But is it also true, that this is efficient? Maybe if you don't write about it, instead just reread it, you can understand it even better, in less time?
IMO and I'm sorry to say it so bluntly, but articles like this are just adding to the already omnipresent noise. I am constantly blasted with tidbits, noobs' their "tutorials" and summaries of summaries.
I'm a louzy writer myself. So it's not like I am actively looking for Pulitzer prize material, but here I find no elaboration, no personal reflection, nothing that elevates it beyond mere scratching of surfaces that have been scratched too much already. What remains is the harsh screeching of soulless abstractions screaming for some life blood.
> "In a landscape where information is abundant, the ability to learn deeply, articulate clearly, and persevere consistently stands out as a valuable skill set."
I'm so sorry, but this makes my skin crawl. This feels like the empty soul of Google itself has somehow found a host to incarnate into and it's now spewing forth bland insights in an attempt to somehow SEO-spam itself.
I actively looked for anything besides regurgitation of obvious cliches and zingers such as "how to deal with burnout: knowing when to rest and recharge is as crucial as knowing when to push forward". I came up empty handed.
In the 90's it struck me that the entire internet was trying to be page 1 of something and every article assumed the reader knew nothing. I optimistically hoped that, like when writing a book, multiple pages would be written. Something better than replacing the chapters of a book with domain names would eventually be found. Hell, books would find their way onto the internet as html documents.
I've been wrong before.