|
|
I (successfully) defended my dissertation on Dec 10, 2007 at the University of Toronto. The degree was conferred in June 2008.
If you are looking for one of the publications I have collaborated on, please see my pubs page.
For those looking for a brief, business-style, description of positions I have held, please see my resume (or keep reading).
For those interested in a full academic-style CV, please see: zaleski-cv.pdf. (I've had to password protect this to keep the robots out. Contact me for access.)
Up to about 2000, I was one of the partners of Mountain Lake Software Corporation. (An independent URL for mtnlake.com no longer exists.) I was involved in planning and executing several interesting software projects since going into business with Ken Rother and Bill Tapscott in early 1994.
Prior to co-founding Mountain Lake, I participated in the development of Alias StudioPaint, a C++ image processing and conceptual design system for SGI computers. The GUI of the new product was built on top of Interviews and the image processing subsystem used SGI's ImageVision framework.
I spent five years at IBM in the compiler organization, initially developing the register allocator for TOBEY, the optimizer behind IBM's family of RS/6000 AIX compilers. (C, FORTRAN, PASCAL). Later, I used my UNIX skills to assist in the bringup of AIX 3.1. (serving as team leader for TOBEY's third release.) The optimizer was very successful. (See Steven S Muchnick, Advanced Compiler Design and Construction, Morgan Kaufman, 1997, Chapter 21.)
Earlier, I wrote fixed-price contract software for NASA Ames Research station. I consulted at SoftQuad, a Toronto desktop publishing company, where I wrote early versions of the automatic hyphenator and PostScript device drivers for the sqtroff product.
Neville Moray, my MASc supervisor, realized the importance of managing the user's mental model of his or her software environment. Later experience at Alias underscored the value of carefully designing the mental model you want the user to have as well as making sure that application software carefully and consistently maintains it. That’s the “soft” side of my interests.
Several years in the optimizing compiler business helped develop an appreciation for the intimate relationship between CPU architecture and compilation in the pursuit of good performance. I was lucky to participate in the evolution of super scalar machines and compilers for them.
Modern languages are very dynamic. For various pragmatic reasons the initial implementation of almost every dynamic new language should be an interpreter. These are simple and easy to modify but perform poorly. Current method-based approaches to Just In Time compilation perform very well but are challenging to implement. Furthermore, today JIT compilers must duplicate much of the functionality already implemented by an interpreter. This makes extending an interpreter with a JIT a costly and time consuming process.
For this reason, supervised by Professor Angela Demke Brown, I have focused my attention on how an interpreter can be gradually extended with a JIT compiler. We identify and compile hot, interprocedural paths, or traces, instead of methods and describe a novel architecture for a high level language virtual machine. For more on this, see my dissertation or pubs .
Obviously there is lots of territory between my “hard” and “soft” sides. I do not believe I could possibly have found a research topic that encompasses both.
Most of the 1990's were spent in various leadership roles, starting from technical team leadership and culminating with client relationship and operational management of quite large client-facing projects.
I'm a little uncomfortable praising my own management and leadership abilities on a public web page, so I will not. I am confident that my references, when consulted, will vouch for my communication and leadership skills.
I think that defining complete application development projects, especially in the early stages, is probably my principal technical strength. Object oriented application architecture was my main technical contribution during the 1990's. Retrospectively I can't say that the results have been as conceptually clean as I would have liked but they have resulted in real products that have been bought and used by real people. I am interested in, and have done a fair bit of, GUI development but (probably like so many others) really have trouble feeling like an expert in any particular development environment on any particular platform.
Mathew received a BASc from University of Toronto , Engineering Science (1983) and a MASc (specializing in Human Factors Engineering) from University of Toronto, Department of Industrial Engineering (1985).
I try my best to be a Renaissance man, though when it gets to be too hard work I sometimes wind up being merely eccentric. Main city-side leisure activities are chasing kids around parks. Main countryside activities are chasing kids around forests. Some amount of windsurfing and backcountry skiing gets done in-between. Am quite keen on telemarking down western powder slopes. Hate traffic jams hence commute by bicycle when possible. Don't play computer games (except for HTTP, etc). Happily married for 25 years. May 1996 introduced Samuel Stephen to planet earth. Samuel is, of course, most adorable child in universe. March 1998 brings us Jacob Mark also. Sam now tied for number one. Drive, when necessary, a rather old green Volvo wagon. Try to do some volunteer work unrelated to software industry.
|
|