I have implemented a theme better suited to your — eclectic — tastes in web design and typography. Click here to switch to it.
You are viewing a theme that can only be appreciated by those holding PhD's in Computer Science. Click here to switch to a more sane visual experience.
Supervisor
About
I am a full-time PhD student in the Department of Computer Science at The University of Western Ontario. I like the Toronto Blue Jays (though it still stings a bit to see Roy Halladay in a Phillies uniform), my dog, programming in Ruby, hacking in Linux, and teaching Computer Science, but not necessarily in that order.
I have about 6 years of industry experience in various technical roles, so I'd like to think I can practice what I preach. My time in industry includes a 16-month internship with IBM Canada as a software developer for a technical marketing team. For those undergrads in second and third year, I strongly recommend you check out the industry internship program. Yes, it delays your degree by a year, but you will learn a lot from the experience, and will be more appealing to employers after you graduate. A number of people have come by to talk to me about it — I encourage you to do the same if you think you might be interested in doing an internship.
I submit to you that no self-respecting programmer should ever sit down to code with his/her toes constrained by socks and/or shoes in a world in which Birkenstocks exist, lest his/her creativity be impeded. While I recognize it as a fashion faux-pas, I am not above the donning of socks and sandals, should the weather be inappropriate for sandals alone. Let me be clear, however — I am not a hippie. My desire to produce wonderfully inspired, toes-liberated code simply exceeds my desire to be stylish.
I also have a penchant for berating students for submitting poorly formatted assignments, and suggest they use my Computer Science Assignment Wizard to format their assignments. :)
You can learn more about me on my LinkedIn profile.
Research
I am currently studying graph algorithms to identify similar nodes in citation graphs produced from citations in scientific literature. You might say I'm doing research on research itself. The goal of the research is to produce a set of algorithms that can identify publications highly relevant to a given publication, reducing the amount of time researchers need to spend on a literature search.
This work also has applications on the World Wide Web and social networks. For instance, a keyword-based search on a search engine like Google will yield us results that Google deems to be related to the terms we have entered. However, what if we are on a particular page, and we want to find pages relevant to the material contained within the page? We could extract certain keywords from the page, and then use a search engine to find other pages with those terms. However, because many authors use different terms to explain the same concepts, this may lead us to exclude many highly relevant results. Instead, a reasonable technique would be to examine the links between web pages, and attempt to discern collections of relevant pages based on the link structure of the Web graph. This is the basic idea behind many link analysis algorithms, such as Jon Kleinberg's HITS.
By the way, for you undergrads out there, graph theory is cool. I didn't realize how cool it was until I took Roberto's Analysis of Algorithms II course. Not only is the material extremely fascinating, but Roberto has a knack for explaining difficult concepts in a way you just understand. I highly recommend it! Sites like Facebook, LinkedIn, Twitter, and many others all heavily rely on graph algorithms to help us connect. So, don't make the mistake of thinking this is simply an area of theoretical interest.
Publications
-
Real-Time
Emotional Adaptation in Automated Composition. Maia
Hoeberechts and Jeffrey Shantz. In
Audio Mostly 2009 Conference
Proceedings, September 2-3 2009, Glasgow, Scotland.
Keywords: automated music composition, affective composition, emotional adaptation.
Teaching
Lecturer
- Winter 2012 Computer Science 2208b - Fundamentals of Computer Organization
- Summer 2010 Computer Science 1027b - Computer Science Fundamentals II
Teaching Assistant
- Fall 2011 Computer Science 2208a - Fundamentals of Computer Organization
- Summer 2011 Computer Science 2211b - Software Tools and Systems Programming
- Winter 2011 Computer Science 2208b - Fundamentals of Computer Organization
- Fall 2010 Computer Science 2210a - Data Structures and Algorithms
- Winter 2010 Computer Science 4411b - Databases II
- Fall 2009 Computer Science 1027a - Computer Science Fundamentals II
- Summer 2006 Computer Science 1026a - Computer Science Fundamentals I
Talks / Presentations
- April 8, 2010 GreenFS. Paper Presentation to the CS 9842b (Advanced Topics in Distributed Systems) class at The University of Western Ontario, London, Ontario.
- October 21, 2009 Make: Beginner to Hardcore in 50 Minutes. Presentation to the CS 3305a (Operating Systems) class at The University of Western Ontario, London, Ontario.
Projects
- November 2010 A Simulation Framework for Data Center Power Management Strategies. Project completed for Computer Science 9842 - Advanced Topics in Distributed Systems.
- June 2010 SPAWC - A Scalable Parallel Web Crawler. Project completed for Computer Science 9868 - Internet Algorithmics.
- December 2009 Visual Cryptography. Project completed for Computer Science 9544a - Algorithms II.
Things I've Made
- GAUL Hacks
A series for Computer Science students at Western, showing cool tips and tricks for working at the UNIX command line on the GAUL network. - Computer Science
Assignment Wizard
Creates a nice document from your assignment source code files, complete with title page, table of contents, line numbers, and syntax highlighting. Also lets you generate your assignment ticket and assignment submission form from the comfort of your own home. - Computer Science
- Undergraduate Tutorials
Various tutorials covering topics including copying files to/from GAUL, connecting to GAUL from home via SSH, submitting assignments from home, working with UNIX, and so on.
Selected Awards
- 2011 UWO Faculty of Science Graduate Teaching Award, $100
- 2011 UWO SOGS Graduate Teaching Award, nominated
- 2010-2013 NSERC Post-Graduate Scholarship (PGS-D), $63,000
- 2010-2011 Ontario Graduate Scholarship (OGS), $15,000 (declined)
- 2010 UWO SOGS Graduate Teaching Award, $500
- 2010 UWO Faculty of Science Graduate Teaching Award, $100
- 2009-2010 NSERC Canada Graduate Scholarship (CGS-M), $17,500
- 2009-2010 Ontario Graduate Scholarship (OGS), $15,000 (declined)
- 2009 UWO Gold Medal, 2009 (highest graduating average in my program)
- 2009 NSERC Undergraduate Student Research Award, $5,600
- 2002 UWO Entrance Award, $1,000
Selected xkcd Favourites
- Regular Expressions
- 90's Flowchart
- Tape Measure
- Creepy
- Admin Mourning
- Dirty Harry
- Retro Virus
- Honor Societies
- Campfire
- Fairy Tales
Other Things I Find Amusing
- Richard Stallman Eats Something From His Foot
Shoes/socks come off at 0:10; meal begins around 1:50; second helping around 2:10 - Cats Try to Understand Treadmill
Treadmill turns on; cats inspect; hilarity ensues
