I write different kinds of code.

I participated in competitive programming as a teenager (NOI ‘08, ‘09 in China), and now I work as a full-stack developer for @microsoft.

I’ve been working on indie games, compilers, and regular full-stack developments.

I also translate tech materials and write short stories.


fiber note

a bi-directional networked note-taking app

fiber note screenshot

fiber-note is a bi-directional networked note-taking app which is open and self-hosting, inspired by roam-research, obsidian and others.

I’m working on a series of dev diaries around the building of fiber-note:


tracking pop culture references

references.wiki screenshot

I watched/played so many tv shows/video games that I have to build references.wiki to organize and visualize pop culture references between tv shows, video games, fictional characters, etc.

I composed scrappers to fetch and parse the occurrences of pop culture references in different wikia (fandom) sites. Currently I’ve parsed around 5000 references between 1000 works/celebrities.

I built my own knowledge base to cross-reference sources like wikidata, google kg, and wolfram alpha. I implemented a customized editor for user to create new references between works.

The next step will be UGC workflow (I’m considering a git-based one), editing history and data visualization.

ruby on rust

An implementation of ruby in rust


An implementation of ruby in pure rust, consists of (barely working) lexer and parser, and a no-go interpreter.

I started this project as a way to learn rust. Eventually, I’ve learned more than that, including lexer & parser, ragel, and a lot of ruby’s hidden magic.

Lots of the grammar rules and AST conventions are ripped from the parser gem. For lexer, I adapted some rules from parser and ported from ragel-6 to ragel-7. For parser, I use syntax-cli as the parser generator.

project yoru

visual novel generator

project yoru screenshot

project yoru screenshot

Project yoru is a set of projects to build cross-platform visual novel games from only assets and scripts, without coding.

To build this project, I was using polymer, lots of gulp scripts, phonegap build, which are all practically dead by now :|

tiny projects



as a translator

  • I’m a co-translater of the simplified Chinese version of MongoDB: The Definitive Guide from O’Reilly