About Me

James Ma

jama [dot] 22 [at] gmail [dot] com

profilepic

I’m a computer science student studying at the University of Toronto’s St. George Campus.  My area of specialty is in Software Engineering, but I’m really interested in anything that has a CPU in it.  Sometimes, when I’m feeling particularly adventurous, I’ll  pick up a hardware project and hack up something insane.

As a developer, my current platform of choice is Java J2EE.  However, I enjoy the simplicity and agility of Python, the fine-grained control of C and the paradigm shifts found in languages like Scheme and Prolog.  Recently, I’ve been exploring Windows technologies such as C# and WPF.  I’m also familiar with database languages like SQL, PostgreSQL, XPath and XQuery.  While testing, I’ve also been known to fiddle around with automation languages like AutoIt v3 and TestPartner.

More About Me

I was born in Hong Kong, but moved to Canada when I was very young.   I can speak fluent Cantonese and would love to learn more German and French.

Although I’m not a big sports nut (I used to play lots of rugby if that counts), I am an avid jogger.  I love to run outdoors (weather permitting) or on a track, but I hate the treadmill/elliptical.

I’m also a huge theatre geek.  I’ve worked on various shows as an actor, stage hand, stage manager, lighting technician and sound technician; and I absolutely love every aspect of it it.  From time to time I’ll run off to help some friends do some lighting/sound for various university shows.

Traveling is another passion of mine.  I’ve loved to travel since I was little, and I’ve been lucky enough to visit lots of countries in different continents.  Each trip is an eye-opening experience, and I always come back with great memories and wonderful stories.

Why Pi/Pi?

This actually started as an inside joke.

Back in the Fall semester of 2008, Derek and I took the course CSC363 – Computational Complexity and Computability.  At that time, the course was taught by Francois Pitt.  Prof. Pitt loves to give out bonus questions on his midterms; but they’re ridiculously tough.  So if you give out shotgun answers, you’ll usually get nothing.

The course had 3 midterms, and on the 2nd midterm, the bonus question asked for an example of what is not a Computable Number.  In my attempts at giving a shotgun answer, I hastily wrote down “pi/pi”.

A few weeks later we got our midterms back.  The midterm results were mediocre, but I was more interested in the solution to the bonus question.  I look at the sheet and all I see is a giant “?”.

In my defense I wanted to argue that the Turing machine would not possibly know that the two copies of the decimal expansions of Pi would equal 1.  It would try to divide the numbers digit by digit, but it would never end because Pi is irrational.

I asked Derek about what he thought of my solution.  He kept insisting that it was just 1.

At the end of the class, we had a discussion about some of the questions on the midterm.  Somehow, we ended up on the bonus question.  It turns out that no one had really quite figured it out.  A few of the smarter people in the class offered some solutions, none of which were correct.  I tried to be helpful and said “What about Pi over Pi?”  Before I could even finish the last “Pi”, the entire class, in unison instantly replied with

“…but that’s just one!”