Writing
Notes, surveys and arguments.
Surveys, methods, and arguments. 17 posts, newest first.
Software Will Eat Services by Buying Them
Why the next generation of software companies will own their customers instead of selling to them. How AI turns labor-heavy services into software-margin businesses, why ownership is the mechanism, where the moat actually lives, and what would prove the thesis wrong.
Retrieval Encoder Training Operationalization
A practical guide to deciding when a retrieval encoder is worth training, and how to measure the trade-offs in relevance, latency, and index size.
Recommender Systems - From Item Neighbors to Generative Sequence Models
How recommender systems moved from item-neighbor methods to generative sequence models—and why each generation hit a new ceiling.
A Vibecoder's Survival Guide to Software Testing
One section per kind of test. What it is in one sentence, a tiny example, the failure mode it catches that nothing else catches, an industry war story where useful, and what to install. Written for the developer who ships fast, ships with AI in the loop, and is tired of getting paged at 2 AM.
Encoders - Squash Reality into a Vector Space
From SIFT histograms to CLIP's billion-parameter shared space, this post traces how vision and text communities independently discovered the same compression trick and then converged into one. Covers handcrafted features, shallow embeddings, deep CNNs, BERT, ViT, self-supervised pre-training, and multimodal alignment; with open problems and portfolio projects.
Why Innovation Does Not Live in Indonesia
A tech founder's economic argument for why Southeast Asia's largest economy cannot make its innovation flywheel spin. From rent-seeking capital allocation and a colonial trust deficit to missing exit markets, every stage of the cycle is broken.
Agentic AI - From Symbolic Planning to Autonomous Software Engineers
Three decades of teaching machines to act. From STRIPS and BDI, through ReAct and Toolformer, to GRPO-trained agents solving real GitHub issues at superhuman rates. Covers the full lineage of agentic harnesses, tool-use training, end-to-end RL, and the MCP era. Includes open problems and portfolio projects.
Model2Vec, A Static-Embedding Distillation Algorithm, Explained
How to compress a sentence-transformer into a static lookup table that runs on CPU in three lines of NumPy. A re-implementation guide covering the full pipeline, vocab prep, per-token forward, PCA whitening, SIF/Zipf weighting, optional vocab quantization, and dtype quantization, with a ~80-line reference implementation.
Representation Analysis, A Reading Path
Eleven years of geometric thinking about embedding spaces, distilled into eight papers. From Mikolov's linear analogies (2013) to Bricken et al.'s sparse autoencoders (2023), discover, fix, diagnose, exploit. The throughline is one conjecture refined over a decade, high-level concepts are encoded as directions in representation space.
World Models - From Dyna to Foundation Simulators
A decade of teaching machines to imagine. From Sutton's 1990 Dyna planning loop through Ha & Schmidhuber's dreaming agents, the RSSM latent-dynamics lineage, foundation-scale video simulators, and LeCun's JEPA thesis. Includes open problems and a portfolio project guide.
Spoken Language Processing
Spoken Language Processing is a branch of signal processing that deals with the analysis, synthesis, and manipulation of speech signals.
Personal Identity Problem and Mutability Immutability - Engineers Are Philosophers in Reverse
The personal identity problem asks whether something remains the same after it changes. Philosophers have long debated this through famous examples like the Ship of Theseus. In programming, mutability and immutability echo the same question - when something changes, is it still the same object? Software engineers unknowingly reinvent the personal identity problem each time they design systems.
Why Python is Irreplaceable for Data Science, AI, and Automation - a Design Perspective
Python is currently the most popular programming language for machine learning and data science. In this post, I will share my subjective experience on why I've stuck with Python for the last 3 years, and why I think Python's design is the future (for general purposes, not only AI, Data Science, and Automation).
Collection of Foundational Math Problems
Foundational math problems to keep me on track after a long time of not doing math.
Deep Learning Notes from Zero to Hero
Comprehensive notes from the Machine Learning Research Lab course @ Universitas Indonesia [In Progress]
Reinforcement Learning Notes: Theory and Algorithms
Taken on MRL course @ Universitas Indonesia [On progress]
Paradigm of Making Machine Learn; Supervised, Unsupervised, and Reinforcement
Here we explain the standard notion of machine learning, a lot of example you see in the internet mostly a practical scenario. In this notes, we tries to explicitly define why! [On progress]
How the covers are drawn
Each cover is generated from its post: the rarest tag sets the main motif, the next one sits behind it, the slug seeds the composition, and the numeral is the reading time. Posts tagged notes are drawn on ruled paper. The motifs illustrate a topic; none of them is data.
- notesruled paper
- machine-learningloss contours
- deep-learninglayer stack
- economicscycles
- indonesiaarchipelago
- mathrose curve
- philosophymoiré rings
- startuplaunch arc
- information-retrievalvector field
- innovationrays
- private-equityholding tree
- pythontoken strip
- recommender-systemsinteraction matrix
- reinforcement-learningorbits and a loop
- software-engineeringwired modules
- testingreticle