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.

side-projects

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:

references.wiki

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

https://github.com/ruby-on-rust/ruby-on-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

  • 1-toolbox.com: a public toolbox wiki.
  • icons.land: to search icons from different packs like font-awesome, ionicons, etc.
  • streaming guide: help to decide which streaming service (nf, hulu, disney+) should you subscribe to
  • wiki flutter: a wikipedia client in flutter

utility libs

publications

as a translator

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