Welcome! I'm a software engineer and I like blogging about Python, databases, and programming in general. I'm the author of several open-source Python libraries including Peewee ORM, Huey task queue and lots more. Below you can find a list of my most recent blog posts.
If you don't know what your'e doing here, check out some of my popular posts.
Zero AI-generated content.
-
Cave of Forgotten Dreams
Who is he that hideth counsel without knowledge? therefore have I uttered that I understood not; things too wonderful for me, which I knew not.
AI began to dominate my consciousness some time around February of this year. I think the primary driver of my obsession, initially anyways, was a leadership change at my work. My new boss uses AI heavily for everything work-related. A month or two into his tenure, we were 45 minutes into a call about the product roadmap and a possible customer announcement. Abruptly, he said, "Hold on a sec-" and began sharing his screen. The familiar MacOS desktop, browser with Claude open, filled the display. He copied the transcript of our call up to that point (he records transcripts of every call in order to feed the text into AI), and opened a new chat with the prompt: "Say where Charlie's right, and where he's wrong. Say where I'm right and where I'm wrong." I consulted my avatar in the lower-right. We both waited in silence while Claude thought, then read aloud through the findings one-by-one, helpfully bulleted, an even number for each of us. I felt called-upon to act the part of the gentleman, gallantly agreeing with Claude's softly (oh-so-softly) couched criticisms of my viewpoint, while conceding everywhere Claude expressed subtle (oh-so-subtle) approval of my boss. The call ended shortly afterwards, somewhat awkwardly for both of us, I think. I had just experienced the most baffling mixture of radical transparency and impossible opacity.
-
Children's Games
I try all things; I achieve what I can.
A year ago, as I was going through a mound of keepsakes my Mom transferred to my custody (I have reached that age, yes), I came across a little book I made in kindergarten describing my first bicycle crash, which I attributed to rolling over a pine-cone. I have very little recollection of the crash itself - I only recall sitting, high up on the passenger seat of the minivan, with a towel pressed to my forehead and anxiously asking, "B-but can you see any BRAINS?"
-
Redis and the Cost of Ambition
And they said, Go to, let us build us a city and a tower, whose top may reach unto heaven; and let us make us a name, lest we be scattered abroad upon the face of the whole earth.
What happened to dear old Redis, I wondered. And the more I thought about it, a satisfying explanation started to coalesce which explains all the above phenomena. To me, the picture that emerges is that of a solution that lost its identity through ambition.
-
Tokens and Dreams
The one great principle of the English law is, to make business for itself.
The recurring theme running through my mind the last few months has been complexity within a software application. Forget coding. Sales is using AI to write all new code, so for us engineers there's not a hell of a lot to do besides think (and be there to hold the bag).
-
cysqlite - a new sqlite driver
Back in the spring of 2019, I began working on cysqlite, a from-scratch DB-API compatible SQLite driver. I intended one day to use it as a replacement for pysqlite3. Seven years later, the project is ready. It provides an API and performance similar to the standard library
sqlite3module, with many additional features. View more posts




