Mark Seemann
@ploeh.dk
📤 193
📥 2
📝 217
New article: Motivated reasoning.
blog.ploeh.dk/2026/05/04/m...
loading . . .
Motivated reasoning
Most of my concerns about AI are probably irrelevant, but what if one of them is not?
https://blog.ploeh.dk/2026/05/04/motivated-reasoning
21 days ago
1
2
0
New article: In defence of bureaucracy.
blog.ploeh.dk/2026/04/20/i...
loading . . .
In defence of bureaucracy
Objectivity, meritocracy, high bus factor. What's not to like?
https://blog.ploeh.dk/2026/04/20/in-defence-of-bureaucracy
about 1 month ago
0
3
1
New article: Secret agentic AI.
blog.ploeh.dk/2026/04/13/s...
loading . . .
Secret agentic AI
A scenario.
https://blog.ploeh.dk/2026/04/13/secret-agentic-ai
about 1 month ago
1
1
0
In both 2023 and 2024 I gave keynotes related to AI and software development:
youtu.be/bLpwNWWs5EY?...
youtu.be/X_SsnmZ4Dlc?...
Since they are of a general nature, I still find them relevant in 2026. Let me know if you need a keynote for your conference.
blog.ploeh.dk/hire-me
loading . . .
IT Days - Epistemology of software - Mark Seemann - Programmer and Software Architect
YouTube video by Today Software Magazine
https://youtu.be/bLpwNWWs5EY?si=3mDRBR5le2PR9gzd
about 2 months ago
0
3
0
Lately, I've observed that engagement on all platforms have all but dried up. Is this a general phenomenon, or am I just writing for no-one? If you still read and get value out of my blog, please let me know. You could, for example, support it:
blog.ploeh.dk/support
loading . . .
Support the blog
Ploeh blog is free, and always has been. Keep it free.
https://blog.ploeh.dk/support
about 2 months ago
0
2
2
New article: The hailo effect.
blog.ploeh.dk/2026/04/06/t...
loading . . .
The hailo effect
LLM friendliness does not entail competency.
https://blog.ploeh.dk/2026/04/06/the-hailo-effect
about 2 months ago
0
4
0
New article: Programming languages for AI.
blog.ploeh.dk/2026/03/30/p...
loading . . .
Programming languages for AI
Which programming language is best suited for LLM-based generation?
https://blog.ploeh.dk/2026/03/30/programming-languages-for-ai
about 2 months ago
0
2
0
New article: Will you go to prison for an AI?
blog.ploeh.dk/2026/03/23/w...
loading . . .
Will you go to prison for an AI?
Who is liable for code written by LLMs?
https://blog.ploeh.dk/2026/03/23/will-you-go-to-prison-for-an-ai
2 months ago
1
2
0
New article: Which of these languages are best for AI?
blog.ploeh.dk/2026/03/09/w...
loading . . .
Which of these languages are best for AI?
A rhetorical poll.
https://blog.ploeh.dk/2026/03/09/which-of-these-languages-are-best-for-ai
3 months ago
1
1
1
#repostfriday
Keeping cross-cutting concerns out of application code.
blog.ploeh.dk/2024/09/02/k...
loading . . .
Keeping cross-cutting concerns out of application code
Don't inject third-party dependencies. Use Decorators.
https://blog.ploeh.dk/2024/09/02/keeping-cross-cutting-concerns-out-of-application-code
3 months ago
0
0
0
Worth mulling over:
www.rockoder.com/beyondthecod...
loading . . .
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.
https://www.rockoder.com/beyondthecode/cognitive-debt-when-velocity-exceeds-comprehension/
3 months ago
0
2
0
Other readers are showing their appreciation of ploeh blog by supporting it. You, too, can do that.
blog.ploeh.dk/support
loading . . .
Support the blog
Ploeh blog is free, and always has been. Keep it free.
https://blog.ploeh.dk/support
3 months ago
0
0
0
New article: In defence of correctness.
blog.ploeh.dk/2026/03/03/i...
loading . . .
In defence of correctness
Not all software needs to be correct, but a large subset does.
https://blog.ploeh.dk/2026/03/03/in-defence-of-correctness
3 months ago
1
2
1
#repostfriday
Should interfaces be asynchronous?
blog.ploeh.dk/2024/07/08/s...
loading . . .
Should interfaces be asynchronous?
Async and await are notorious for being contagious. Must all interfaces be Task-based, just in case?
https://blog.ploeh.dk/2024/07/08/should-interfaces-be-asynchronous
3 months ago
0
0
0
New article: TDD as induction.
blog.ploeh.dk/2026/02/23/t...
loading . . .
TDD as induction
A metaphor.
https://blog.ploeh.dk/2026/02/23/tdd-as-induction
3 months ago
1
1
0
#repostfriday
Gratification
blog.ploeh.dk/2024/05/13/g...
loading . . .
Gratification
Some thoughts on developer experience.
https://blog.ploeh.dk/2024/05/13/gratification
3 months ago
0
0
0
reposted by
Mark Seemann
Laszlo
3 months ago
my unpopular opinion on AI and tests:
blog.ladeak.net/posts/ai-uni...
loading . . .
Laszlo - .NET Developer, Personal Blog
I work in an environment where people seek opportunities for using AI such as GitHub Copilot to perform daily development tasks.
https://blog.ladeak.net/posts/ai-unit-testing
0
0
1
New article: Critiquing tests.
blog.ploeh.dk/2026/02/16/c...
loading . . .
https://blog.ploeh.dk/2026/02/16/critiquing-tests
3 months ago
1
1
0
#repostfriday
Do ORMs reduce the need for mapping?
blog.ploeh.dk/2023/09/18/d...
loading . . .
Do ORMs reduce the need for mapping?
With some Entity Framework examples in C#.
https://blog.ploeh.dk/2023/09/18/do-orms-reduce-the-need-for-mapping
3 months ago
0
0
0
New article: Simplifying assertions with lenses.
blog.ploeh.dk/2026/02/09/s...
loading . . .
Simplifying assertions with lenses
Get ready for some cryptic infix operators.
https://blog.ploeh.dk/2026/02/09/simplifying-assertions-with-lenses
3 months ago
0
0
0
#repostfriday
Test-driving the pyramid's top.
blog.ploeh.dk/2023/07/31/t...
loading . . .
Test-driving the pyramid's top
Some thoughts on TDD related to integration and systems testing.
https://blog.ploeh.dk/2023/07/31/test-driving-the-pyramids-top
4 months ago
0
0
0
Unpopular(?) opinion: Marker interfaces are code smells.
4 months ago
2
3
0
Other readers are showing their appreciation of ploeh blog by supporting it. You, too, can do that.
blog.ploeh.dk/support
loading . . .
Support the blog
Ploeh blog is free, and always has been. Keep it free.
https://blog.ploeh.dk/support
4 months ago
0
0
0
New article: Code that fits in a context window.
blog.ploeh.dk/2026/02/02/c...
loading . . .
Code that fits in a context window
AI-friendly code?
https://blog.ploeh.dk/2026/02/02/code-that-fits-in-a-context-window
4 months ago
1
2
0
#repostfriday
Works on most machines.
blog.ploeh.dk/2023/07/17/w...
loading . . .
Works on most machines
TDD encourages deployment flexibility. Functional programming also helps.
https://blog.ploeh.dk/2023/07/17/works-on-most-machines
4 months ago
0
0
0
Some thoughts about the (far?) future use of AGI for programming. My 2024 IT Days keynote "There's no Voight-Kampff test":
youtu.be/X_SsnmZ4Dlc?...
loading . . .
There's no Voight-Kampff test
YouTube video by Today Software Magazine
https://youtu.be/X_SsnmZ4Dlc?si=ve1TV3CmWfZKhynn
4 months ago
0
0
0
New article: AI-generated tests as ceremony.
blog.ploeh.dk/2026/01/26/a...
loading . . .
AI-generated tests as ceremony
On epistemological soundness of using LLMs to generate automated tests.
https://blog.ploeh.dk/2026/01/26/ai-generated-tests-as-ceremony
4 months ago
2
4
3
#repostfriday
When is an implementation detail an implementation detail?
blog.ploeh.dk/2023/06/19/w...
loading . . .
When is an implementation detail an implementation detail?
On the tension between encapsulation and testability.
https://blog.ploeh.dk/2023/06/19/when-is-an-implementation-detail-an-implementation-detail
4 months ago
0
0
0
New article: Filtering as domain logic.
blog.ploeh.dk/2026/01/19/f...
loading . . .
Filtering as domain logic
Performance and correctness are two independent concerns with overlapping solutions.
https://blog.ploeh.dk/2026/01/19/filtering-as-domain-logic
4 months ago
0
1
0
I still get a chuckle out of this example.
#repostfriday
AI for doc comments.
blog.ploeh.dk/2023/07/10/a...
4 months ago
0
1
0
New article: Two regimes of Git.
blog.ploeh.dk/2026/01/12/t...
loading . . .
Two regimes of Git
Using Git for CI is not the same as Tactical Git.
https://blog.ploeh.dk/2026/01/12/two-regimes-of-git
4 months ago
0
0
1
#repostfriday
Favour flat code file folders.
blog.ploeh.dk/2023/05/29/f...
loading . . .
Favour flat code file folders
How code files are organised is hardly related to sustainability of code bases.
https://blog.ploeh.dk/2023/05/29/favour-flat-code-file-folders
5 months ago
0
1
0
Happy new year. Over two incarnations, ploeh blog is now 20 years old and sports 946 articles. A few kind souls find it useful enough to sponsor it. You can join them:
blog.ploeh.dk/support
loading . . .
Support the blog
Ploeh blog is free, and always has been. Keep it free.
https://blog.ploeh.dk/support
5 months ago
0
0
0
On this date, twenty years ago, I published my first blog post on the now-defunct MSDN blog. Still, it counts as an anniversary of sorts, I think.
learn.microsoft.com/en-us/archiv...
loading . . .
Service Locator 1.1 Available
https://learn.microsoft.com/en-us/archive/blogs/ploeh/service-locator-1-1-available
5 months ago
0
0
0
New article: Coupling from a big-O perspective.
blog.ploeh.dk/2026/01/05/c...
loading . . .
Coupling from a big-O perspective
Don't repeat yourself (DRY) implies O(1) edits.
https://blog.ploeh.dk/2026/01/05/coupling-from-a-big-o-perspective
5 months ago
1
1
0
New article: Git integration is ten years away.
blog.ploeh.dk/2025/12/29/g...
loading . . .
Git integration is ten years away
We'll get commercial nuclear fusion earlier.
https://blog.ploeh.dk/2025/12/29/git-integration-is-ten-years-away
5 months ago
3
2
1
#repostfriday
Fit URLs.
blog.ploeh.dk/2020/10/26/f...
loading . . .
Fit URLs
Keep REST API URLs evolvable. A way to address Hyrum's law.
https://blog.ploeh.dk/2020/10/26/fit-urls
5 months ago
2
1
0
New article: Test-specific Eq.
blog.ploeh.dk/2025/12/22/t...
loading . . .
Test-specific Eq
Adding Eq instances for better assertions.
https://blog.ploeh.dk/2025/12/22/test-specific-eq
5 months ago
0
0
0
"System.ArgumentException: Parameter is not valid." Gee, thanks. Which parameter? What was the value? What constitutes a valid value? Please write better exception messages.
blog.ploeh.dk/2014/12/23/e...
loading . . .
Exception messages are for programmers
Exception messages should be aimed at other developers, not end users.
https://blog.ploeh.dk/2014/12/23/exception-messages-are-for-programmers
5 months ago
0
0
0
#repostfriday
Confidence from Facade Tests.
blog.ploeh.dk/2023/03/13/c...
loading . . .
Confidence from Facade Tests
Recycling an old neologism of mine, I try to illustrate a point about the epistemology of testing function composition.
https://blog.ploeh.dk/2023/03/13/confidence-from-facade-tests
5 months ago
0
0
0
New article: Tautological assertions are not always caused by aliasing.
blog.ploeh.dk/2025/12/15/t...
loading . . .
Tautological assertions are not always caused by aliasing
You can also make mistakes that compile in Haskell.
https://blog.ploeh.dk/2025/12/15/tautological-assertions-are-not-always-caused-by-aliasing
5 months ago
0
0
0
#repostfriday
In the long run.
blog.ploeh.dk/2023/01/16/i...
loading . . .
In the long run
Software design decisions should be time-aware.
https://blog.ploeh.dk/2023/01/16/in-the-long-run
5 months ago
0
0
1
TIL that it's possible to yield from within
#fsharp
lists: > [yield 1; yield! [2;3]; yield 4];; val it: int list = [1; 2; 3; 4]
6 months ago
3
11
2
New article: Pattern guards for a protocol.
blog.ploeh.dk/2025/12/08/p...
loading . . .
Pattern guards for a protocol
A Haskell example.
https://blog.ploeh.dk/2025/12/08/pattern-guards-for-a-protocol
6 months ago
0
0
0
#repostfriday
Decouple to delete.
blog.ploeh.dk/2022/11/21/d...
loading . . .
Decouple to delete
Don't try to predict the future.
https://blog.ploeh.dk/2022/11/21/decouple-to-delete
6 months ago
0
1
0
Other readers are showing their appreciation of ploeh blog by supporting it. You, too, can do that.
blog.ploeh.dk/support
loading . . .
Support the blog
Ploeh blog is free, and always has been. Keep it free.
https://blog.ploeh.dk/support
6 months ago
0
1
0
New article: Treat test code like production code.
blog.ploeh.dk/2025/12/01/t...
loading . . .
Treat test code like production code
You have to read and maintain test code, too.
https://blog.ploeh.dk/2025/12/01/treat-test-code-like-production-code
6 months ago
0
0
0
#repostfriday
TDD improves reusability.
blog.ploeh.dk/2011/11/10/T...
loading . . .
TDD improves reusability
The unit tests are the first client of the production API. Production code is reuse.
https://blog.ploeh.dk/2011/11/10/TDDimprovesreusability
6 months ago
0
0
0
New article: Result is the most boring sum type.
blog.ploeh.dk/2025/11/24/r...
loading . . .
Result is the most boring sum type
If you don't see the point, you may be looking in the wrong place.
https://blog.ploeh.dk/2025/11/24/result-is-the-most-boring-sum-type
6 months ago
0
2
0
#repostfriday
Modelling versus shaping reality.
blog.ploeh.dk/2020/05/18/m...
loading . . .
Modelling versus shaping reality
How does software development relate to reality?
https://blog.ploeh.dk/2020/05/18/modelling-versus-shaping-reality
6 months ago
0
1
0
Load more
feeds!
log in