Will's Home Page

Hi, welcome to my home page.

Click for Ottawa, Ontario Forecast

I'm a computer programmer for Asian Languages Software Inc specializing in Chinese/Japanese/Korean language software in C/C++/Java. I've contributed to XinTianMa, RisingSun, KEY (), MacKEY (Input Methods), MacKEY CJK, H2P (Hanzi to Pinyin), KEYTip and CJK Server (Java version of KEY) software packages (some of which you can download and test) plus I've written numerous tools for analysing and processing CJK data. I also do CJK internationalization / localization of other people's products.

Update Mar. 3, 2002: KEY version 4.0 is out the door. I have been working long and hard since the beginning of December 2001 and have added a number of features that make KEY a great teaching/learning tool for Chinese, Japanese and Korean.

Update May 25, 2002: I just got a new iBook to complete the MacKEY project. We are beta testing version 3.9 right now and will hopefully have MacKEY 4.0 released at the end of June.

Update July 9, 2002: MacKEY CJK 4.0 is out the door.

Update Dec. 9, 2002: KEY 4.1 is done! We added some useful features to help teachers make CJK teaching materials.

Update Jan. 2, 2003: MacKEY 4.1-beta is ready for downloading. Also, KEY 4.1 (and MacKEY) have been updated to include an undo / redo feature.

Update Aug. 1, 2003: KEY 4.1 has been updated to include many new terms in the Chinese-English dictionary. Also, some improvements to the code have been made and a few more features have been added. KEYTip 4.1 has been improved as well.

Update Oct. 1, 2004: Moved.

Update Aug. 16, 2005: Traded in my broken down iBook for a new Mac mini. Very cool.

Update Feb. 27, 2006: KEY 4.1, KEYTip 4.1 and Hanzi to Pinyin 4.1 have been updated again to include more terms and fix a few minor problems.

Update May 8, 2008: KEY / MacKEY 5.1 is out the door. We are now using Qt 4 from Trolltech.

Update Mar. 2, 2013: KEY / MacKEY 5.3 has been out for a while now and the latest feature we are working on is the Text Level Analysis Module and supporting the Mojikyo fonts and Unicode 6.2 standard. Interesting side note, I had to write an OCR module to create the Mojikyo to Unicode cross reference which was a lot of fun.

Version: 3.12
GCS d- s:+>: a C++++$ UL/C/B+ P+ L++>$ E--- W++ N+ o?
K+ w---$ O? M++$ V PS+ PE Y+ PGP+ t+++ 5+ X++ R-- tv+ b+
DI++++ D+ G e>* h--- r+++ y?

Myers-Briggs Test Results

Introverted (I) 80.65% Extroverted (E) 19.35%
Intuitive (N) 52.08% Sensing (S) 47.92%
Thinking (T) 61.11% Feeling (F) 38.89%
Perceiving (P) 54.84% Judging (J) 45.16%

Your type is: INTP

INTP - "Architect". Greatest precision in thought and language. Can readily discern contradictions and inconsistencies. The world exists primarily to be understood. 3.3% of total population.

I've gone from an INTJ to and INTP. Looks like I'm mellowing in my old age.

Check this out:

What I work on: http://www.cjkware.com/ and The Nagoya Project

What I do in my spare time: http://www.cjkware.com/chess/

Pictures of my computers

And these are some other pictures I took. BTW, Ottawa is the "Tulip Capital" of Canada, so, come visit and take lots of your own pictures.

Here's a little true story I wrote that you might find amusing.

And, here's a little creative writing I did a couple of years ago here and here.

I also make paper soccer balls (aka models of Bucky Balls, Buckyballs or fullerines).
Technically speaking, it is a trunctated icosahedron with the pentagons removed.
Make your own with this template or this program.

I love this song.


Privacy: http://www.cjkware.com/wamckee/pgp/

Email: wamckee@msn.com <William A. McKee>

Or write me a postcard:

William A. McKee
P.O. Box 535, Station B
Ottawa, Ontario, Canada
K1P 5P6


I changed the home page in my browser from /. to Everything2.com and then from E2 to google.ca because E2 was getting way too slow to load. E2 is fast again since they changed servers, however, I've stopped hanging around E2 because they (E2 administrators) kinda sucked the fun out of it.

You can (still) check out some of my writing at E2 if you are so inclined.

I bought a patch cord (because I was too lazy to make one myself) to connect my radio to my computer so I can record tunes directly to my hard drive and downloaded an encoder (BladeEnc) to roll my own MP3s. Recently, I've been using L.A.M.E. instead because it's better.

I bought a ATI TV WONDER VE tuner for one of my computers so now we have a second TV. Plus, I can now do video capture from my digital camera and make my own videos. The ATI card expired. So, I bought a different type. Some generic brand that was on the discount table for $29.95. It took a little while to get it configured (stupid DScaler software) but now it works fine, just fine. I got a new ATI WONDER card. This time with a remote control. All for about $100. This is much better. ATI sucks. I replaced it with a Hauppauge WinTV PVR USB2. With the change to Digital TV, I purchased EyeTV for the Mac just to check it out. Very cool but we can only get about 6 channels and they are all Canadian. I'm sure with a better antenna I could get the American shows too but that seems like a lot of work just to sit around and watch TV.


Here's some sample C++ code to demonstrate Huffman encoding (updated June 27, 2003) and prime numbers and AVL trees.

Also take a look at Brad Appleton's AVL Tree page.

I wrote some freeware called McDAG (source code included) that does some pretty good compression. Read about it here.

For more on data compression, read Mark Nelson's website . Update: Mark has turned over DataCompression.info to Visicron Corp.

I spent some time looking into the computation of pi. Please download pi.zip (updated Feb. 4, 2001) and take a look if you're interested. I say the final word on pi is the AGM but what do I know.

I have written a freeware Chinese Lunar Calendar program that converts from the Georgian to Lunar calendar and back. (Source code included.) You might want to download a Chinese font also. (Updated to version 1.0.2 on January 20, 2003)

My nephew wrote a Java clock. Check it out here (or here if you have the Sun Java Runtime Environment 1.3.1_02 installed).

I don't give away my spare CPU cycles anymore because I noticed that turning off my computers when I'm not using them saves electricity and that's gotta help the planet right?

I have joined Team Canada in the distributed.net search for OGR-25. For more information see www.distributed.net. - I dropped out of dnet because I found that they went stale. If they ever do something new and innovative, I will return.

I am currently donating my spare CPU cycles and bandwidth to grub.org. It's an interesting project with much potential. You can read more on what I have to say about it here. I dropped out of grub.org because they've been bought out by looksmart and they hardly need my support now.

An honourable mention goes to Simon Tatham for his program "PuTTY: A Free Win32 Telnet/SSH Client". A very useful thing to have if you're doing work on a Linux box or Mac box from a Windows box. However, I now use CYGWIN since it has so much more...

"... I want this to be a place where we can all joke with each other, laugh together, argue and debate, strongly disagree...and still go out for a virtual beer afterwards." - Wil Wheaton at http://www.wilwheaton.net

Hopefully, in the near future, we will have a Chinese voice dictation (speech recognition) front end for KEY. And, I'd really like to add a Chinese OCR (optical character recognition) module.


Have fun,


Last updated March 2, 2013.