An open source coder.

Work Experience

Work Experience

  • Senior EngineerAppier

    Nov, 2014 - Present

    • [team][2015 Q1] Best business impact

    • [team][2015 Q1] Best idea of product

    • [team][2015 Q4] Best business impact

    • [team] Winner of first Appier Global Hack

    • Implemented and maintained retargeting pipeline.

    • Implemented datafeed synchronization with our customer.

    • Implemented retargeting UI backend to help campaign manager handling campaign.

  • Senior EngineerTrend Micro

    Dec, 2010 - Nov, 20143 years 10 months

    • Accomplished Advanced Virus Training hold in Trend University and got certificate at 2012-11-11.

    • Setup apt mirror and puppet server to maintain Linux machines in virus lab (no internet connection).

    • Built valgrind for Android to perform memory usage test and profiling.

    • Integrated legacy test scripts into new automatic test framework (Borland SCTM).

    • Designed and implemented an automatic process to handle virus samples.

  • Senior EngineerQisda

    Oct, 2006 - Dec, 20104 years 1 month

    • Implemented new SIM lock mechanism with TLV structure and RSA, SHA1 HMAC as cryptographic algorithms.

    • Implemented full auto testing tool for GCF/PTCRB. Automatic rate increased from 20% to 80%.

    • Solved a long live (3 projects: Motorola W7, BenQ M7, Motorola VE538) stack overflow bug in battery management.



  • Programming Language
  • Backend Development
    LinuxnodejsGraphQLSparkSpark StreamingAmazon KinesisCelery: Distributed Task Queue
  • Database
  • Malware Analysis
    reverse engineeringhiewOllyDbgWinDbgx86 assemble languageunpacking


  • Computer Science, Master, National Tsing Hua University

    Sep, 2004 - Jul, 2006

  • Computer Science, Bachelor, National Chiao Tung University

    Sep, 2000 - Jul, 2004

Volunteer Work

Volunteer Work

  • Developer, Debian

    Sep, 2013 - Present

    I joined Debian input method environment team to support Traditional Chinese input methods in jessie release. During the work, I found myself enjoying solving problems, and promoting Taiwan open source developer. Due to my contribution in Debian, I became Debian Developer at 2015-09-11.

    • Formed the pkg-lxqt team to maintain LXQt desktop environment.

    • Maintain Traditional Chinese related packages like input method (chewing, gcin/hime, zhuyin) and fonts (fonts-noto-cjk).

  • Contributor, g0v

    May, 2013 - Present

    I has contributed to g0v projects since g0v.tw hackath2n. The projects I focus on are laweasyread and kuansim. The main jobs for me in these projects are to enhance web cralwer, sanitize data, design and implement RESTful APIs, and setup test/CI environment. Beside laweasyread and kuansum, I also help to setup test environment likes karma and protractor for other g0v projects.

  • Developer, Chewing Input Method (新酷音輸入法) Development

    Sep, 2012 - Present

    I joined chewing development team to answer jserv's call for developer in COSCUP 2012. My focuses on libchewing are to provide a bug-free library, and to setup base infrastructure to support better developing experience.

    • Integrated travis-ci to run unit test for every push.

    • Integrated coveralls.io with travis-ci to generate coverage report.

    • Integrated coverity with travis-ci to generate coverity result.

    • Wrote test cases to increase coverage rate to 81%.

    • Setup ubuntu PPA to provide latest libchewing to user.

    • Cleanup system database and implement check mechanism to prevent incorrectly phrase slipping into system phrase database.

    • Implemented dynamic programming based algorithm to enhance composition performance. The algorithm is around 800 times faster then previous brute force one.

    • Used sqlite3 to store user phrase.

    • Implemented new user phrase editor based on Qt5.

    • Have a talk about libchewing in COSCUP 2013.