-
-
Notifications
You must be signed in to change notification settings - Fork 323
/
about.html
134 lines (128 loc) · 8.4 KB
/
about.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
---
layout: page
title : About
header : About
group: navigation
---
{% include JB/setup %}
<p>
My name is Mark Seemann, and <em>ploeh blog</em> is my professional blog (not that I have a personal blog). Here, I write about programming, software development, and architecture.
</p>
<p>
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.
</p>
<h2>Publications</h2>
<p>
Apart from the hundreds of articles on this blog, I also write and produce material via other professional outlets.
</p>
<h3>Print</h3>
<p>
<ul>
<li><a href="http://amzn.to/12p90MG">Dependency Injection in .NET</a></li>
<li><a href="http://www.ndc2011.no/userfiles/NDC_Magazine_2011.pdf">Deterministic unit tests with non-deterministic input</a></li>
<li><a href="http://msdn.microsoft.com/en-us/magazine/gg983487.aspx">Windows Azure Development: CQRS on Windows Azure</a></li>
<li><a href="http://msdn.microsoft.com/msdnmag/issues/07/09/MockTesting/default.aspx">Unit Testing: Exploring The Continuum Of Test Doubles</a></li>
<li><a href="http://msdn.microsoft.com/msdnmag/issues/06/07/PatternsAndPractices/default.aspx">Patterns & Practices: Speed Development With Custom Application Blocks For Enterprise Library</a></li>
<li><a href="http://msdn.microsoft.com/en-us/magazine/cc163746.aspx">Easy UI Testing: Isolate Your UI Code Before It Invades Your Business Layer</a></li>
<li><a href="http://msdn.microsoft.com/en-us/magazine/cc163904.aspx">Unit Testing: Mock Objects to the Rescue! Test Your .NET Code with NMock</a></li>
</ul>
</p>
<h3>Video</h3>
<p>
<ul>
<li><a href="https://cleancoders.com/episode/humane-code-real-episode-3/show">Much Ado About Nothing</a></li>
<li><a href="https://cleancoders.com/episode/humane-code-real-episode-2/show">Composite as Universal Abstraction</a></li>
<li><a href="https://cleancoders.com/episode/humane-code-real-episode-1/show">Humane Code</a></li>
<li><a href="{{ site.production_url }}/type-driven-development-with-fsharp">Type-Driven Development with F#</a></li>
<li><a href="{{ site.production_url }}/tdd-with-fsharp">Test-Driven Development with F#</a></li>
<li><a href="{{ site.production_url }}/property-based-testing-intro">Introduction to Property-based Testing with F#</a></li>
<li><a href="{{ site.production_url }}/unit-testing-with-fsharp">Unit Testing with F#</a></li>
<li><a href="{{ site.production_url }}/encapsulation-and-solid">Encapsulation and SOLID</a></li>
<li><a href="{{ site.production_url }}/functional-architecture-with-fsharp">A Functional Architecture with F#</a></li>
<li><a href="{{ site.production_url }}/advanced-unit-testing">Advanced Unit Testing</a></li>
<li><a href="{{ site.production_url }}/outside-in-tdd">Outside-In Test-Driven Development</a></li>
</ul>
</p>
<h3>Audio</h3>
<p>
During the years, I've been the guest on various podcasts:
<ul>
<li><a href="http://nodogmapodcast.bryanhogan.net/85-mark-seemann-dependency-rejection-part-2">No dogma podcast <em>Mark Seemann, Dependency Rejection, Part 2</em></a></li>
<li><a href="http://nodogmapodcast.bryanhogan.net/84-mark-seemann-dependency-rejection-part-1">No dogma podcast <em>Mark Seemann, Dependency Rejection, Part 1</em></a></li>
<li><a href="http://www.dotnetrocks.com/?show=1418">.NET Rocks! <em>Conway's Law with Mark Seemann</em></a></li>
<li><a href="http://developeronfire.com/episode-183-mark-seemann-value-and-quality">Developer On Fire <em>Mark Seemann - Value and Quality</em></a></li>
<li><a href="http://nodogmapodcast.bryanhogan.net/54-mark-seemann-functional-programming-and-f">No dogma podcast <em>Mark Seemann, Functional Programming and F#</em></a></li>
<li><a href="https://www.functionalgeekery.com/episode-57-mark-seemann">Functional Geekery <em>Mark Seemann</em></a></li>
<li><a href="http://www.dotnetrocks.com/?show=1304">.NET Rocks! <em>Learning Haskell with Mark Seemann</em></a></li>
<li><a href="http://www.dotnetrocks.com/?show=1206">.NET Rocks! <em>Property-Based Testing using F# with Mark Seemann</em></a></li>
<li><a href="http://developeronfire.com/episode-024-mark-seemann-abstract-value">Developer On Fire <em>Mark Seemann - Abstract Value</em></a></li>
<li><a href="http://www.dotnetrocks.com/?show=1170">.NET Rocks! <em>Less is More in Languages with Mark Seemann</em></a></li>
<li><a href="http://www.dotnetrocks.com/?show=1001">.NET Rocks! <em>Getting into the Zone with Mark Seemann</em></a></li>
<li><a href="http://herdingcode.com/herding-code-165-mark-seemann-on-autofixture-and-unit-testing">Herding Code <em>Mark Seemann on Autofixture and Unit Testing</em></a></li>
<li><a href="http://www.dotnetrocks.com/?show=797">.NET Rocks! <em>Mark Seemann Talks Web API and REST</em></a></li>
</ul>
</p>
<h2>Contact me</h2>
<p>
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 <a href="http://lanyrd.com/profile/ploeh/">my public speaking schedule</a>.
</p>
<p>
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 protected] would become [email protected]): [email protected].
</p>
<p>
If you learned something from this blog, or otherwise derived value from it, please consider <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=NZEPYW8KVZ8WL">donating (via PayPal)</a>. No amount is too small - I write this blog for free, so I appreciate any donation.
</p>
<p>
<a href="https://github.com/ploeh">My profile on GitHub</a>
</p>
<p>
<a href="http://www.linkedin.com/in/ploeh" ><img src="http://www.linkedin.com/img/webpromo/btn_profile_bluetxt_80x15.gif" width="80" height="15" border="0" alt="View Mark Seemann's profile on LinkedIn"></a>
</p>
<p>
<a href="https://twitter.com/{{ site.author.twitter }}" class="twitter-follow-button" data-show-count="false">Follow @{{ site.author.twitter }}</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
</p>
<p>
<a href='https://www.ohloh.net/accounts/102464?ref=Detailed'><img alt='Ohloh profile for Mark Seemann' height='35' src='https://www.ohloh.net/accounts/102464/widgets/account_detailed.gif' width='191' border='0' /></a>
</p>
<p>
<a href="http://stackoverflow.com/users/126014/mark-seemann">
<img src="http://stackoverflow.com/users/flair/126014.png?theme=clean" width="208" height="58" alt="profile for Mark Seemann at Stack Overflow, Q&A for professional and enthusiast programmers" title="profile for Mark Seemann at Stack Overflow, Q&A for professional and enthusiast programmers">
</a>
</p>
<p>
<style>
.ig-b- {
display: inline-block;
}
.ig-b- img {
visibility: hidden;
}
.ig-b-:hover {
background-position: 0 -60px;
}
.ig-b-:active {
background-position: 0 -120px;
}
.ig-b-v-24 {
width: 137px;
height: 24px;
background: url(//badges.instagram.com/static/images/ig-badge-view-sprite-24.png) no-repeat 0 0;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
.ig-b-v-24 {
background-image: url(//badges.instagram.com/static/images/[email protected]);
background-size: 160px 178px;
}
}
</style>
<p>
</p>
<a href="http://instagram.com/ploeh?ref=badge" class="ig-b- ig-b-v-24"><img src="//badges.instagram.com/static/images/ig-badge-view-24.png" alt="Instagram" /></a>
</p>
<p>
<a href="http://www.last.fm/user/ploeh">My profile on Last.fm</a>
</p>
<p>
<a href="https://www.goodreads.com/author/show/4383188.Mark_Seemann">My profile on Goodreads</a>
</p>