Research Interests: beware this gets technical > 
The are of mathematics most near and dear to me is mathematical logic. In particular I am drawn to what is called universal algebra, which, broadly speaking is the study of sets and operations on those sets. Operations are just functions which take in one or more inputs from the set and produce an output which is in the same set. For instance, the real numbers is a set and addition is a binary operation on the set of real numbers.
Once we have these operations we can think about what rules they obey. For instance when we do addition the order doesn't matter. We could write this rule (or identity) mathematically as x+y = y+x. Multiplication satisfies the same kind of identity. x*y = y*x. In general we would call an identity like this the commutative law. Of coure not all operations are commutative. When we do subtraction the order is very important.
Sometimes these identities involve more than one operation take for instance x*(y+z) = x*y +x*z. What other identities can you think of?
I like to consider collections of operations on the set {0,1} (I like small sets; this one is just big enough to be interesting but not so big as to be confusing) which are closed under composition and which contain the projection maps  silly functions which just return one of the inputs. Basically this means that if I take operations from my collection and recombine them I will get another function in my collection. Such collections are called clones  this has nothing to do with biology, maybe it's just a cool name. For example the collection of all polynomial functions is a clone.
Once I have clones I like to think about what identities can be satisfied by operations in my clones. I am particularly interested in finding small sets of identities which can be satisfied by one clone but not by another. This gives us a way of separating clones in some sense. Currently I am trying to figure out preciesely which clones can and cannot be separated in this manner. At present I have a partial solution, as for my Master's degree I separated a special class of clones on the set {0,1} called the idempotent clones. (i.e. those clones whose operations satisfy an identity of the form f(x,x,...,x) = x.
A solution to this problem is interesting to me as its resolution will give a description of the primitive positive with constants interpretability quasiorder on the class of two element relational structures. The proper description of these terms is way too technical to include here, but among other things, this quasiorder is an neat tool in the study of the computational complexity of certain constraint satisfaction problems.
Once I have clones I like to think about what identities can be satisfied by operations in my clones. I am particularly interested in finding small sets of identities which can be satisfied by one clone but not by another. This gives us a way of separating clones in some sense. Currently I am trying to figure out preciesely which clones can and cannot be separated in this manner. At present I have a partial solution, as for my Master's degree I separated a special class of clones on the set {0,1} called the idempotent clones. (i.e. those clones whose operations satisfy an identity of the form f(x,x,...,x) = x.
A solution to this problem is interesting to me as its resolution will give a description of the primitive positive with constants interpretability quasiorder on the class of two element relational structures. The proper description of these terms is way too technical to include here, but among other things, this quasiorder is an neat tool in the study of the computational complexity of certain constraint satisfaction problems.
For the interested (and very ambitions) reader I have included a copy of the paper I wrote as part of my Master of Mathematics in Pure Mathematics at the University of Waterloo under the supervision of Dr. Ross Willard. Be warned that my paper is rather quite technical and not for the mathematically faint of heart!

