I am a professor in the School of Computer Studies at Seneca College in Toronto, Canada.

My research and teaching is focused on open source technologies and practices. I am an Educational Liaison with the Mozilla Foundation, and an active developer working with the Mozilla Project. Much of my work is focused on Mozilla-related research and academic projects, as well as working with students to help them get started developing with the Mozilla platform and other open source tools. To this end I have created a number of courses on open source and Mozilla development.

I am a founding member of the Centre for the Development of Open Technology (CDOT) as well as co-chair of the annual Free Software and Open Source Symposium (FSOSS). I am a regular speaker at conferences and other technology gatherings on topics associated with open source practices.

My attraction to programming languages stems from a deep love of "language". I say "language" because I believe that whether it is a programming, spoken, or written language, all languages share common elements. My educational background is in English Literature and Literary Theory, Computer Science, and Greek Philology. The question I hear most when I discuss my background with people is: "What do these subjects have in common?" My answer is always this: Language.

In my teaching I try to focus on aspects of language in a number of ways. First, I think that both written and spoken communication is imperative for any programmer. This isn.t a popular thought with some. However, I have found that in my professional work as a developer, more of my time has been spent in preparing written documentation than in actually programming. Second, I look at programming as a type of literature. Issues of syntax, grammar, style, vocabulary--all have a place in programming. For students who don.t tend to view their programs this way I like to point-out that programming languages are not actually meant for a computer. Rather, with the introduction of higher-level languages like FORTRN, C, COBOL, etc. the job of the programmer ceased to be one of speaking the language of the computer and one of "writing" a language of programmers. We don.t write our programs in ones and zeros; we write in words. Once this view is adopted, programming ceases to be a purely pragmatic activity and has the potential to become creative. It is this creative impulse that has kept me programming for so many years, that will keep me programming for years to come.

Before I close I should say something about the three most important things in my life. I wouldn.t be telling you about myself in any real detail without also mentioning my faith and my family. Trying to extract my Christianity from my love of language, my work as a programmer or professor isn.t easily done, because it is a part of everything I do. I can say the same of my wife Laura, and my two daughters, Emma and Morgan.