Skip to content

Case notes.

Tips, tutorials, and updates from SlopCop.

A detective in a trench coat and fedora, seen from behind, writes in a notebook at a desk under a lamp.

David Baker Effendi

Code intelligence has escaped the code

A surprising amount of program behavior is defined by what is outside the program. Database URLs, feature flags, and library settings sit in configuration files or environment variables, while the code reading them may make some half-assed assumptions on what comes out on the other end. Strings are an

Code Intelligence

Jonathan Ellis

You're paying too much for code review

I wrote in August that humans shouldn't spend their time reading code anymore. (TLDR: the opportunity cost isn't worth it.) That doesn't mean that you should dispense with code review entirely. It just means that you should have agents perform the reviews (as well

David Baker Effendi

Catching Resources Held Across Async Suspension

An asynchronous function can release every resource before it finishes and still hold one at the wrong time. Borrow a connection from a small pool, then wait for an unrelated network request, and that connection remains occupied while the function is paused. A release call later in the function does

Jonathan Ellis

Infrastructure for Agentic Rust

I spent most of my career in managed-runtime languages like Java and Python, so coming to Rust presented a few new land mines for me. I'm now about six months into primarily writing code in Rust, or more accurately, causing code to be authored in Rust, and

Ryan Svihla

Why not use DeepSeek Flash for everything?

I started using AI heavily when a friend and Brokk founder Jonathan Ellis launched his own startup Brokk and I started using his then revolutionary tool Brokk in April of 2025, at that stage basically all models were pretty terrible and things like Cursor or Claude Code were basically useless

David Baker Effendi

Following untrusted data through a database

A profile field can be stored safely with a parameterized SQL query and still cause stored cross-site scripting (XSS) when it is later inserted into a page without the right output encoding. The same stored value could cause SQL injection if another part of the application concatenates it into

Ryan Svihla

Using Opus 5 Without Going Insane

I've been using Opus 5 as my daily driver for a few weeks now across a bunch of projects and it's a really capable model, but it has two habits that drove me a little nuts before I figured out how to deal with them: 1.

Ryan Svihla

Ryan’s Model Guide: September 2026

I ran out of tokens pretty quickly this month (new fun thing I’m building was a bit hungrier than expected), and so I had to pull out a couple of subs for providers I don’t normally use (Z.ai and Meta) and I was pleasantly surprised at how

David Baker Effendi

The Taint Analysis Power Ranking

Eight analyzers, thirteen languages, and not one clean sweep Reliable agentic code generation needs solid quality signals, so we created DataFlowBench and UsageBench to help evaluate Bifrost, our static analysis guardrail for keeping AI-generated code in check. These benchmarks includes other analyzers as well as Bifrost. In this post,

Jonathan Ellis

A Deeper Dive into the Subscription Tier List

On Friday, I published a coding subscription tier list (reproduced above) that took a mostly-quantitative view of the different subscription plans available. It starts by looking at tokens-per-dollar, then uses DeepSWE's results to normalize to tasks-per-dollar: Clearly OpenAI destroys the rest of the