Here is a list of my current and past projects.


AccessEnforcer is an OpenBSD-based managed firewall that I created while I was in grad school, and is now the flagship product of Calyptix Security. It’s my so-called “brain-child” and obviously a large part of my life and work. Personally, one of the coolest things about the AccessEnforcer is that I get to introduce OpenBSD-grade security to Windows networks of small businesses all over the USA and in a growing number of countries.

In 2010, I gave a talk on my work on the AccessEnforcer at NYCBSDCon 2010; you’re welcome to check it out if you’re interested in a behind-the-scenes look at AccessEnforcer development.


I have been using OpenBSD since 2000, for my undergraduate honours project. Since then, I have contributed bits and pieces of code, ranging from adding features to tools like md5(1) to fixing NULL pointer dereferences in crontab(1) to changing pfctl(1) behavior to improving man pages.

So far, the biggest thing I have done for OpenBSD is to update the libpcap packet capture library. In the middle of 2012, I was invited to join the OpenBSD development team.

I also work with ports, where I either currently maintain or work actively on the following OpenBSD ports:


spectrwm is a dynamic tiling window manager for UNIX. It is what I use for daily development. Unlike a “floating” window manager like Windows or OS X, tiling window managers arrange windows in tiles so that you don’t have to keep moving and dragging them. As a software developer who needs to really concentrate on the code in the midst of constant distractions, this really helps me become more productive.

At the moment, I no longer work actively on spectrwm. My biggest contribution in the past has been to make it work better in keyboard-only mode, so that users can move and resize windows quickly without needing to use a mouse. I also improved spectrwm’s support for international keyboard layouts of all kinds.


Many moons ago, I wrote a distributed port scanner called SIDEN as part of my Honours project at Monash University. It’s really ancient and there’s a thick layer of dust on it, and I doubt that it even runs now. But if you do make it work somehow, please drop me a line! :)