TK Changelog #22
The summary of all TK's activities, goals, and achievements — writing, compiler engineering, and books
Hi, it's TK! ✌️
I'm completing the month of July with a lot of things done for this changelog #22. Better than anything, I'm feeling healthy, productive, and excited about my current self and next steps.
Let's dive into what I've done this month and what to expect for the next 6 months.
Books
This month I've read 2 more books: “Young Forever” and “Harry Potter and the Half-Blood Prince”. Both were a really interesting read, I highly recommend them.
The new thing I want to share is the idea of reading less books and practicing more. Apparently, “It’s better to read fewer books which will improve your thinking than to collect a long list of titles you can claim to have read without any deep thinking to show for it” (source). Slow reading can:
Reduce stress
Help read more
Improve the learning experience
My focus will be on reading fewer books, but high-quality ones, and slow reading to improve my learning experience.
But not only that. Because I'm reading less, I have more time for notes, reviews, and deep thinking about how to apply the ideas and concepts in my life.
This is the steps I'm taking:
Make a list of the best books I've read
Write the key takeaways down on my commonplace book
Write questions that will drive actions
Write actions and habits I want to cultivate daily
Act, reflect, and review the impact of those ideas on my life
Loop it!
I want to 10x my life in various aspects and one of the first steps is to refine the “inputs”, the content I'm consuming, and how I'm using it in my life.
Reducing the number of books (and many other kinds of inputs) will help me improve the input quality and give me more time to on “output”. 20% on input, 80% on creation!
I'll probably write about this experience in the future. Let me know in the comments if you are interested in this kind of content.
Programming Languages & Compiler Engineering
Continuing on my path to becoming a PL designer & compiler engineer, I've built 3 new features for the mini TypeScript:
Add
Let
statements
The last one, I'm still researching the TypeScript source code and asking a lot of questions for the TS team, but the main idea/implementation is done.
I also wrote a few pieces that were published this month
Now the TypeScript Compiler series has 6 posts and counting. The next one I'm writing right now and it's about how to implement “Let” declarations.
Programming Language Research
In addition to the work I've done in the compiler, I bought some PL courses from Dmitry Soshnikov. I did the Type Checker course and I highly recommend his teaching.
I'm also attending the Programming Languages Virtual Meetup, it's a kind of bookclub for PL and compilers books.
Whenever I have time, I try to read papers and books and watch some videos on the topic. Everything that I learn and take notes, I publish on the Programming Language Research repo.
If you want to follow my journey besides my website and this newsletter, this repo is the central place for everything I've been learning and consuming. It's like my ongoing, in-construction learning path to become a PL designer and compiler engineer.
If I had more time, and I wish I had, I could have more focus and energy on math (mostly discrete mathematics) and the compiler's backend/llvm. But I'm happy with my progress!
Notes on the future
I mentioned in the last changelog that I have three priorities for now and the next months: health, finances, and career. For each changelog, I want to share some bits about the progress and how they are going on.
Health
I've read the book “Young Forever” and it gave me interesting insights on living better and more. The ideas are pretty “obvious” I would say, but it has key takeaways I want to follow.
Sleep: It can be better and I need to push myself to be more disciplined. Some weeks I feel I do a pretty good job in terms of sleep quality/time, the others I mess up (which I think it's pretty normal). Because of the fixed schedule my partner has, I need to wake up at 6 a.m. so my goal is to always go to bed at 10 p.m. to increase my sleep quality. I'm slowly getting better at this.
Exercises: I'm running pretty much 5-6 days per week, 6-8km per run. It can be better but I'm really enjoying my current routine. Exercise is the easiest one compared to the other healthy habits because I really like running and I feel better doing it.
Eating: I'm pushing myself to learn and try cooking new recipes and focus on high-quality food, and reduce processed food. I feel it's a long journey to improve this goal but slowly I'm building the habit and most important, I'm learning about nutrition. The next goal is to reduce processed food & sugar (see Why I want to cut out sugar and What Happens If You Stop Eating Sugar).
Finances
Being financially independent is my goal so this year I'm acting more consciously about money in general: organization, saving, investing, and other income sources.
I have a spreadsheet that's working pretty well for me. I know how much I spend per month, I know how much I spend per “category” (house, entertainment, food, health, education, etc), and how much I save and invest.
One interesting insight that comes up from this spreadsheet is calculating how many months I can live only with my savings without working. Right now I can live for 5-6 years doing nothing. That's a really nice exercise you can do too if you organize your finances well.
I have a very frugal and simple life and I don't much many things as I don't have the need for them. And that helps a lot to control my finances.
This year, in the first 6 months, I invested more than 90k. I'm far from being an investment expert but I considered my current financial situation very stable and making good progress.
To be very honest, I don't like to use my time to study about money but as I find it pretty important, I'm willing to push myself to at least learn about a new type of investment per month, watch a youtube video or read a book about it. That way I keep learning and I don't need to obsess about it.
Thanks to Bijan for sharing an interesting blog about FIRE (Financial Independence, Retire Early), it's been really helpful.
Career
I don't need to extend this topic too much as I already wrote what and how I'm using my time to focus on programming languages and compiler engineering.
The only additional insight I want to share is how weeding out 80% of the other things I could study (backend, frontend, infra, software development in general) to focus on the 20% (compiler engineering, PL) is really helping me make progress.
Time is scarce. Attention too. So focus is really important. Having priorities and weeding out distractions too. Think about that and you can improve the quality of your habits and achieve your goals faster.
Interesting Links
Here are some links I collected this past month that I found really interesting. I hope you can make good use of them too, especially if you are interested in PL theory and compilers.
The TypeScript compiler
How the TypeScript team approaches the compiler and the type system
A trip into the compiler: how the private fields were implemented
How a caching system in the TypeScript type checker works (I'm still researching this but I want to write about it in the future)
Gradual Typing
I reach out to a college professor to ask about Ph.D. programs in programming languages and he suggested that I researched type systems and gradual type systems based on my interests. Here are some interesting works on gradual typing:
Personal development
I like Ben Hardy's work and highly recommend his book 10x Is Easier Than 2x.
If you're into health, diet, and nutrition, I'm really enjoying Dr. Eric Berg's youtube channel.
Physics is not my area of expertise but I felt very inspired listening to Sabrina about her journey and how she approaches problem-solving and challenges.
Final words
Let me know in the comments your story and your progress. I want to know more about this community of lifelong learners we have here, exchange experiences, and learn together.
Bonus
I went to the Scandal concert and I had a blast. The energy in the room was amazing and their songs have a really powerful way to bring back the memories of my childhood. (I know you like computers 👀, but take the time to go outside and enjoy the world too!)
Until the next changelog,
TK ✌️