Introduction
I am Michael Tsang. I am a software engineer focusing on web development making websites which are lightweight, responsive, easy to maintain, using standard technologies as much as possible. I use long-lasting technologies such as PHP, traditional development methodologies, and best software development practices making websites lasting for years with minimal deprecation risk, reducing code rot and the maintenance effort of keeping websites running.
I currently run my own company, Metroapps Limited, which develops websites and web applications for clients, and also its own open-source products as well.
I graduated from The University of Hong Kong with first class honours in 2016. I won numerous prizes in different programming contests in university, using my skills of writing easy-to-maintain code. I also maintain a few websites, including my blog which is more than a decade old, as well.
Being a technical person does not mean coding or dealing with machines all the times. Apart from computer programming, I am also a sportsman good in orienteering, where I participated in the World Trail Orienteering Championship in 2017, 2018 and 2022 as a Hong Kong team member. In addition, I also love the ocean and sail, swim and dive in it. I have done multiple marathon swims since 2019 and swum the English Channel in 2023.
My competitive experience
As a Hong Kong representative
- International Olympiad in Informatics (2009, 2011, 2012)
- Bronze medal in 2011 and 2012
- National Olympiad in Informatics (2011): silver medal
- World Trail Orienteering Championships (2017, 2018, 2022)
Other notable competitions
- 2nd Egypt International Trail Orienteering Championship (TempO) (2018): 2nd place
- Hong Kong Trail Orienteering Championships (PreO) 2016: 1st runner-up
- Hong Kong Trail Orienteering Championships (TempO) 2016: Champion
- ACM-HK Programming Contest 2015 (team BIG BOSS): Champion
- ACM/ICPC 2014 Guangzhou Asia (team IT Genius): Bronze medal
- ACM/ICPC 2012 Hanoi Asia (team IT Genius): First Prize (third place)
- Hong Kong Olympiad in Informatics 2008 – 2012: gold prize (best young contestant in 2008 and 2009)
Things I do
Programming
- PHP (It's now safer and safer since PHP 7)
- Javascript and Typescript (Not a must - my sites all work with Javascript disabled)
- UNIX shell script (I wrote my own backup script on my server, already working for years)
- C++ (I like auto and lambdas very much!)
- Java (not my favourite)
- HTML5 (I make this all by myself)
- CSS
- Haskell (Programming using math formulæ!)
Sports
- orienteering (find me in a local race!)
- open water swimming (including marathon swimming)
- diving (currently without SCUBA gear only)
- sailing (including windsurfing)
- bridge (card game)
- mah-jong
Networking
I set up my Debian server all by myself, making it the core infrastructure of all my digital assets, allowing me to access it everywhere from the internet, anytime. It includes:
- IPv6 (Are you viewing this thru IPv6? See the bottom of this page! )
- DNS
- DHCP
- HTTPS
- SSH
- MySQL
- CalDAV / CardDAV (I am using my server to host my calendar.)
- and much more...