site updates

Herein lies the collection of odds and ends that I call my home. Things that are worth mentioning, but don't merit their own section, will be found here. Of course, now that the reorganizing is happening, some things do have their own sections now and may have moved in acquiring them.

The fun with style sheets is still happening. Lately I've decided to redo my pages using css - because it's so nice. But on the other hand, tables are easier to do basic layout with. I also don't know my css as well as I would like. I suppose that could be why I'm having so much trouble.

Homepages may not be the best places to experiment with technology, but that's the way it is here. And it takes care of the long-awaited reorganization. One day I hope to play with transparency effects, but my design skills, being what they are, will probably produce something garish. There is, however, pseudo-transparency with the 'bamboo' style sheet. Style sheets are now accessible by IE too using the control at the bottom of this page.

You won't see much without a css-capable browser (IE 4+, Netscape 6+, Mozilla), but I think most people shouldn't have problems - at least that's what I can conclude from my server logs.

But even CSS capable browsers aren't as capable as they claim to be because they're still maturing. It doesn't help that the CSS spec is vague in some places, and different browsers choose to interpret the spec differently. The hard part is to make the page look at least similar between IE and Mozilla.

IE also has this rendering bug where if the page is too narrow, it won't show parts of the page even though it should. The worst part is that is that the problem doesn't even show up on all window sizes - just whenever IE decides it doesn't want to render. Flaky.

The trouble is, I don't think I have much to say on non-specific topics, so the main index file will be pretty sparse.

(semi) regular

About me

I don't like fish. There is hope that those things will die off due to over fishing someday. I hope that day isn't too far away, but then again, that's probably not going to happen.

I think the weather channel is good tv, but environment canada is a good substitute.

If you want to email me, you'll have to track down my email address because I'm not about to make it easier for the spambots.

My life: as current as it is

Put up code for the imgsum project: summarize an image by attributes such as the sum of the values of pixels, sum of differences, and sum of the square of differences.

Got myself a domain I plan to do a bit with it and have put up an elapsed time utility at Eventually, I'll put things up at I may also put content up at for expired .ca domains.

Liked the IPAQ 'bubbles' game, but couldn't find one anywhere else, so I decided to write my own.

Started memorizing the Bible again, but didn't have people to recite to. I started reciting to the computer.

Thesis defense date postponed. I should be done writing in January.

So much stuff that I'm still working on, but don't have time to complete. Add on the following: nothing is forever.

Started the AWANA Grand Prix scoring automation project. Schematics are going up first, then pictures as they come in. System test and integration soon.

Started the Fraser Lands floor plan project. So far, there are image maps and floor plans. More to come. Preliminary integration into the MRBS project is done. Starting Knight St. floor plan project.

The desktop sun tracker isn't dead, but it's in deep hibernation. My server logs say that people are using what I have so far. I really want to do more with it, but I have to finish my thesis first.


This may be surprising to people who don't go to my church, but VCAC Knight Street and Fraser Lands are two campuses of the same church.

Currently, I'm involved with the Friday Knightz. Abby was nice enough to take care of the current website, and as you can see, she's much better at web design than me. I do, however, keep some miscellaneous materials related to Friday Knightz around.

Miscellaneous Technicalities

For XP SP2: generate a registry entry to replace the default volume curve - works for the Thinkpad T61P.

I've just noticed that the Thunderbird email client doesn't need to show all the special folders (e.g. sent, drafts, templates) in an account.  Google couldn't help me find out how to get rid of them, so here's what I found out (without google's help).  Here's my account of how to remove Thunderbird's special folders.

Something fun: generate a gradient of colors.

My server's network interface dies unexpectedly sometimes. I wrote this script to go in a cronjob to reboot the computer if it can't find the gateway router. I suppose I could have written a daemon, but I was lazy.

Playing with phpBB2. It doesn't have an admin function to add new users, so I wrote one.

libgd is easier to use under linux than windows. The trick to it under MSVC is to make sure that code generation is set to multithreaded dll - NOT debug multithreaded dll. Here's my first program using libgd. Related to that, Iinux needs libtool to generate non-dynamic executables.

I finally figured out rssh and chroot. It wasn't that hard, but the configuration file threw me off for a long time. It makes sense now that I know what it's doing. Lazy that I am, I didn't even bother to look at the code.

So here I was playing with slave dns servers. Little did I realize that I would soon be giving out the internal dns version because the slave server was internal. Temporarily fixed that with the master excluding the slave from its internal view, but I think rsync might be a better solution.

Finally decided that rsync'ing web directory was easier to do. Using it for a while now, and it's really nice not having to even select the files that I've changed.

Here's the spider code that indexes all the pages reachable from this index. It's the standard queuing spider design, but it also outputs the md5 digest of each page it crawls so that another script can use it for storing page change history. The other major difference is that it keeps to one site only - and only to those files reachable at, or below the directory specified.

This is a quick and dirty perl script I use to unpunctuate text files. It's probably not the nicest way of doing things, but it works for me. You may ask why I would want to unpunctuate text files. I'd ask you the same question in return: haven't you ever had to do that? I will concede that it's much easier to take punctuation out than to put it back in.

Lately I've been doing more php stuff, but perl is still nice. I do C/C++ and java in real life, but when programming for microcontrollers, sometimes you need to reach into the assembly. GCC's inline assembly support is adequate for my needs.

Word processing is interesting but this is probably not the word processing that you're used to. My experimental results are that words are exponentially distributed, but you probably already knew that.

For the electronics on the side, I keep a selection of datasheets locally mirrored.

geek code

And what geek doesn't have his own geek code block? There's a decoder out there for the lazy.

Version: 3.12
GCS d-(pu) s: a-> C++$>+++ UL$ P++ L++>+++ E@> W++ N+@ w++(+++) O M-- PS>- PE PGP---() t+>++ !5 X(-) tv--(+) b+(++)>+++ DI+(++) D-- G>+ e++>+++ h*>++ !r?>+++ y?


linux counter counted number 339549

If you haven't already figured it out, this is my server. I run linux, or more specifically, the debian distribution. I'm counted by linux counter: that's a link to it in the linux penguin picture.

Not so new stuff

Re-memorized the books of the Bible.

I got myself a case of Bell's Palsy (temporary paralysis of half the face). Here's my contribution back to the web.

I thought that the shadows the bamboo plant made on the wall looked pretty neat. I took pictures and processed them through Gaussian blur. They make a good neutral background.

My high scores to the penguin games.

From a time long, long ago

I used to play with pov, a ray tracer. I've found the original source files to the plane and helicopter, and I've put them here.

I wasn't always up at SFU: there was a time when I did my undergrad at UBC (well, maybe not that long ago). One day, my friend Matt snuck up on me with a camera. These are some of the last of the evidence that tie me to UBC.

I also used to do the kidz camp tours in the summer. This is what's left of the year I decided to archive some of it on the web. Keep in mind that this was from a time long, long ago.

And Jen, if you ever run across this page, I've kept up this list of irrational numbers for you. How many do you still remember?