Stephen Ingram
PhD Student, Computer Science
Advisor: Tamara Munzner
University of British Columbia

Personal blog


Papers/Projects (Chronological)
Multidimensional Scaling on the GPU
Glimmer is the subject of my Master's thesis. It is a fast GPU algorithm for embedding points in a Euclidean space given a set of distances either computed on the fly from coordinates or from a distance matrix. The journal article compares its performance with a variety of other algorithms in terms of speed and quality.
Stochastic Optimization
In this project I traced the "lineage" of a stochastic optimization algorithm called Stochastic Meta Descent. Upon learning the connection with Kalman Filtering, I reformulate the derivation using the Information Filter and further derive an entirely new form of stochastic gradient descent.
Minimum Degree Graph Reordering
Here I investigate the minimum degree matrix reordering algorithm and its variants to create an intuitive tutorial. I will soon post the tutorial and graph visualization code.
Nonnegative Matrix Factorization
This is a reframing of Nonnegative Matrix Factorization (NMF) in an optimization context. Beyond understanding the problem, I derive an algorithm for performing NMF that is the fastest I am aware of.
Small World Graphs
I implement a small world graph visualization in the prefuse toolkit. I recommend playing with it.
Metacombine
This was the digital libraries project I worked on for the Emory Library (a very nice place to work thanks to the terrific people there).
Geometry Processing
A very cool research project where we extend the example-based texture synthesis strategies to 3-D geometry. It turned out to be more challenging (in many ways) than I had assumed. This is generally the case with seemingly obvious things that haven't been done yet.
Texture Synthesis
Using non-textures when performing texture synthesis usually leads to an image slurry. However using famous pictures as both sources and guides yields a striking "collage" effect.
Growbot
For my video games class we built this game and got a free trip to GDC2004. It was a memorable trip to say the least.
TeamView
My senior project involved coding up the prototype for this software which allows biotracking researchers to label their data. The link goes to the masterfully constructed recent version with which I had nothing to do.
Hubbub
This was my first research project. You talk into a mic and your words are projected on a screen. I've been hooked since.

Friends/Collaborators (with webpages)
Interests
  • My Family
  • Computer Graphics
    • Information Visualization
    • Texture Synthesis
    • Image Synthesis
    • etc.
  • General Purpose GPU programming
  • Dimensionality Reduction
  • Machine Learning
  • Mathematics
  • Drawing
  • "Complex Systems"
  • Video Games
  • Computer Audio
  • Wikipedia
Stuff/Links (TODO)
Resume/CV (TODO)