Mark Seemann
ploeh.dk
Mark Seemann
@ploeh.dk
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
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