Ben Curtis's Avatar

Ben Curtis

@bencurtis.com

Christian, husband, dad, co-founder of Honeybadger.io, fan of Ruby, creator of the faker gem, EV nut (1, 2, and 4-wheel), LSU football fan, and cycling enthusiast in the PNW.

3,759
Followers
520
Following
255
Posts
10.05.2023
Joined
Posts Following

Latest posts by Ben Curtis @bencurtis.com

I don't understand why it continues to be acceptable for people to ridicule followers of a religion (such as myself) with images like this.

05.03.2026 12:38 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I make myself sick when I gun it from a stop. :)

27.02.2026 21:29 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Awesome! I picked up a LiveWire S2 Alpinista over the summer... love it so much. :)

27.02.2026 20:54 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

My favorite safari trick: opening a bunch of tabs, shift clicking to select them all, then dragging them all off to make a new window.

27.02.2026 20:53 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Emdash Open-source Agentic Development Environment

Have you tired emdash.sh yet?

26.02.2026 16:21 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Yup! It’s cool!

25.02.2026 04:56 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

You gotta watch this… it’s cool

25.02.2026 04:51 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Get somebody or an automated service to do penetration testing on your app... then you'll have some new errors to review. :)

19.02.2026 14:47 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Very cool!

18.02.2026 22:56 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

β€œThree jobs are running on a regular schedule:

- LicenseStatusTransitionJob - runs hourly on the :00, typically 70-145ms
- ...

Everything looks healthy - all jobs are executing on schedule with consistent durations and no errors in the last 24 hours.”

So cool :)

18.02.2026 13:12 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

It used the MCP server to get the project list, found the project, looked up the Insights query syntax, ran a query to find the event types, found ActiveJob events, and then ran a query to get those events. It gave me a list the last 20 job executions from the past 24 hours and then summarized:

...

18.02.2026 13:11 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I’m tracking events in Breakwater with Honeybadger Insights, and I wanted to know how my periodic background jobs were doing, so I used the Honeybadger MCP server in Claude Code with this prompt:

Can you show me the last few job executions from Honeybadger Insights for this project?

...

18.02.2026 13:10 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Cap'n Web is an object-capabilities RPC library from Kenton Varda. Beyond its support for object-capabilities, it is designed to integrate very nicely with TypeScript and Cloudflare Workers. I couldn't find a JSON-RPC library that worked as nicely, so I stole its design used Cap'n Web as inspiration for a JSON-RPC implementation.

Cap'n Web has a number of benefits over JSON-RPC

Object capabilities. You can pass functions and classes by reference. This is more than a feature, it completely changes how expressive your API can be, and enables patterns that are not possible with a more limited RPC protocol.
Pipelining. Invoke two methods and then pass their results into a third in one round-trip.
Support for non-JSON data types: ReadableStream, bigint, Date
So why would you ever want to use JSON-RPC instead?

Mainly it's boring (link to Choose Boring Technology by McFunley) and has been around for longer than a few months. The JSON-RPC 2.0 Spec was last updated in 2013. Even more impressive, you can sit down with a cup of coffee and read the whole thing. Your coffee might not even be cool enough to drink when you've finished.

A few more points:

Widely used in the Language Server Protocol which drives code-editing basically everywhere
Used in MCP spec
Easy to invoke with plain curl commands
Works well with browser dev tools
Many client implementations in many languages
Cap'n Web is strictly more powerful, and I look forward to seeing it grow and mature, but for many projects today JSON-RPC is a great fit.

Cap'n Web is an object-capabilities RPC library from Kenton Varda. Beyond its support for object-capabilities, it is designed to integrate very nicely with TypeScript and Cloudflare Workers. I couldn't find a JSON-RPC library that worked as nicely, so I stole its design used Cap'n Web as inspiration for a JSON-RPC implementation. Cap'n Web has a number of benefits over JSON-RPC Object capabilities. You can pass functions and classes by reference. This is more than a feature, it completely changes how expressive your API can be, and enables patterns that are not possible with a more limited RPC protocol. Pipelining. Invoke two methods and then pass their results into a third in one round-trip. Support for non-JSON data types: ReadableStream, bigint, Date So why would you ever want to use JSON-RPC instead? Mainly it's boring (link to Choose Boring Technology by McFunley) and has been around for longer than a few months. The JSON-RPC 2.0 Spec was last updated in 2013. Even more impressive, you can sit down with a cup of coffee and read the whole thing. Your coffee might not even be cool enough to drink when you've finished. A few more points: Widely used in the Language Server Protocol which drives code-editing basically everywhere Used in MCP spec Easy to invoke with plain curl commands Works well with browser dev tools Many client implementations in many languages Cap'n Web is strictly more powerful, and I look forward to seeing it grow and mature, but for many projects today JSON-RPC is a great fit.

Why not just use capnweb then? Isn't it really nifty?

17.02.2026 06:03 πŸ‘ 3 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0

Coincidentally, Claude was helping me with a Faraday upgrade yesterday, and it discovered forks for convertkit-ruby that I could use to fix a dependency issue, so this was top of mind when I read Andrew's post. :)

13.02.2026 14:22 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Respectful Open Source Maintainer attention as a finite resource.

This post about "Respectful Open Source" by @andrewnez.bsky.social inspired me to have Claude build forkwatch, a tool that analyzes forks of any repo and highlights where multiple forks converge on the same fix.

nesbitt.io/2026/02/13/respectful-open-source.html
github.com/stympy/forkwatch

13.02.2026 14:03 πŸ‘ 4 πŸ” 2 πŸ’¬ 2 πŸ“Œ 0

Our CLI is another option πŸ˜‰

03.02.2026 15:58 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I like the term "Automatic programming" from @antirez.bsky.social

I think it fits for the process I was describing in www.bencurtis.com/2026/01/buil...

31.01.2026 14:17 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Yup!

31.01.2026 01:31 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

It still *feels* like a fair amount of effort because I’m striving to achieve more than I would have done without the assistance. I’m not settling in ways that I would have settled before, so I’m building a product that I’m more proud of than I otherwise would be.

I hope that makes sense. πŸ™‚

31.01.2026 00:58 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Yeah, I totally get that. I do not feel as invested in what has been built as I would if I had typed every line of code. That said, I really want this thing to exist in the world, and I *have* put some serious effort in to this, so I would be sad if it went away.

31.01.2026 00:55 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Building Breakwater with AI - Ben Curtis What used to take weeks now takes hours. I used ChatGPT and Claude Code to design and build Breakwater, and the results have changed how I think about shipping software.

For the afternoon folks: I shipped a thing, I had fun, and I blogged about it. ;)

www.bencurtis.com/2026/01/buil...

30.01.2026 23:28 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

What if, instead of AI eliminating junior developers, we use the time we save working with AI to mentor junior developers? Help them accelerate their learning (developing taste/discernment) by sitting side-by-side, teaching them what works and what doesn't, while Claude does the typing?

30.01.2026 15:28 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Your comment made me think about the concerns we have in the industry about junior developers not having a chance to break in and/or level up due to AI. I.e., "If AI does all the grunt work, why do I need juniors?" ...

30.01.2026 15:27 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I think discernment is an excellent word for your concern! Yes, an AI is not going to teach you taste, but if you are already able to discern good from bad from the big picture down to the small details of delivering software, then AI assist is a great force multiplier.

30.01.2026 14:38 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Building Breakwater with AI - Ben Curtis What used to take weeks now takes hours. I used ChatGPT and Claude Code to design and build Breakwater, and the results have changed how I think about shipping software.

It’s fun to tell Claude, "ship it", and watch it commit, push, and open a PR.

I just did that for my latest blog post about using AI to build Breakwater, an app for managing licensing and access control for Docker container distribution:

www.bencurtis.com/2026/01/buil...

30.01.2026 13:57 πŸ‘ 2 πŸ” 1 πŸ’¬ 2 πŸ“Œ 0

I appreciate your timely PSA… I was just looking at diving into book 7 last night. :)

30.01.2026 11:05 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

We love Crunchy at Honeybadger. Do it! :)

30.01.2026 04:50 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
Check-in payloads: know how your jobs ran, not just that they ran on time Basic check-ins tell you when your cron jobs and background tasks don't run on schedule. But what happens when a job runs and fails? Or takes twice as long as...

I recently shipped something fun for Honeybadger: You can keep closer tabs on your cron jobs now, and even use them to get data into Insights for querying, charts, and alarms. :)

www.honeybadger.io/changelog/ch...

28.01.2026 21:06 πŸ‘ 4 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Preview
How to Build a Copilot Agent That Debugs Production Errors Learn how to build a Copilot agent that connects to your error tracking tool, fetches stack traces automatically, and proposes fixes with tests.

Production debugging with AI agents has really improved my workflow lately. Here's how to automate fixing bugs on @github.com.

This approach should work for Claude Code and other agents too, lmk if you want ideas.

www.honeybadger.io/blog/copilot...

27.01.2026 19:17 πŸ‘ 5 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0

I had this same feeling as I built a SaaS in a few spare hours over the holidays… as a SaaS expert, having Claude build out the app felt like adding rocket fuel to the process.

20.01.2026 01:02 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0