I am a software architect at a Canadian network security firm.
We perform Continuous Monitoring as a Service.
My professional interests include software development tools, parsing
technology, source code analysis and network protocol analysis.
My past affiliations include the University of Waterloo and Queen's
University at Kingston. At Queen's I studied under Dr. James R. Cordy.
I live in Cambridge, ON, Canada.
- Colm. COmputer Language Manipulation.
A programming language for the analysis and transformation of computer languages.
Colm is the result of my Ph.D. research.
- Ragel. Ragel is a development tool that compiles
regular language grammars into executable code. Ragel targets C, C++,
Objective-C, D, Java and Ruby. It is unique in that it allows you to embed
actions and control non-determinism in regular languages. Use it to build very
- Kelbt -
Kelbt is a parser generator like YACC, only it generates backtracking LALR(1)
parsers. It has mechanisms for controlling the backtracking, as well as a way
to specify what is undone during backtracking.