Mark Seemann
ploeh.dk
Mark Seemann
@ploeh.dk
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
New article: Epistemology of software. blog.ploeh.dk/2025/10/20/e...
Epistemology of software
How do you know that your code works?
blog.ploeh.dk
October 20, 2025 at 6:30 AM
New article: Result isomorphism. blog.ploeh.dk/2025/10/15/r...
Result isomorphism
Result types are roughly equivalent to exceptions.
blog.ploeh.dk
October 15, 2025 at 3:09 PM
#repostfriday Changing your organisation. blog.ploeh.dk/2021/12/20/c...
Changing your organisation
Or: How do I convince X to adopt Y in software development?
blog.ploeh.dk
October 10, 2025 at 8:02 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
October 8, 2025 at 9:57 AM
New article: Shift left on x. blog.ploeh.dk/2025/10/06/s...
Shift left on x
A difficult task may be easier if done sooner.
blog.ploeh.dk
October 6, 2025 at 8:01 AM
#repostfriday Unit testing private helper methods. blog.ploeh.dk/2021/09/13/u...
Unit testing private helper methods
Evolving a private helper method, guided by tests.
blog.ploeh.dk
October 3, 2025 at 7:44 AM
I've been reviewing some Python code that uses Result return types (via returns.readthedocs.io), and once more I refer to @eiriktsarpalis.bsky.social's excellent article 'You’re better off using Exceptions': eiriktsarpalis.wordpress.com/2017/02/19/y...
returns 0.26.0 documentation
returns.readthedocs.io
October 1, 2025 at 6:29 AM
As things currently look, IT Days in Cluj-Napoca is going to be my only public appearance in 2025. www.itdays.ro
September 30, 2025 at 10:41 AM
New article: Composing pure Haskell assertions. blog.ploeh.dk/2025/09/29/c...
Composing pure Haskell assertions
With HUnit and QuickCheck examples.
blog.ploeh.dk
September 29, 2025 at 7:49 AM
#repostfriday Property-based testing is not the same as partition testing. blog.ploeh.dk/2021/06/28/p...
Property-based testing is not the same as partition testing
Including an example of property-based testing without much partitioning.
blog.ploeh.dk
September 26, 2025 at 6:58 AM
It's striking so quickly the industry forgets that lines of code isn't a measure of productivity. blog.ploeh.dk/2025/09/22/i...
It's striking so quickly the industry forgets that lines of code isn't a measure of productivity
Code is a liability, not an asset.
blog.ploeh.dk
September 22, 2025 at 6:56 AM
While you wait for your work language to get discriminated unions: Your language already has discriminated unions. #repostfriday Visitor as a sum type. blog.ploeh.dk/2018/06/25/v...
Visitor as a sum type
The Visitor design pattern is isomorphic to sum types.
blog.ploeh.dk
September 19, 2025 at 7:29 AM
Look, I found a real-life Tron Recognizer ship!
September 17, 2025 at 3:06 PM
New article: Greyscale-box test-driven development. blog.ploeh.dk/2025/09/15/g...
Greyscale-box test-driven development
Is TDD white-box testing or black-box testing?
blog.ploeh.dk
September 15, 2025 at 7:00 PM
Against consistency
A one-sided argument against imposing a uniform coding style.
blog.ploeh.dk
September 12, 2025 at 5:35 AM
New article: IO is special. blog.ploeh.dk/2025/09/08/i...
IO is special
Are IO expressions really referentially transparent programs?
blog.ploeh.dk
September 8, 2025 at 5:57 AM