I’ve spent over a decade working on developer infrastructure at Google, contributing to areas like the build system, IDE, refactoring tools, and linters. Contributing to the evolution of one of the world’s largest codebases was a challenging task. What might seem like a tiny change can ripple across...
Continue reading...My Adventures with Narrative Engines
I've always loved games with compelling stories. From the classic LucasArts point & click adventures to modern gems like The Forgotten City, Disco Elysium, Pentiment, and Telltale games, many titles have inspired me.
While working on my latest project, I wondered: how would I implement a story,...
Continue reading...
Building LingoStories: An Experimental Project for Language Learners
I previously shared my thoughts on language acquisition. One of the ideas is to maximize the amount of “input” (text or audio) we consume, as long as the input is interesting and mostly understandable. The linguist Stephen Krashen phrased it as “We acquire language in one way and only one way: whe...
Continue reading...The Story of Reformatting 100k Files at Google in 2012
A Mysterious Meeting
Back in September 2012, I was a junior engineer at Google, working on Bazel (Google’s build tool, also known internally as Blaze). One day, a mysterious calendar invite landed in my inbox. It was sent by two engineers in the US, and I was invited along with my team lead.
I...
Continue reading...Language Acquisition with Comprehensible Input
In January, I explored the language learning literature and discovered concepts that have reshaped my perspective. So I decided to share my thoughts here.
One interesting idea is the distinction between language learning and language acquisition. Learning refers to the conscious process of studyin...
Continue reading...
Crafting Art in 8kB - 'The Sheep and the Flower'
Last month, I published an article about a demoscene production that I released last year. The article starts with:
Continue reading...In November 2022, we set ourselves a challenge: make a real-time animation that looks like a standard short animated movie, with the constraint that it should fit in 8 kilobytes. T...