self

John CS

Blog of John Christopher Sullivan (Portfolio)

Intelligently Shortening Text

I designed an algorithm to intelligently shorten the highlighting text (which shows context for each search result) on Khan Academy's search page.

Read It

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.

Read It

Phial: A framework for building static sites

I have a few static websites currently under my care. I manage one with Jekyll, another without a static site generator (just raw HTML files), and another (this blog) with a new tool I created named Phial.

Read It

My ErgoDox

Some time ago I assembled my very own ErgoDox keyboard, a gorgeous, open-source, mechanical keyboard. I've been using it as my primary keyboard for about a month now and I'm very pleased. There are a couple of things that make it stand out: its efficiency and its consistent problems.

Read It

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. Well I've plumbed the depths of the CPython implementation and I'm happy to present the rules to you in a single, tidy blog post.

Read It