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.
I would not be able to create this website without the help of these open source projects: