From CDOT Wiki
Jump to: navigation, search

About Me

My name is Dixon Lau, I am a software developer, a piano teacher, and a gamer. Below is some extra information about my "daily life". No, I'm crazy enough to include a whole bio about myself when making this wiki page, this is merely a copy pasta job from my CPP700's "professional" website.

Software Developer

As a software developer, I am known to many people as the "person to go to for testing". During my four month co-op at RBC, I was given the nickname of "Program Murderer" simply because I was able to find a massive amount of errors in one program. Because of this a majority of my time at RBC was spent testing various applications and noticing errors outside of the normal testing phase. I will not disclose the number of errors, nor what program I found the errors in due to security reasons. In other fields of software development, I have worked on the Kanji Learner, a solo project developed for apple touch devices; The Metropass POS System, worked in a team of two; and the 3D Asteroids Game, a program written in DirectX9 which included my first research project of collision detection.

Piano Teacher

As a piano teacher, I teach children the basics of playing piano in an unorthodox way compared to most piano teachers. I believe that children like to play songs they like and want to play, and so my method of teaching is to strictly teach children techniques of piano playing and teaching the children why they should learn these techniques. Many believe that children are extremely curious, asking their parents "Why?" or "What's this?". Many teachers don't like these questions, however because I went through a similar experience when I was a child, I welcome these questions and clearly explain the reasons behind why children are learning this. Of course, I'm also a Pianist. I play piano for fun. I wouldn't be a good teacher if I didn't follow my own guidelines. I've played piano for nearly 17 years now, and have been going to lessons for about 11 years. I've achieved the Grade 9 Royal Conservatory of Music Certificate, and I play piano at a Grade 10 RCM level. Some of the songs I play may be found on YouTube here.


I included gaming in the about me section because it is strictly one of my hobbies and I do believe games improve the sharpness of the mind and improves dedication to a company as a skill. Games nowadays involve a large amount of brain power, quick thinking skills, quick reflexes, and dedication. Each of these involvements that can come from games are useful skills in the workplace. That being said, games do have their own drawback. Many gamers become what is known as a "hardcore gamer", gamers who don't do anything except for playing games. These types generally play games that do not require all of the skills that I mentioned above. The games I play do, and the games I do play can be found in the hobbies section.

My Future

What do I plan to be? In five years I plan to do exactly what I'm doing now. Develop software, continue teaching piano and continue playing mind boggling games. Many of my friends and co-workers tell me that I have a very unique skill set, and that I am not "just another programmer " or "just another gamer". While my skills will increase in each of these fields in those five years, I very much enjoy where I'm headed, and where I am now.


Kanji Learner (2011)

Developed alongside our final assignment for the course DPS913/APD601, also known as Apple Development or Apple Programming, the Kanji learner allows users studying for the Japanese Language Proficiency Tests to learn the required Kanji characters for the five different levels of the test.

The Kanji learner is an Apple iOS program that currently works on the iOS 4.3 and iOS 5 platform and simulates memorization by allowing the user to trace his or her finger on the device to stroke out the Kanji in his or her own way. By writing and/or tracing the Kanji symbol, this promotes memorization towards the user.

Drawing with the finger is an old used method for older Chinese people to remember, or to signify, what type of character the person is dipicting. Since the Chinese language has multiple ways of emphasis that all have different meanings. For example "sea", can be interpreted nine different ways, and all these different ways have their own Chinese Character. Kanji in turn, was created from the Chinese written language to promote simplicity or for foreign words being brought into the Japanese Language. While they all have the same general meaning, some Kanji has more then one meaning and more then one way to say the Kanji character, much like Chinese is split into multiple languages such as Cantonese and Mandarin.

This application is currently still in development.

Reviews of this application so far: "An ideal app for an iOS device. One of my favourite apps this semester." Peter McIntyre, professor of DPS913/APD601, upon submission of semester project.

Metropass POS System (2011)

The Metropass POS System was designed to replace Seneca's current Metropass Sales System because of the new TTC Metropasses that were split to include Post-Secondary Student Passes. This program was written in Java with Web Service capabilities using JavaScript Web Services (JSWS) and WSDLs.

The program had the following parts:

  • Included a back end program which would run on a host machine and ultimately become the database foundation of the entire system.
  • Included the web service itself, also located on the host machine, which carried out connections and requests.
  • Included a client, which was to be released to all client machines, that contained a UI for the users to input sales, login, manage metropasses and users, and logout. These clients connected to the host machine.
  • Had DES Encryption, to promote security methods to disallow hackers from stealing data.

This project never made it to the implementation phase because of various bugs and issues regarding the implementation of the program.

3D Asteroids (2009)

Written and developed for the GAM666/670 courses, or the DPS901/903 courses for BSD, the 3D Asteroids game is a first person "no move" shooter that had "asteroids" spawning away from the player and eventually colliding with the player. The player would gain points from shooting down the asteroids and the player would lose points if an asteroid collided with the player.

The player was allows to "warp" from one place to another, although there were only two places to warp to and from. The objective of the game was to shoot down as many asteroids and pass the level, the next level would introduce faster asteroids to shoot down.

Games I Play


Created solely by one person, and having a fan base of millions, Touhou is a standard SHMUP game (Shoot-em Up) that I enjoy in short bursts and casual playing. There are currently 13 official Touhou games to date, and at least another dozen spin off games that were created from these 13.

The bane of my reflexes comes from these games, as well as my quick gathering of information as quick thinking. Some gamers believe that these types of games is about memorizing exactly where to go at what time. However, even memorization takes it's toll on the brain power. To the right is my play through of one of these games, imagine the brain power it takes to be able to go through a 27 minutes of pure reflexes and thinking. A general breakdown of the game...

  • You start with two lives, which one extra life every once in a while.
  • You die in one hit, if the hit collides with the white circle you see on the sprite when I'm in "focus mode"
  • All of the moving graphics on the screen will kill you, in one shot.
  • Video to the right...
cell cell