Working Experience

  • Co-founder of BinaryPlex: (Nov. 2009 to Now) Team up with Tim Bull on our software startup in Melbourne, Australia. We're focusing on developing a People Search Engine. We just released our technology preview via Twendly. Feel free to follow our progress here.
  • Co-founder of Haokanbu: (Nov. 2006 to Dec. 2008) China's largest photo blogging service. Recruit and grow a highly talented engineering team. Lived through all the startup roller roasters. Particularly in growing the site from one server to 11 CentOS 64-bit boxes. Technologies: django on lighttpd, mogilefs for distributed cache, memcache for distributed cache, perlbal for load balancing, squid for front-end cache and S3 as backup storage.
  • Lead Researcher of Document Sciences Research Lab: (Dec. 2005 to Nov. 2006) Help to start document sciences' research lab. Responsibility: designing and prototyping scripting language for data driven dynamic document layout engine. Technology use: C++, Yacc/Bison
  • Microsoft Solution Architect MVP: (Jan. 2004 to Dec. 2006): Microsoft's reward for top .NET architects in each country. I was the first one in China, one of the 56 worldwide. I also ran China's first .NET user group as its president from 2003 to 2006.
  • Architect of Objectiva Software: (Jan. 2002 to Dec. 2005) Lead architecture and engineering efforts for objectiva's high-end outsourcing projects. Help to grow the company from 15 people into 500. Most clients are small-to-mid sized startup companies using .net or j2ee technologies: Seattle's ModelMinded, Boston based RedBird, EzeCastle and Austin based Reddwerks.
  • Sr. Software Engineer of Advantech Embedded Device Group: (Jan. 2000 to Jan. 2002) Tech Lead for advantech's GeniDAQ multi-threaded runtime engine for WinCE using C++.
  • Software Engineer of Advantech Industry Automation Group: (Feb. 1999 to Jan. 2000) Lead device driver developer for advantech's data acquisition control devices for DOS, Win95, WinNT and Linux using C and Assembly Languages.

Hobby Projects

  • MySQL Full-text search: apply fts.patch to mysql 5.1.x to enable full-text search over twitter #hashtag and @people support. $ patch -p1 < fts.patch.
  • Purifyr: Puirfyr is a web service that'll filter out almost all ads from any web pages. It could process about 10 pages per CPU with accurate level as high as 95%.
  • Dial-a-Joke using Asterisk: an automated Dial-a-joke SIP service by hooking up Cepstral Text-to-Speech engine and Asterisks, the open source PBX. What a fun!
  • Photo Headline: Easy to use WordPress plugin that creates an automated rotating image slideshow of your posts or pages for use anywhere within your theme. A jquery-friendly replacement of the "Featured Content Gallery" plugin, fully compatible with existing post meta info.
  • Thumb.py: A it-just-works python testing framework, including test case auto discovery, compiler-level code coverage analysis and built-in django support. It's performance optimization feature is essential for real world projects with 200k+ test cases.
  • TheTrueChina: News mashup. Built using Google App Engine's very first release. Show latest machine translated chinese news on Google Maps. Inspired by semantic web concept, all contents are geocoded and organized.
  • lightTracker: High Performance BitTorrent tracker implementation. Frustrated by the complexity in setting up a server, lightTracker could easily handle up to 1000 concurrent connections when deployed on nginx.