I blog sometimes! I've covered topics including software engineering, polyamory, tabletop RPGs, and random other things.

You can be alerted to new posts by subscribing through RSS or following me on Twitter.

All Posts

Interviewing is hard
A month ago I finally marked something off my todo list that had been there for a couple years. I went through an interview process as an interviewee. (more)
One idea down. Another one pivots.
My third week of self employment is wrapping up. One of my product ideas has bitten the dust… (more)
All the transitions. All of them.
The end of my first full, self-employed work week is tomorrow. It's been a helluva ride, and I literally just started. (more)
The Seesaw - A D&D 5E Encounter
I've been DMing a Dungeons and Dragons (fifth edition) game every other week for awhile. During this last session on Monday they found themselves in the center of a room with a rectangular floor. (more)
A very practical piece of pure CS
If an interviewer asked me to find the last item in a linked list, I might write some code like this: (more)
Could I be a zealot? Yes and it sucks.
Zealotry seems to always sneak up on me. I see it in my coworkers, myself, and of course in comments online. Recognizing it in myself is challenging, but I'm slowly building up some tools to help me out. This post is about one such tool. (more)
A model of (polyamorous) relationships
I want to present a model for thinking about relationships and polyamory. Like any model, I will relate it (hopefully strongly) to real world things, but the model exists within its own system. (more)
Principles of Building a Simple Site
I've made a bunch of simple websites over the years, and from my endless failures I've built up some principles I now follow. (more)
I talk to myself on GitHub
I talk to myself on GitHub a lot. If I could share our internal issues at Khan Academy you'd see a similar story there as well. I do this to serve a few ends. (more)
Solving a wooden puzzle
Last week a mysterious double-sided puzzle appeared next to the kitchen at Khan Academy. (more)
Typos in search queries at Khan Academy
One year ago, searching for polinomials on Khan Academy's search page would give you no results. If you typed the same thing into Google you'd be efficiently and politely corrected. (more)
Local Storage Today
I'd like to write to localStorage often. I'd also like to write to it synchronously in response to user interaction. Past wisdom says this is a bad idea and will give me Angry Users Syndrome very quickly. (more)
Intelligently Shortening Text
Our search page at Khan Academy displays highlighting information to provide context for our results. Our full-text search engine gives us the highlighting text, but it doesn't provide a way to reliably control the length of the text. The end result can be undesirable. (more)
The Python Import System
I made a presentation at Khan Academy on a few good things to know about Python's import system. Here's a writeup of that presentation (this is written mostly as a reference, sorry for the dryness). (more)
Transactions with Python's sqlite3 Package
Python's sqlite3 package tries to take care of the tricky business of properly executing BEGIN and COMMIT statements. The rules of when and how this automatic transactioning is done has confounded a number of developers, many of whom have jumped ship and chosen to use the aspw package or similar. (more)