an update
Posted on March 8, 2025
hey, it’s been a while. shortly after my first (and last) post, i started working as a mobile developer at TikTok. i’m still there, but i’m gearing up to do a postgraduate degree at ANU focusing on PL theory/formal verification.
motivation
why did i start writing?
when i made the blog at the beginning of 2024, i was driven by a few things:
- i was having fun with my side projects and wanted to write about my experiences as a form of documentation, both for my future self and for my career.
- it was fun hacking with hakyll, the site generator that i used to create the website.
- i had an existential realisation that i had no written record of who i was/had been for a very long time, and i figured one way to start such a record was through a blog.
i think it’s pretty easy looking back to see how my drive fell apart quickly. the source of motivation was either bound to be short-lived (shiny new thing) or vague enough that it fell apart the moment it was tested. nevertheless, let’s explore those tests.
why did i stop?
again, i have a few answers:
- i don’t have much to offer my (nonexistent) readership in terms of original, interesting content. i know it’s a silly headspace to be in. but generally when i get to writing about some technical project, i have attained enough fluency with what i want to write about to “see” how trivial it is and so find my writing about it to be inane and uninspired.
- i find the process of writing to be pretty paralysing. after finishing each sentence, i have a compulsion to go back and edit the wording to something that aesthetically appeals to me. giving into that compulsion leads to me getting stuck and finally convincing myself that i suck at writing (i do, but that’s what gets me to stop in times like these).
- like i said at the start, i started a job very shortly after and found myself pretty busy with that. i also had a reasonably involved wrist surgery that kept me from typing too long.
why am i back?
in preparation for the postgrad, i’ve worked through 3-ish textbooks without writing a single thought down. i know this now to be the wrong way to approach self-study.
this time around, i have the concrete goal of writing about technical things that i’m currently tackling. we’ll see if the scope expands, but i want to be clear going in that that’s what the blog is about. in this way, i don’t need to worry about my readership’s expectations for “original” content. instead, the focus will be on the clarity of the technical prose, hopefully thereby ironing out my misunderstandings/knowledge gaps.
i’m going to be purposefully light on editing the aesthetic element of the writing. i want to free myself from my expectations.
i also want to lower my idea of what constitutes an interesting enough idea to write about. i’m thinking that maybe i’ll start a devlog-y thing for the current textbook i’m reading.
and about my job, things are still pretty hectic but i’m making do.
what have i been up to?
so i’ve said already that i read 3-ish textbooks. those were:
- Logical Foundations
- Programming Language Foundations
- i finished the above two along with 95% of their exercises. they are such good learning material. having formal theorems, definitions, and proofs being so easily scrutinised and interacted with is so useful.
- Types and Programming Languages
- this book has a large crossover with the previous two, covering largely the same content up until around halfway through when more complex type systems are discussed. i didn’t make it much further than the content of PLF before hitting a particularly busy patch of real-life work and losing the motivation to continue.
- Introduction to the Theory of Computation (i couldn’t find an official website so linked is the goodreads)
- i didn’t make it very far with this one either, admittedly. around a quarter of the way through i lost motivation in much the same way i did for TAPL. i do mean to come back.
- Crafting Interpreters
- i’m working through this now, around 3/4 of the way through. specifically, i’m implementing a mirror image of the book’s implementation in haskell. it gives me much the same feeling PLF and LF did, reading a bit of prose and then hacking away with the concept. it’s been really fun.
i rewrote the parser that i wrote about in my first blog after reading a very illuminating paper recommended in a reddit comment.
i made a small utility for timing wallpaper changes/notifications early last year according to a pomodoro/repeating cycle. it was a fun and self-contained project for exploring async Rust, which for this use-case was really very ergonomic.
and… not a whole lot else, technically. i mean, look at my github contribution history:
yikes!
anyway, i hope i manage to stick with this.