Ming's Workshop: Odds & Ends

This is my stash of various odd & ends. Some of it is interesting, some of it is crap. Some of it is ideas that I thought were good at the time but not anymore. Some of it is throwaway research. Some of it may not even be mine. Perhaps you can find some good morsels here.

A Mathematical Force Model of a Piano Action

One day, when I was young and idealistic, I thought Waterloo co-op work reports were a good way to explore new areas that I was interested in. So, I took my new calculus 1 knowledge, rented a piano key, and spent over 100 hours researching piano actions. Unfortunately, I spent 100 hours, and all I got were three lousy lines on a graph. And the lines were straight too, not funky curvy things. Plus, even if you accept even half of the MAJOR, MAJOR assumptions I had to make in order to get these results, the analysis is probably wrong anyways.

Guide to Designing Tumbling Time Tables

Can you get a 640x400x256 display mode on a regular VGA adapter?

Is realtime concurrent garbage collection possible?

Realtime Rasterization of Fisheye Views

For my graphics project in the fall of 1999, I explored the rasterization of fisheye views. This would let people have 360 field of views on a single screen, which would be really great for games. I spent many hours deriving all sorts of equations for creating a view like this, and it ended up that the simplest solution (suggested to me by my graphics prof) was the best one. I've updated it a bit since then, but the only relevant stuff is at the end where I discuss hemicube deformation--the only practical technique. Overall, the paper generally isn't well-written, so it might be hard to follow.

An Overview of XSL

This is a presentation I gave on XSL for my text databases course in 2001. It gives my impressions about the state of XSL at that time.

Human-Readable Data Formats

In the User Interfaces course I took in 2001, I had to take the material from class and apply them to a different UI topic. I decided to look at human-readable data formats. I presented my results in the form of a "picture book." It's sort of lame, and it might not make too much sense if you haven't taken the course, but it's hard to find information on this topic elsewhere, so you might find it useful.


This is what I've been working on for the past little while

Mousing Around--mouse finger puppets

Every once in a while, I go on an arts & crafts binge. One of my creations is a bunch of silly mouse finger puppets.

Tilings of Arbitrary Triangle Meshes

Yeah, I don't even know what I was thinking here. I must have spent tens of hours sitting around drawing little triangles trying to figure out how this stuff worked.


For a course project, I volunteered to make a X3D model viewer to a mobile device. Instead of porting an existing implementation, I decided to write one from scratch. X3Dl is the result.

Pictures of EPFL

A friend of mine was demanding that I take some pictures of EPFL, so here are some pictures I took documenting my walk to my office.

Secure Position Vefirication in Vehicular Networks Using Obfuscation

I took a course on Ad Hoc Networks at EPFL in 2004/2005, and it felt good since I was able to reexplore some of the topics I had looked at two years earlier as a Masters student at Waterloo. I'm not really all that knowledgeable about security, but I was able to tweak some existing research for my course project. As part of the course, I also had to give a little presentation (with notes) about my course project. I would have put it up earlier, but my project referenced unpublished research from researchers at EPFL, but it's been a year now, so I don't think anyone would mind.

Automatic Deployment Set Generation

For my first year doctoral school project at EPFL, my supervisor encouraged me to take a look at the growing systems field of configuration management. I tried tinkering around a bit with a toy problem, and the results were somewhat underwhelming, so I decided to go look elsewhere for inspiration. Basically, I was looking for a way to automatically replicate a machine "configuration" from a developer's box to a server box. I also had to give a presentation (notes) on my research.

Steamed Cheesecake Recipe

When I was in Switzerland, I really wanted to make some cheesecake, but I didn't have access to an oven, so I tried steaming some cheesecakes, and it worked reasonably well (for a guy who doesn't have an oven and really wants cheesecake).