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.
a bi-directional networked note-taking app
fiber-note is a bi-directional networked note-taking app which is open and self-hosting, inspired by
obsidian and others.
I’m working on a series of dev diaries around the building of fiber-note:
tracking pop culture references
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.
visual novel generator
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
phonegap build, which are all practically dead by now :|
- icons.land: to search icons from different packs like font-awesome, ionicons, etc.
- shiori raycast extension: raycast extension for shiori bookmark manager.
- wiki flutter: a wikipedia client in flutter
- 1-toolbox.com: a public toolbox wiki.
- streaming guide: help to decide which streaming service (nf, hulu, disney+) should you subscribe to
- acts_as_reactable : emoji reactions support for rails
- actioncable_dart: action cable websocket protocol ported to dart
- flutter_html_widget: parse HTML dom into flutter widgets
as a translator
- I’m a co-translater of the simplified Chinese version of MongoDB: The Definitive Guide from O’Reilly