TK Changelog #23
The summary of all TK's activities, goals, and achievements — writing, compiler engineering, and books
Hi, it's TK! ✌️
Get your cup of coffee (or tea if you prefer) and let's dive into one more changelog, the summary of all my activities.
We'll talk about:
Writing
Books
PL & Compiler Engineering
Miscellaneous (career, finances, health, cooking & other projects)
Interesting Links
Writing
The month of August was an amazing month for writing. I wrote 5 posts in total. It is more than 1 post per week and I'm very proud of the quality I'm producing.
It's a real challenge to keep up with delivering content while working, attending college classes, managing my finances, and studying compiler engineering.
But I manage to get at least 30 minutes to 1 hour per day and I have more time on the weekends to finish, polish, and schedule every content to be published.
These are the pieces I published this past month:
[Books] Deep Work
[Books] 10x Is Easier Than 2x
[Personal Development] I read 47 books in the first 6 months of 2023. Now what?
[Compiler Engineering] Building Let Declarations for the TypeScript compiler
[Compiler Engineering] Essentials of Interpretation: A Compiler Crash Course
I have a gigantic blog roadmap so one post at a time. My focus on the next ones will be compiler engineering focused. But I hope I can have time to write about personal development and books too.
Let's see how it goes.
Books
This past month I read two books. I managed to get 20 minutes per day to read each book.
Reading slowly by design: Taking notes, reflecting, and trying to apply. Slowly but surely.
These are the two books I read (click the links to see the review):
The One Thing: There's an important message on “focus”, on doing your “one thing”, and eliminating distractions.
Essentialism: We have just one life and focusing on what's important for us is truly essential for a meaningful life.
PL & Compiler Engineering
Talking about my research and studies on compiler engineering, I did a bunch of things.
I finished the course on Essentials of Interpretation and I have the full implementation on a repo in case you want to see the code. As you saw in the previous section, I'm also writing a series about this course and the learnings: Essentials of Interpretation.
After finishing this course, I directed my focus to the studies of type systems and type checkers. I'm currently attending a course on this topic, writing my own type checker, and soon I will make the repo available and write about it in a new series.
I'm also working on the mini TS Compiler. I'm now implementing object literals and object types. I have a WIP PR but now I'm focused on reading and debugging the TypeScript compiler source code so I fully understand how it's actually implemented there.
Finishing that, I can definitely write about it in the TypeScript Compiler series.
There are other things that I'm doing from time to time:
I'm researching interesting places to do a Ph.D./master’s degree in PL.
I've doing a lot of math problems, mostly calculus (because college) and I'm starting to study discrete mathematics, which will allow me to fully understand type theory and set theory notations.
Miscellaneous
Career: From time to time I feel I'm a bit lost on what I really want for my career. I'm not sure if I want to continue working in a fullstack — backend & frontend — role, double down into PL/compilers, start studying hard machine learning and work on the intersection of science and ML, or be a writer and have my newsletter business. If I had the time, I would do everything but in reality, I need to stick with one and focus on it. Time will tell.
Personal Finances: Nothing much to share here. Still very frugal and financially organized, and was able to invest this month again.
Health:
Exercise: Running 5-6 days a week, 6km each HIIT. Doing legs, abs, and back exercises to improve the quality of my life.
Sleeping: I'm using the weekend to fully recharge but I also improved the quality of my sleep on the weekdays. I'm getting more and more disciplined in terms of sleep quality.
Food: still cooking a lot and because of that, it improved the quality of the food I consume. Reducing sugar is hard.
Talking about food, I'm still searching for a good format but I plan to publish my food recipes (not originally mine but I tried it worked well for me). I've been cooking a lot these past few years and it would be nice to spread this knowledge.
I bought an electric pan to cook sukiyaki. It went very well and it's such a delicious meal. As a Japanese person, this always brings back a lot of good memories from when I was a child.
Other projects: I have a project called 89, which is a platform to share the experiments I do/have with Kazuuh. We are focusing mostly on travel content now. We have a published blog post about our travel to Japan and we are writing the script for our podcast. it's a Brazilian Portuguese project.
Interesting Links
Here are some interesting links I consumed this past month:
Sam Altman’s advice on life: a lot of good insights on life.
Some people asked how I keep up with TypeScript and ECMAScript updates. I subscribe to two newsletters:
Awesome personal websites: In case you're looking for some awesome blogs.
How should I read type system notation?: really nice writing on type systems, the mathematical part of it.
The Science of Setting & Achieving Ambitious Goals: how to use constraint theory and bottleneck optimization to achieve huge goals.
What makes Apple, Apple, a conversation with Jony Ive: He's such an amazing person with insightful ideas. From time to time, I re-watch this interview to gather his ideas.
TypeScript Origins: The Documentary (Trailer): I'm looking forward to watching this documentary about TS.
The Art of Learning: Notes on the book by Josh Waitzkin.
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.
Until the next changelog,
TK ✌️