Blog RSS Feed

Archive for the ‘Code’ Category

Last Week, an LLM Out-Programmed Me

Sunday, February 8th, 2026

With last week’s release of Codex 5.3 and Opus 4.6, I had a new experience: an LLM showed itself to be a better programmer than I am. If you’ve seen my code, you may not think that’s a big achievement. But for the first time I saw, practically, how an AI could outperform me at something I take some measure of pride in. It was like Google’s Nano Banana Pro moment, but for coding.

Unlike my previous experiences with LLM coding, Codex 5.3 didn’t just have more familiarity with the syntax of a language or the functionality of a module; it solved an architectural problem better than I did. (It reused existing file artifacts instead of creating intermediate files.) Likely it had pulled the architectural pattern from somewhere else, but it was an elegant solution—superior to the workable-but-basic approach I’d been planning. In that instant, I felt like the future had arrived in a small way: it was better at this task than I was, not just faster at it.

LLMs have let me compress weeks of coding work into a few days. For the Bible Passage Reference Parser, I normally follow a six-month release schedule because changes take a lot of time, especially big refactoring changes like I’ve been planning for the next version (which moves language data to a different repo and adds an additional 2,000 languages). I’d been dreading this work for years because, with so many languages, dealing with exceptions would consume the bulk of the coding effort. I could barely manage exceptions with the 40 languages in the current repo, so adding 50x more didn’t sound fun.

However, Codex 5.3 made short work of the task, taking a few minutes to accomplish what would’ve taken me days of dedicated work, not that I’d ever be able to dedicate days straight to this project. I published the latest branch five months ahead of schedule (and remember, the schedule is six months long).

These models still make mistakes; you can’t yet let them code unattended. But their ability to plan ahead and write code according to that plan is now (at least sometimes) stronger than mine. A year ago, converting the reference-parser code from Coffeescript to Typescript involved a bunch of back-and-forth with ChatGPT; even with a straight 1:1 conversion, it still made questionable decisions that I corrected. With the latest models, LLMs are now correcting my questionable decisions.

Bible Reference Parser Code Update

Tuesday, November 20th, 2012

The semiannual release schedule of the Javascript Bible Passage Reference Parser continues. This release:

  • Improves support for parentheses.
  • Adds some alternate versification systems.
  • Supports French book names.
  • Removes the “docs” folder because it was getting unwieldy; the source itself remains commented.
  • Reorganizes some of the source code.
  • Increases the number of real-world strings from 200,000 to 370,000. I ran the parser on all 85 million tweets and Facebook posts in the Realtime Bible Search database to produce the list.

One of the main goals of this parser is to give you a starting point to build your own parser, so the source is thoroughly documented and has many tests you can use to validate your code.

Try a demo or browse the source on GitHub.

A Javascript Bible Passage Reference Parser

Friday, November 18th, 2011

Browse the Github repository of a new Bible-reference parser written in Coffeescript / Javascript (it understands text like “John 3:16”), try a demo, or review the annotated source. You can use the parser as-is or as a starting point for building your own–the source code includes 200,000 real-world passage references to give you a head start. It’s designed to handle how people actually type Bible references (typos and all) and tries hard to make sense of any input you give it.

From the readme:

This is the fourth complete Bible reference parser that I’ve written. It’s how I try out new programming languages: the first one was in PHP (2002), which saw production usage on a Bible search website from 2002-2011; the second in Perl (2007), which saw production usage on a Bible-related site starting in 2007; and the third in Ruby (2009), which never saw production usage because it was way too slow. This Coffeescript parser (at least on V8) is faster than the Perl one and 100 times faster than the Ruby one.

I chose Coffeescript out of curiosity–does it make Javascript that much more pleasant to work with? From a programming perspective, the easy loops and array comprehensions alone practically justify its use. From a readability perspective, the code is easier to follow (and come back to months later) than the equivalent Javascript–the tests, in particular, are much easier to follow without all the Javascript punctuation.

My main interest in open-sourcing and thoroughly documenting this code lies in giving future programmers data and code that they can use to build better parsers. While this code reflects my experience, it’s hardly the last word on the subject.