The Hypocrisy of 126.96.36.199
April 1, 2020
The ramifications of adult content filters are the same as the ramifications of political filters.
Encrypting Internal Networks
July 1, 2019
I describe how to combine Cloudflare's DNS services with LetsEncrypt to add easy, secure, plug-and-play SSL and DNS lookup to any Intranet service.
Disclosing Multiple Gamasutra Vulnerabilities
November 5, 2018
After a multi-year responsible disclosure period, I am publicly disclosing 4 different Gamasutra vulnerabilities.
Mess with This
September 1, 2018
An introduction to how I'm approaching modding in Reset Hard, and what the open questions are.
The Design is the Implementation
August 14, 2018
In Reset Hard, I eschew tricks and clever programming in favor of direct, honest systems.
Chrome Audio is Broken
May 24, 2018
In which we talk about Chrome's new autoplay policy, the backlash, and where things went wrong.
Announcing Reset Hard
May 7, 2018
Reset Hard is a tactical time-traveling puzzle game with co-op and competitive multiplayer.
Ludum Dare Postmortem
April 24, 2018
A brief rundown on my project/experiences with Ludum Dare.
Modern AI Techniques Aren't Working
April 6, 2018
Neural networks probably aren't the revolution in AI that we're looking for.
Intro to Browser Testing
March 23, 2018
An in-depth overview of how to get started with browser testing via Webdriver.
Why I’m Leaving Oracle
March 15, 2018
I'm leaving Oracle! Here's how I made that decision and what I plan to do next.