Tianyi Cui (崔添翼) ================ Web:: http://tianyicui.com Email:: me@cuitianyi.com Phone:: +8613958103659 (It's a prime number!) Address:: Room 918, Dorm 30, Yuquan Campus + Zhejiang University, Hangzhou + China, 310027 Objectives ---------- * Overcome cognitive biases and practice the art of human rationality * Reach mastery in computer programming and build tools to make programmers' life more fulfilling. Skills ------ .Algorithm design, analysis and implementation * I am quite proficient in ACM/ICPC-level algorithmic problem-solving. * I am experienced with implementing algorithms based on textbooks and research papers, especially in Natural Language Processing and Compiler Construction fields. .Programming skills * Writing clean code in `C`, `C++`, `C#`, `Python`, and `Ruby` with practical experiences. * Interested in functional programming languages such as `Haskell`, `Scheme`, `Common Lisp`, `Clojure`, `Scala` and `F#`. * Web development with `Rails` and `Django`. * Domain specific language design and implementation in `Ruby`. * Software testing with `RSpec` and `NUnit`. * Embedded `Linux` development in `C`, especially device driver implementation and system integration. * Lexical analysis and parsing with `flex`, `bison` and `treetop`. .Programming tools * Source code management: `Git`, `Mercurial`, `Subversion`, `Visual SourceSafe`. * Editor/IDE: `Vim`, `Visual Studio`. * Operating systems: `Mac OS X`, `Windows`, and `Linux` (especially `Debian`, `Ubuntu` and `ArchLinux`). * I also have rich experience with common `Unix` command line utilities. .General skills * Excellent quick learning and problem-solving ability under time constraints. * Critical thinking and effective communication. * Pragmatic English technical writing skills. Academic Achievements --------------------- .ACM International Collegiate Programming Contest * Harbin Regional, Gold Medal, 2008 * Hangzhou Regional, Gold Medal, 2008 * Hefei Regional (team leader), Gold Medal, 2009 * Wuhan Regional (team leader), Gold Medal, 2009 .Zhejiang Provincial Collegiate Programming Contest * 1st place, 2009 * 1st place, 2010 Commercial Project Experience ----------------------------- * In January to February 2012, I helped to build a prototype of P2P video-on-demand `Flash` client in `ActionScript` at _Research Group_ of _Hulu_. * In December 2011, I helped to build a automatic testing framework for `Flash` applications in `C#` using `WebDriver` at _Engineering Excellence Group_ of _Hulu_. * In April to May 2011, I improved the demo program of _TransCut_ project by adding `Natural User Interface` at _Internet Graphics Group_ of _Microsoft Research Asia_, where I designed and implemented the body gesture UI using `Kinect`. * In February to March 2011, I participated in the development of the desktop client of _Bing Dictionary_ at the _Lingo_ group of _Innovation Engineering Center_ of _Microsoft Research Asia_. I designed and implemented some core algorithms being used in both client and server side, mainly in `Natural Language Processing` field. * In June 2010, I built a customized version of `WebKit` for _Hercules_ (part of _Guillemot Corporation_) with the main purpose of reducing memory footprint to be used in an embedded environment. * In August 2009, I ported the `Linux` kernel along with `uClibc` and `BusyBox` userland to a customized embedded board based on `AT91RM9200` chip for _Sinostride Technology_. I also wrote the essential device drivers as loadable kernel modules. The system is now widely deployed as the monitoring system in _China Unicom_'s 3G base stations. * In July 2009, I developed the prototype of a Facebook application using `Ruby on Rails` and `Apache Thrift` for _RomanLogic LLC_. * In June 2009, I developed a `.Net` RPC framework using `Protocol Buffer` and implemented the multithreaded socket server in `C#`, for a client of _TopCoder, Inc._ codenamed _SP-14_. Open Source Experience ---------------------- * In 2010, I made significant contribution to the `Homebrew` project, a package manager and porting system for `Mac OS X` entirely written in `Ruby`. More than a dozen software packages are ported to `Mac OS X` and carefully packaged by me. * I submitted patches to various open source projects; most of them got accepted. The notable projects are `RVM`, `RSpec`, `SimpleCov`, `highlighting-kate`, and `Redcar`. More details on https://github.com/tianyicui. Education --------- * I am an undergraduate in College of Computer Science and Technology at Zhejiang University. Hobbies ------- * Enjoying classical music, especially Bach. * Reading books on psychology and philosophy, especially cognitive science and pragmatism philosophy. * Watching Japanese animation, especially with others. Notes ----- * This resume was created using `Vim` and `AsciiDoc`, then spell checked with `Aspell`. The process of generating HTML and uploading it to my server is automated by using `Make`, `Git` and `OpenSSH`. * The latest version of my resume is always available online in http://tianyicui.com/resume.txt[plain text] and http://tianyicui.com/resume.html[HTML].