My name is Mark Seemann, and ploeh blog is my professional blog (not that I have a personal blog). Here, I write about programming, software development, and architecture.
I'm a professional programmer and software architect living in Copenhagen, Denmark, and currently an independent advisor. I enjoy reading, drawing, playing the guitar, good wine, and gourmet food.
Apart from the hundreds of articles on this blog, I also write and produce material via other professional outlets.
- Dependency Injection in .NET
- Deterministic unit tests with non-deterministic input
- Windows Azure Development: CQRS on Windows Azure
- Unit Testing: Exploring The Continuum Of Test Doubles
- Patterns & Practices: Speed Development With Custom Application Blocks For Enterprise Library
- Easy UI Testing: Isolate Your UI Code Before It Invades Your Business Layer
- Unit Testing: Mock Objects to the Rescue! Test Your .NET Code with NMock
- Composite as Universal Abstraction
- Humane Code
- Type-Driven Development with F#
- Test-Driven Development with F#
- Introduction to Property-based Testing with F#
- Unit Testing with F#
- Encapsulation and SOLID
- A Functional Architecture with F#
- Advanced Unit Testing
- Outside-In Test-Driven Development
During the years, I've been the guest on various podcasts:
- No dogma podcast Mark Seemann, Dependency Rejection, Part 1
- .NET Rocks! Conway's Law with Mark Seemann
- Developer On Fire Mark Seemann - Value and Quality
- No dogma podcast Mark Seemann, Functional Programming and F#
- Functional Geekery Mark Seemann
- .NET Rocks! Learning Haskell with Mark Seemann
- .NET Rocks! Property-Based Testing using F# with Mark Seemann
- Developer On Fire Mark Seemann - Abstract Value
- .NET Rocks! Less is More in Languages with Mark Seemann
- .NET Rocks! Getting into the Zone with Mark Seemann
- Herding Code Mark Seemann on Autofixture and Unit Testing
- .NET Rocks! Mark Seemann Talks Web API and REST
There are lots of ways to contact me, and you are welcome to do so, e.g. if you want to hire me, want me to speak at a conference or user group meeting, or simply if you have a question you think I should answer here on the blog. In case of public speaking, you can also review my public speaking schedule.
One way to contact me is via email. Here's a little test of your sentience: take each segment of the following email address, and reverse it (e.g. email@example.com would become firstname.lastname@example.org): email@example.com.
If you learned something from this blog, or otherwise derived value from it, please consider donating (via PayPal). No amount is too small - I write this blog for free, so I appreciate any donation.