RMS / About
Hi, you have somehow ended up at my personal / professional website. I am Ryan (Michael) Schmidt, currently a PhD student in the DGP Lab at the University of Toronto. If you have ended up here by mistake (which is almost certain), the "back" button is located near the top-left of your web browser.
If you're still here, clearly you (inexplicably) want to know something about me. So:
I'm originally from Medicine Hat, a small (well, 60,000 people) town in Southeastern Alberta, Canada. I went to Mother Teresa elementary school, St. Mary's junior high, and graduated from McCoy High School in 1998. After that I moved to Calgary and attended the University of Calgary, doing a BSc in Computer Science (and a minor in Pure Math), which I finished in 2002. During summers, instead of going on trips to far-away lands like the smarter kids, I worked for professors - first for Frank Maurer on the MILOS project, and then for Brian Wyvill on his BlobTree software.
After finishing by BSc, I started a Master's degree with Brian Wyvill in the Graphics Jungle. But, then I spent a summer working at the Banff New Media Institute, where I met an Awesome Girl. In January of 2003 I quit the Master's and followed her back to Montreal. I spent a few months searching for a job (which seemed to involve a lot of writing on this website). Then, I was hired to work as a Software Developer on 2D and 3D graphics engines at a company called Cimmetry. I worked there for about a year, until I discovered that I had a burning desire to go back to school. So the Awesome Girl and I moved back to Calgary, where I finished the coursework for my Master's, and did some consulting for the oil and gas industry. Oh, and me and Awesome Girl got married (in Nelson, BC). In 2005 we moved back to Montreal, and I spent the next year writing my Master's thesis in our tiny apartment on Maisonneuve.
In 2006 I moved to Toronto and did an internship at Autodesk Toronto (formerly Alias) in the research group, although technically I was working for the Carleton Immersive Media Studio (CIMS). Anyway, I got to work on some cool stuff there. Then in September 2006 I started a PhD at the University of Toronto, working with Karan Singh and Ravin Balakrishnan in the DGP lab. Right now, I'm also doing a bit of consulting for TellMeAbout.
(I do have other interests, hobbies, etc - but you'll have to ask in person...)
|Professional / Academic History|
I have done a lot of different work (mainly with computers). Before I went to university, I was very much into Linux, UNIX systems programming, and network security. I did a bit of UNIX system administration (mostly webservers).
From 2001 to 2003 I worked for Dr. Brian Wyvill in the Graphics Jungle lab at the University of Calgary. I wrote a ray-tracing system for his "BlobTree" hierarchical 3D implicit-surface modeling package, and then developed and maintained the software, with Callum Galbraith. During this time I was also an undergraduate in Computer Science, some of my more major course projects included a radiosity rendering engine and a C compiler. For my undergraduate thesis, I started the SpinalTap project, which had lofty goals but in the end was basically a high-speed real-time kernel for simulating spinal drilling, which was meant to be used in a spinal drilling simulator for training surgeons (this simulator has yet to be completed).
In the summer of 2003 I worked at the Banff New Media Institute as a "technical workstudy", basically doing A/V for Sara Diamond's Art/Science conference series. I also did extensive background research on Navier-Stokes fluid simulation (which was meant to be my Master's work, but I ended up going in a different direction).
Later in 2003 I relocated to Montreal, where I worked for Cimmetry Systems, as a Software Developer. I worked on the core 2D and 3D rendering engines for their main software, AutoVue. I had a dual role, part of my time was spent on maintenance and bug-fixing of the 500,000-line C/C++ rendering engine, and the rest on researching advanced computer graphics techniques and implementing them in AutoVue. On the maintenance side, in my first week I closed several critical bugs that had been open for years, and made optimizations to the rendering engine that resulted in multiple order-of-magnitude framerate speed-ups on the first version that shipped after I started there. My other major project was implementing interference / collision checking, which is currently one of the major "bullet-points" in the "advanced" versions of AutoVue. I left Cimmetry in 2004.
I did a Master's degree in computer graphics at the University of Calgary from 2004-2006, supervised by Dr. Brian Wyvill. My main work was on real-time hierarchical implicit surface modeling interfaces. I developed several novel techniques, including Hierarchical Spatial Caching, which provides real-time rendering of hierarchical implicit models. I used this work to build an interactive sketch-based modeling system called ShapeShop, which is freely-available on the internet. After that, I worked with Cindy Grimm at Washington University in St. Louis to develop the Discrete Exponential Map algorithm for computing local surface parameterizations, which was published at SIGGRAPH 2006.
While I was doing my Master's research, I was also a Research Assistant for Dr. Sheelagh Carpendale in the iLab and InnoVis research groups. There, my main project was to design a series of multi-projector display walls, including the MAD Boxes Plug-And-Play Display Wall , the 4-Up Wall, and a table for a MERL DiamondTouch interactive tabletop. I was involved in every step, from the initial conception to the final assembly. I did most of the project planning and purchasing, dealing with the good people at Apex AVSI, Edmund Optics, General Electric Polymershapes Division, Matrox, and 8020. I designed the chassis for the 4-Up Wall and parts of the MAD Boxes, and supervised their assembly. Then, I made them interactive, writing software for webcam-based tracking of laser pointers and colored lights (similar systems are popping up everwhere these days).
While I was doing my MSc and being a research assistant, I also did some consulting for Global Flow Incorporated and Spartan Controls. I developed a multithreaded, asynchronous serial port library in C# for the PocketPC, and then used it to build an interface for field workers to control some oil-and-gas hardware. The client needed this software to be fully operational as soon as possible, and despite other consultants quoting the project as being a 2-month job, it was completed and tested in 10 days.
In 2006 I did an internship funded by Michael Jemtrud's Immersive Media Studio at Carleton University in Ottawa (CIMS), but the internship was located at the Toronto office of Autodesk, which was formerly known as Alias|Wavefront. I worked with the jokers in the research group (Gordon Kurtenbach, George Fitzmaurice, Azam Khan, and Jos Stam) on some advanced 3D user-interface stuff, and the next-generation Maya cloth simulator.
Later in 2006, I started a PhD in the Dynamic Graphics Project (DGP) at the University of Toronto, working with Karan Singh and Ravin Balakrishnan. Right now, my work is focusing on interactive hierarchical 3D modeling and pen-based interaction. I recently published some work on non-photorealistic rendering, which will be presented at NPAR 2007. However, I've also been dabbling in machine learning and computational structural biology. I am also still hacking away at ShapeShop, with version 3 due to come out by the end of 2007 (fingers crossed...)
On the side, I'm also doing some consulting for consulting for TellMeAbout, developing ASP.NET web applications, with a bit of AJAX thrown in there too. I'm also dabbling a bit with SilverLight, because it looks interesting...
You clearly already know how to find my website.
A PDF is available, but it is a few years out of date.
Anything interesting to say? mail firstname.lastname@example.org.