Compiler Engineering, writing articles, and books
My Lifestyle on how I'm studying compiler engineering, books I've been reading, and articles I've written
TK here! ✨
Long time no see and happy new year! 🎉 I hope you have a wonderful 2023 full of joy and achievements in your life.
I've been using this newsletter more to share my lifestyle (studies, research, what I've been doing, my next plans, etc) than educational content.
And in my opinion, it works well for me. I can have a very clear boundary between educational content and articles I write on my website and the lifestyle content, or the behind the scenes in this newsletter. I'll keep it this way and see how it goes.
I guess it's easier to digest lifestyle content when the email comes and then you'll have a lot of links to my blog, projects, and research I've been working on. So you can navigate through them whenever you want.
↯ Let me know in the comments if you like this kind of writing.
In this newsletter, I want to share 3 topics:
What've been doing? (studies, research, projects, books)
What's next?
Interesting links
Let's go.
What I've been doing?
Compiler Engineering
The most impactful part of these past months is absolutely my studies on compilers. I went from an 8 months hiatus to 13 Pull Requests, finishing the parser, improving the REPL, and starting to work on the compiler's evaluation phase.
Here are all the implementations that I've done this past 3 weeks.
I also continued working on the browser engineering implementation but decided to take a quick break to focus on the compiler only. It's moving fast and faster than anything else and I'm learning a lot, so I want to enjoy the flow.
Writing
I wrote a tiny piece called Writing & The Promise of Living Forever. This was intended to be a letter to my future self but some people on the internet got inspired by it as well. Here’s the full piece:
I hope I can use this piece to inspire myself, day in and day out, and have a tiny impact on the world.
For the past months, I've been focusing on the Crafting Frontend series and published a whole lot of content. Here are the 6 articles I wrote.
The current article I'm writing is one on the topic of Frontend System Design, the architecture of Spotify Playlist.
I still have a lot to research and write. One article at a time.
Books
One of the habits that I'm most proud of is reading books. My goal is to read 10 pages a day, simple as that. It's not too much. And if you do simple math, in 1 month, it's almost 1 book. At the end of the year, I would read 12 books, that's amazing.
For the past months, I read these books:
What I Talk About When I Talk About Running by Haruki Murakami: it was the first time I read Murakami-san's book and I adored it. As a runner myself, I enjoyed and related a lot to it. I wrote a review about the book and still writing the article for my digital bookshelf.
The Intelligence Trap: Why Smart People Make Dumb Mistakes by David Robson: really liked how much research was involved in this book and how everything makes sense. I really liked stories illustrating ideas. I wrote a review and an article.
Discipline Is Destiny: The Power of Self-Control by Ryan Holiday: full of interesting stories to back the idea of self-discipline and we should be honing this skill every day. I wrote a review but it's still missing the article.
What I'm currently reading:
High Output Management by Andrew Grove
Writing an Interpreter in Go by Thorsten Ball
101 essays that will change the way you think by Brianna Wiest
But as you saw in the picture above, I bought a whole lot of new books and I need to carve out more time to read them all.
The books are divided into different topics: algorithms, programming language theory, and a career in engineering.
By the way, talking about algorithms, I solved more than 30 problems in the past month and was super consistent. But now I decided to stop a bit to have time to study theory. This is why I bought the books to back this study.
Web Performance
I stopped for quite some time to actively study web performance because of a lack of time, but at work, I'm still working on these types of problems at work.
The last two tasks I did and I need to write about how we are:
tracking web performance metrics (core web vitals and more) and sending them to our analytics to be able to correlate performance metrics with business and engagement metrics
caching optimizations: how I used webpack and browser caching to improve users’ experience. For every new build we shipped to production, 94% of the bundle was invalidated and after the optimization, it's between 12% and 20%. In other words, before we had 6% cached JS and now, JS is at least 80% cached in the browser.
I still need to write about those two improvements and what impact they have on our product.
Improvements on the TK's website
This is a UX improvement I did: smooth rendering for each part of the article while scrolling the page.
And I also worked on the light mode version of the website.
Feels nice, even though I prefer reading in dark mode. But I know some people prefer a light mode, so there it's!
Personal life
I've been traveling a lot. I went to Amsterdam for the Perf.now conference as I mentioned in the last issue. And at the end of 2022, I traveled to Buenos Aires, Argentina. It was my first time there and I had a blast.
Argentina/Buenos Aires is beautiful! And the food is amazing. I miss there, the same way I miss Amsterdam. Hope I can travel more this year too 🗺🌎
What's my plan for the next months?
I've been using OKRs to manage goals and habits in my life now and I plan to write about how I do it. I just need more time to experiment with it and I will have more authority to write about the whole experience.
But in general, I divided the goals into different domains: Improve Fitness, Build my Legacy, Read Books, Be financially independent, Be a Great Communicator, Be a Great Frontend Engineer, and Become a Browser/Compiler Engineer. Each one of these domains I break down into habits I do every single day or X time per week and I try to measure my progress.
About self-improvement, I still have the same goals:
Writing: I'm carving more and more time to write. I have a lot of ideas but I don't have much time to work on all of those right now. So I will slowly (but surely) write about them all.
Compiler Engineering: to become a compiler engineer, I need to practice, and I need to learn more about PL theory.
Books: Keep reading and writing reviews and analyses of so many interesting books I still want to read.
Regarding this newsletter, I created different sections
⚡️ Fast Web: Making the web more open and accessible through performance.
↯ Compiler Engineering: Compilers, Algorithms, and Browser Engineering.
✨ Crafting Frontend: Research, studies, and experiments on frontend engineering & Cracking frontend interviews.
Choose your guild!
Personal stuff: I just want to reach my goals and see the impact on my life. And I want to keep doing this for a long time, this is why I focus on cultivating good healthy habits (cooking and eating well, sleeping better, and exercising) and investing and actively taking care of my wealth to be financially independent.
Interesting Links
Comment in the comments section below about your goals and how are you planning to reach them! Let's discuss strategies.
See you next time! ✌️