Projects

I'm a big fan of the open source software development model. Here are some notable open source projects that I created or heavily involved in.

MXNet & MXNet.jl 2015-2017
Apache MXNet is a lightweight, portable, flexible distributed & mobile Deep Learning framework with dynamic, mutation-aware dataflow dependency scheduler, for Python, R, Julia, Scala, Go and Javascript. MXNet.jl is they front end for MXNet. I'm a core contributor of MXNet and the creator of MXNet.jl.


Mocha.jl 2014-2015
Mocha.jl is a deep learning framework written in Julia. I started writing Mocha.jl for fun and for learning deep learning. It became the 3rd most star-ed Julia package later.


SHOGUN 2012
I worked on the SHOGUN machine learning toolbox as a Google Summer of Code project. I primarily worked on the multi-class and structured learning components.


YASnippet 2008-2009
The name YASnippet stands for Yet Another Snippet. It is a template system for Emacs, which allows you to type an abbreviation and automatically expand it into function templates. Back in the day when Google Code was still one of the main options for open source project hosting, I started YASnippet as a personal project and it quickly became the most popular template system for Emacs. I passed the development and maintenance to follow-up contributors many years ago, and I'm very proud to see that the project is still being actively developed and used by many people today. This is one of the biggest reasons why I love open source: good softwares will live.


Schemepy 2008
Schemepy is a Python module that enables you to embed a Scheme interpreter in your program. I worked on it as a Google Summer of Code project. It supported various main stream Scheme interpreters, but the most fun part was an independent byte-code compiler and VM — it was at the age when everyone learning programming needs to write a lisp interpreter.


mmseg 2007
mmseg was one of my open source project. It is a C++ library with Ruby and Python interfaces that segment Chinese text into words (because unlike English text, Chinese written language does have space between words) according to some heuristics. It starts out as a fun personal learning project, and then became useful potentially due to its easy integration with Ruby on Rails and at that time text based content retrieval and analysis were just becoming useful in web apps. One of the fun story is that at some point I got a significant chunk of code contribution from a foreigner who speaks no Chinese at all.