AI: Review
I understand the case for pair programming, but it’s my idea of Hell. At school, the made us have lab partners in Science Lab because that meant you needed only ½ or ¼ of the equipment and materials, and the school was convinced that Science was not important, anyway, not in the way the Art and Shop were important. Besides, choosing lab partners was almost as bad as choosing sides for basketball, and if you enjoy tangles of privacy and drama, try spending 13 years with the same group of 40 kids.
I’m not eager to have the AI write code for me. The sample code it’s presented in conversations has been reasonable as an illustration, but I’m not wild about the underlying architectural ideas.
Still: I’ve been working on an experimental Readwise importer for Tinderbox, and spent yesterday finishing a thoroughgoing refactoring. So I fed the core of the refactored approach to Claude and asked it for comment—essentially, a bit of code review. A lot of what it proposed was the sort of thing I expect from code review: obsessive attention to pitfalls that won’t actually cause trouble and minuscule performance improvements.
Still, it suggested that I retain a single NSURLSession instead of creating a new one when needed. “Is NSURLSession really that costly to construct?” I asked. Claude answered that yes, it actually is pretty hard to construct, and also it caches all sorts of DNS information for repeated calls to the Readwise servers, so things that take 500ms for the first page can be 50ms for subsequent calls. And we have lots of subsequent pages.
In code, I’m a fan of building things right when you need them. Here, my intuition was wrong. (I suspect, too, that just a few weeks ago Claude would not have had the good sense to stand up to my criticism. Things are moving fast.)