Last updated on April 17, 2017 at 18:43.


This is my personal website. The views expressed on these pages are mine alone and I am not speaking on behalf of my employer, past or present. It is not safe to infer that my employer either agrees or disagrees with me. When self-employed, I am not guaranteed to agree with myself.

None of the content on this website was paid for by a third-party.

Open Source

I would not be able to create this website without the help of these open source projects: