About me

About me

My name is Michael Tsang. I graduated from HKU with BEng(CompSc) 1st class honours degree and BBA(IS) 2nd class (upper) honours degree in 2016.

My main expertise is in computer programming. I’ve won numerous prizes in different Olympiad in Informatics contest from local to international, and also various university-level contests including ACM/ICPC Hanoi Asia 2012 (team IT Genius, ranked 3rd) and ACM-HK Programming Contest 2015 (team BIG BOSS, Champion).

Apart from programming, I also make web pages and web applications (like the site mentioned below). While I’m not a good layout designer, I’m able to write standard-compliant (X)HTML pages which should display correctly on all browsers (I’ve already tested Firefox, Chromium, Konqueror, Epiphany, Internet Explorer, Lynx, w3m, rekonq, etc. The pages should also work on braille displays and screen readers but I haven’t tested them yet.) My site is free from quirks (workaround for bugs for specific browsers) which are usually found in older pages and pages created by older tools. I can also set up small networks by using Debian servers.

The sports I play include orienteering, sailing (including windsurfing) and open water swimming. Among them, orienteering is the sport that I’m the most interested in, participating in races around the world. I am competing at élite level in Hong Kong for sprint orienteering, PreO and TempO trail orienteering. I won the champion in 2016 Hong Kong Trail Orienteering Championships (TempO) , and represented Hong Kong in the world championship in trail orienteering in 2017, 2018 and 2022.

Since 2018, I started doing open water swimming races, and now I’m a marathon swimmer. I have done races up to 21 km, and solo swims up to 16 km.

I and Sherman, a teammate in my scout troop, also got the 3rd in sailing (Hunter class) the scout regatta in 2012.

Scouting was a major part in my life. I was a leader in 21st Tuen Mun East Group and also a rover scout in 111th East Kowloon Group until I emigrated from Hong Kong to the UK. I was a council member of Rover Scout Council and also a member of the executive committee in Scout Orienteering Club in the past few years Scouting has brought me many useful skills including map reading, expedition skills, seamanship, lifesaving, and also broadened my view on the society and the world.

This blog is meant for my sports and travel life. I’ve set up another blog which is for computing stuffs. Moreover, I have my own site as my online résumé and portfolio.

You’re welcome to contact me by using the e-mail address on my profile page.

3 thoughts on “About me

  1. Michael,

    I am Simon.

    I think algorithms are really difficult, do you know any courses that can let me learn it efficiently?

    I have just made a simple trial of quick sort, typed below:

    #include
    #include
    using namespace std;

    void swap( int &a, int &b )
    {
    int temp;
    temp = a;
    a = b;
    b = temp;
    }

    void quickSort( int *data, int left, int right )
    {
    if ( left >= right )
    {
    return;
    }

    int pivot = data[left];
    int i = left + 1;
    int j = right;

    while ( true )
    {
    while ( i pivot )
    {
    break;
    }
    i++;
    }

    while ( j > left )
    {
    if ( data[j] j )
    {
    break;
    }

    swap( data[i], data[j] );
    }

    swap( data[left], data[j] );

    quickSort( data, left, j-1 );
    quickSort( data, j+1, right );
    }

    int main()
    {
    int n;
    cin >> n;

    int data[n];

    srand( time(0) );

    for ( int i=0; i<n; i++ )
    {
    data[i] = rand()%100+1;
    cout << data[i] << '\t';
    }

    cout << endl;

    quickSort( data, 0, n-1 );

    for ( int i=0; i<n; i++ )
    {
    cout << data[i] <<'\t';
    }

    system("PAUSE");
    return 0;
    }

Leave a Reply

Your email address will not be published. Required fields are marked *