About

I am a computer programmer. Some would prefer the more pompous title of software engineer, but programming seems to reflect the reality of our work better.

I have worked on telecom switches, content management systems, financial trading systems, e-payment and e-commerce platforms, large internet platforms, robotic systems, etc. I work mostly on the server side.

I do, and/or have worked with in the past, Java, Scala, Haskell, Idris, Erlang, C/C++, Ada, Golang. I have also done works in dynamic languages, such as Ruby, Python, Elixir, etc. Whenever possible, I prefer to work with strongly typed programming languages, especially for large projects.

In my spare time, I love to read, write codes for my own experimenting, painting, and play music (I am a very lousy musician, but it’s really fun to do something you are not good at). I learn to play one of the most ancient Chinese music instruments, called Qin.