|
Why
I want to understand computers from the silicon up to the user interface.
I want to make better and beautiful machines, like starships and samurai, not Buicks and bureaucracies.
I want to make it possible again for two hairy dropouts named "Steve" to homebrew something insanely great in their garage.
More pragmatically put: I want to be a toolsmith for scientists in non-computing disciplines.
Whence
- 1995 - 1999:
Diploma in Computer Engineering Technology, Algonquin College, Ottawa
- 2004 - 2007:
Bachelor of Independent Studies, University of Waterloo
Advisor: Chrysanne DiMarco (UW)
Thesis Supervisors: Greg Steffan (UoT) and Andrew Morton (UW/Guelph)
Thesis:
Second Generation Stack Computer Architecture
- 2007 - 2009:
Master of Applied Science (ECE), University of Toronto
Advisor: Greg Steffan
- 2009 - now:
Philosophić Doctor (ECE), University of Toronto
Advisor: still Greg Steffan
What
- Computer Architecture
- Asynchronous Circuits
- Higher-Order Functions (Runtime Code Generation)
- Shared-Nothing Message-Passing Concurrency (à la Erlang)
Writing
None yet! (Working on it...)
Ways
- ECE1747 - Parallel Programming
- ECE1755 - Parallel Computer Architecture
- CSC2227 - Topics in the Design and Implementation of Operating Systems
- ECE1754 - Parallelizing Compilers
- ECE540 - Optimizing Compilers
- ECE1764 - Algorithms and Data Structures
- ECE1636 - Supervisory Control of Discrete-Event Systems
- CSC2232 - Topics in System Performance and Reliability
Work
- TA: ECE1755 - Parallel Computer Architecture
- TA: ECE540 - Optimizing Compilers
- TA: APS111 - Engineering Strategies and Practice
|