Mark Seemann
ploeh.dk
Mark Seemann
@ploeh.dk
New article: Git integration is ten years away. blog.ploeh.dk/2025/12/29/g...
Git integration is ten years away
We'll get commercial nuclear fusion earlier.
blog.ploeh.dk
December 29, 2025 at 9:12 AM
Fit URLs
Keep REST API URLs evolvable. A way to address Hyrum's law.
blog.ploeh.dk
December 26, 2025 at 2:25 PM
New article: Test-specific Eq. blog.ploeh.dk/2025/12/22/t...
Test-specific Eq
Adding Eq instances for better assertions.
blog.ploeh.dk
December 22, 2025 at 8:32 AM
"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...
Exception messages are for programmers
Exception messages should be aimed at other developers, not end users.
blog.ploeh.dk
December 20, 2025 at 3:10 PM
New article: Tautological assertions are not always caused by aliasing. blog.ploeh.dk/2025/12/15/t...
Tautological assertions are not always caused by aliasing
You can also make mistakes that compile in Haskell.
blog.ploeh.dk
December 15, 2025 at 2:17 PM
In the long run
Software design decisions should be time-aware.
blog.ploeh.dk
December 12, 2025 at 2:17 PM
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]
December 10, 2025 at 6:06 PM
New article: Pattern guards for a protocol. blog.ploeh.dk/2025/12/08/p...
Pattern guards for a protocol
A Haskell example.
blog.ploeh.dk
December 8, 2025 at 2:13 PM
Decouple to delete
Don't try to predict the future.
blog.ploeh.dk
December 5, 2025 at 8:32 AM
Other readers are showing their appreciation of ploeh blog by supporting it. You, too, can do that. blog.ploeh.dk/support
Support the blog
Ploeh blog is free, and always has been. Keep it free.
blog.ploeh.dk
December 2, 2025 at 8:29 AM
New article: Treat test code like production code. blog.ploeh.dk/2025/12/01/t...
Treat test code like production code
You have to read and maintain test code, too.
blog.ploeh.dk
December 1, 2025 at 3:12 PM
TDD improves reusability
The unit tests are the first client of the production API. Production code is reuse.
blog.ploeh.dk
November 28, 2025 at 6:35 AM
New article: Result is the most boring sum type. blog.ploeh.dk/2025/11/24/r...
Result is the most boring sum type
If you don't see the point, you may be looking in the wrong place.
blog.ploeh.dk
November 24, 2025 at 3:23 PM
#repostfriday Modelling versus shaping reality. blog.ploeh.dk/2020/05/18/m...
Modelling versus shaping reality
How does software development relate to reality?
blog.ploeh.dk
November 21, 2025 at 10:23 AM
New article: Empirical software prototyping. blog.ploeh.dk/2025/11/17/e...
Empirical software prototyping
How do you add tests to a proof-of-concept? Should you?
blog.ploeh.dk
November 17, 2025 at 8:56 AM
New article: 100% coverage is not that trivial. blog.ploeh.dk/2025/11/10/1...
100% coverage is not that trivial
Dispelling a myth I helped propagate.
blog.ploeh.dk
November 10, 2025 at 12:08 PM
'Paratechnical power user'. Nice phrase coinage. Well done, 2023-me! #repostfriday blog.ploeh.dk/2023/10/23/d...
Domain Model first
Persistence concerns second.
blog.ploeh.dk
November 7, 2025 at 6:42 AM
Other readers are showing their appreciation of ploeh blog by supporting it. You, too, can do that. blog.ploeh.dk/support
Support the blog
Ploeh blog is free, and always has been. Keep it free.
blog.ploeh.dk
November 4, 2025 at 7:30 AM
New article: Empirical Characterization Testing. blog.ploeh.dk/2025/11/03/e...
Empirical Characterization Testing
Gathering empirical evidence while adding tests to legacy code.
blog.ploeh.dk
November 3, 2025 at 1:21 PM
I'm almost afraid to jinx it, but I've been writing non-trivial Haskell in @vscode.dev all week, and been impressed with how stable and useful it's become of late 👍👌 marketplace.visualstudio.com/items?itemNa...
Haskell - Visual Studio Marketplace
Extension for Visual Studio Code - Haskell language support powered by the Haskell Language Server
marketplace.visualstudio.com
November 1, 2025 at 8:35 AM
When to refactor
FAQ: How do I convince my manager to let me refactor?
blog.ploeh.dk
October 31, 2025 at 4:08 PM
TIL how to FOCUS the Visual Studio Code hover window.

I've long known that Ctrl+k,Ctrl+i shows hover information (e.g. type, documentation), but this hover window sometimes contains so much text that you have to scroll it. How to do that without the mouse? Press Ctrl+k,Ctrl+i again!
October 29, 2025 at 9:03 AM
New article: Empirical test-after development. blog.ploeh.dk/2025/10/27/e...
Empirical test-after development
A few techniques for situations where TDD is impractical.
blog.ploeh.dk
October 27, 2025 at 6:54 AM
Two years ago I wondered if software was getting worse. These days, however, it just seems as though updates are becoming increasingly irrelevant. I really don't care that I can add artificial bunnies to pictures 🙄 #repostfriday blog.ploeh.dk/2023/07/24/i...
Is software getting worse?
A rant, with some examples.
blog.ploeh.dk
October 24, 2025 at 6:27 AM