Mark Seemann

@ploeh
434 Followers
4 Following
511 Posts
Danish software design
Websitehttps://blog.ploeh.dk
New article: Will you go to prison for an AI? https://blog.ploeh.dk/2026/03/23/will-you-go-to-prison-for-an-ai
Will you go to prison for an AI?

Who is liable for code written by LLMs?

New article: Which of these languages are best for AI? https://blog.ploeh.dk/2026/03/09/which-of-these-languages-are-best-for-ai
Which of these languages are best for AI?

A rhetorical poll.

Keeping cross-cutting concerns out of application code

Don't inject third-party dependencies. Use Decorators.

Cognitive Debt: When Velocity Exceeds Comprehension | rockoder

A systems analysis of how AI-assisted development creates a gap between output speed and understanding, and why organizations cannot see it happening.

rockoder

@ajkuebler I suppose you're right 😀

I only meant that comparison in the loosest sense, not to be taken too literally.

@aiono I know too little about formal verification, but I've been considering whether I should invest some time there, exactly for the reason you give.
Other readers are showing their appreciation of ploeh blog by supporting it. You, too, can do that. https://blog.ploeh.dk/support
Support the blog

Ploeh blog is free, and always has been. Keep it free.

New article: In defence of correctness. https://blog.ploeh.dk/2026/03/03/in-defence-of-correctness
In defence of correctness

Not all software needs to be correct, but a large subset does.

Should interfaces be asynchronous?

Async and await are notorious for being contagious. Must all interfaces be Task-based, just in case?

@sebhans Thank you. I agree that one should generally avoid dynamic Test Double libraries: https://blog.ploeh.dk/2022/10/17/stubs-and-mocks-break-encapsulation
Stubs and mocks break encapsulation

Favour Fakes over dynamic mocks.