Carpe diem (Felix's blog)

I am a happy developer

About Me

I’m a self-taught programmer and am familiar with many different kinds of programming languages for different tasks. For text processing I use Perl, and I’m also one of the CPAN authors. For highly concurrent server I experienced with NodeJS development. On iOS engineering, I wrote native Objective-C and published some useful Core Animation libraries.

Now I’m working in SupplyFrame as a Hadoop engineer. We use low-level map-reduce API and constructed several libraries based on lower-level IO functions to improve the functionalities of hadoop.

Open source projects

Hadoop projects

Clojure projects

  • Grunf A http monitoring tool with embedded programming interface in the configuration file.

iOS projects

  • FCAnimationFactory A core animation extention that programmer can apply custom timing function to animate position, size, color, opacities and more.

  • Pendulum+ A chaotic double pendulum physics simulation with great use of Core Animation. It has good peroformance, low battery usage, and runs smoothly on all iOS platforms. The code is open sourced on github: Pendulum Technical details for Core Animation is on SpeakerDeck

  • Earthquake early warning prototype ARM to iOS push notification.

  • Taiwan typhoon app Grab typhoon prediction from Taiwan central weather bureau.

  • Handle Touch events in UIWebView UIWebView masked its event handling method. In this project I hijacked single touch event and let UIWebView handle other touch events (pin, scroll, double touches…etc.)

  • GCD vs OpenMP benchmark Grand Central Dispatch is a great parallel programming model introduced by Apple. I implemented a GCD version of Conjugate Gradient algorithm from NAS Parallel Benchmark and compare to OpenMP version offered by NASA. The GCD results are great.

Other projects

  • File::Monitor::Lite Perl module for monitoring file creation, modification, and deletion.

  • Lingua::MMSEG Perl module of Chinese word segmentation.

  • Macho.js Chinese text wrapping. (Forked and is used in Taiwan web designer’s community)

  • CangJieX CangJie Chinese input method for OSX.

  • Octopress graphviz plugin (Ruby) Add new syntax into octopress, so that you can write graphviz direct in octopress markdown section.