Skip to content


Tips for probabilistic software

This writing stems from my experience advising a few startups, particularly smaller ones with plenty of junior software engineers trying to transition into machine learning and related fields. From this work, I've noticed three topics that I want to address. My aim is that, by the end of this article, these younger developers will be equipped with key questions they can ask themselves to improve their ability to make decisions under uncertainty.

  1. Could an experiment just answer my questions?
  2. What specific improvements am I measuring?
  3. How will the result help me make a decision?
  4. Under what conditions will I reevaluate if results are not positive?
  5. Can I use the results to update my mental model and plan future work?

Public Baths

Going to American baths is just so weird. I spent my summer in Japan visiting different onsens, and it was both a natural and spiritual experience. Before entering the water, everyone would bathe in the front, and kids would learn from their dads how to bathe. I would often sit on the edges of cliffs, gazing at the water or the sunrise, and it felt like we were monkeys, freely splashing about in nature.

In contrast, the time I spent in LA or New York City at various bathhouses was different. No one looked like an animal; instead, everyone seemed focused on optimization. People barely bathed before entering the water, wearing their dirty little speedos and swim trunks that they had definitely peed in the month before.


Anatomy of a Tweet

The last two posts were hard to write, so this one is easy, but it gets my words in for the day. This is the equivalent of not wanting to miss a gym day and just walking the elliptical for 25 minutes better than nothing.

The goal of this post is basically to share what I have learned about writing a tweet, how to think about writing a hook, and a few comments on how the body and the cta needs to retain and reward the user. Its not much, I've only been on twitter for about 6 month.

I used to hate rich people.

This entire piece of writing is dedicated to a recent response on Hacker News. I hope you can see, as a member of reality, that I write this sincerely.


Also, I wrote this as a speech-to-text conversion. As I mentioned in my advice post about writing more, my measure for writing more is simply putting more words on a page. If you're wondering how I can be so vulnerable, it's the same as what I mentioned about confidence. If you think this comment hurt me remember that you're just a mirror.

I've also learned that writing is a exorcism of your own thoughts. The more I write, the less these thoughts stick around in my head.

Learning to Learn

After writing my post advice for young people, a couple of people asked about my learning process. I could discuss overcoming plateaus or developing mastery, learning for the joy of learning. I could also talk about how to avoid feeling overwhelmed by new topics and break them down into smaller pieces. However, I think that has been done before.

Instead, I'm going to explore a new style. I'm just going to go through a chronological telling of my life and what I learned from just trying new things. I'm going to talk about the tactics and strategies and see how this pans out.

How to build a terrible RAG system

If you've seen any of my work, you know that the main message I have for anyone building a RAG system is to think of it primarily as a recommendation system. Today, I want to introduce the concept of inverted thinking to address how we should approach the challenge of creating an exceptional system.

What is inverted thinking?

Inversion is the practice of thinking through problems in reverse. It's the practice of “inverting” a problem - turning it upside down - to see it from a different perspective. In its most powerful form, inversion is asking how an endeavor could fail, and then being careful to avoid those pitfalls. [1]

Who am I?

In the next year, this blog will be painted with a mix of technical machine learning content and personal notes. I've spent more of my 20s thinking about my life than machine learning. I'm not good at either, but I enjoy both.

Life story

I was born in a village in China. My parents were the children of rural farmers who grew up during the Cultural Revolution. They were the first generation of their family to read and write, and also the first generation to leave the village.