About Me
I'm a technical architect with Headspring in Austin, TX. I focus on DDD, distributed systems, and any other acronym-centric design/architecture/methodology. I created AutoMapper and am a co-author of the ASP.NET MVC in Action books.
Upcoming Talks
-
Recent Posts
Recent Comments
- jbogard on Eventual consistency in REST APIs
- Srdjan on Eventual consistency in REST APIs
- DDD Validation | C#Net on Entity validation with visitors and extension methods
- Scott Banwart's Blog › Distributed Weekly 207 on Saga patterns: wrap up
- Scott Banwart's Blog › Distributed Weekly 207 on Eventual consistency in REST APIs
Archives
- May 2013 (4)
- April 2013 (1)
- March 2013 (6)
- February 2013 (2)
- January 2013 (2)
- December 2012 (3)
- November 2012 (6)
- October 2012 (7)
- September 2012 (3)
- August 2012 (6)
- July 2012 (5)
- June 2012 (3)
- May 2012 (3)
- April 2012 (3)
- March 2012 (8)
- February 2012 (5)
- January 2012 (5)
- December 2011 (3)
- November 2011 (6)
- October 2011 (4)
- September 2011 (6)
- August 2011 (8)
- July 2011 (3)
- June 2011 (4)
- May 2011 (8)
- April 2011 (6)
- March 2011 (3)
- February 2011 (7)
- January 2011 (6)
- December 2010 (4)
- November 2010 (2)
- October 2010 (1)
- September 2010 (7)
- August 2010 (6)
- July 2010 (4)
- June 2010 (7)
- May 2010 (9)
- April 2010 (8)
- March 2010 (5)
- February 2010 (4)
- January 2010 (9)
- December 2009 (9)
- November 2009 (5)
- October 2009 (8)
- September 2009 (8)
- August 2009 (8)
- July 2009 (11)
- June 2009 (10)
- May 2009 (11)
- April 2009 (10)
- March 2009 (9)
- February 2009 (12)
- January 2009 (10)
- December 2008 (8)
- November 2008 (14)
- October 2008 (11)
- September 2008 (10)
- August 2008 (12)
- July 2008 (11)
- June 2008 (11)
- May 2008 (15)
- April 2008 (10)
- March 2008 (15)
- February 2008 (13)
- January 2008 (19)
- December 2007 (9)
- November 2007 (17)
- October 2007 (23)
- September 2007 (10)
- August 2007 (11)
- July 2007 (11)
- June 2007 (9)
- May 2007 (14)
- April 2007 (7)
Categories
- Agile (53)
- ALT.NET (1)
- altnetconf (3)
- Architecture (13)
- ASP.NET (11)
- ASP.NET MVC (46)
- ASP.NET MVC in Action (1)
- ASP.NET Web API (2)
- Austin Code Camp (2)
- Austin DDD Book Club (2)
- AutoMapper (31)
- BDD (8)
- Behave# (6)
- Behavior-Driven Development (5)
- C# (70)
- Code smells (2)
- Community (6)
- Continuous Improvement (3)
- Continuous Integration (7)
- CQRS (3)
- Dependency Injection (9)
- Design (19)
- Distributed Systems (3)
- Domain Driven Design (2)
- Domain-Driven Design (50)
- Entity Framework (2)
- git (15)
- HTML5 (1)
- JavaScript (4)
- Legacy Code (11)
- LINQ (10)
- LINQ to SQL (5)
- Mercurial (9)
- Messaging (8)
- Misc (50)
- MonoRail (4)
- MSBuild (1)
- MVC (1)
- NBehave (3)
- NFJS (1)
- NHibernate (10)
- NServiceBus (18)
- OO (2)
- OSS (1)
- PabloTV (1)
- Patterns (8)
- People (4)
- Personal (2)
- Presentations (1)
- Process (3)
- PTOM (1)
- Rails (3)
- Rant (31)
- Refactoring (22)
- REST (2)
- Rhino Mocks (1)
- Ruby (3)
- SOA (8)
- SQL (4)
- StructureMap (9)
- TDD (32)
- Team Build (6)
- Testing (25)
- TFS (2)
- Tools (36)
- Uncategorized (7)
- VSTS (7)
- WCF (5)
Meta
Monthly Archives: November 2007
Hall of shame
We keep a “Hall of Shame” of WTF-level code snippets to remind us that however bad we might think things get, it could always be worse. It also serves as a reminder to us that we can’t be complacent with ignorance, … Continue reading
Posted in C#, Legacy Code, People
3 Comments
Intention-concealing interfaces: blob parameters
When someone is using your code, you want your code to be as explicit and easy to understand as possible. This is achieved through Intention-Revealing Interfaces. Evans describes the problems of opaque and misleading interfaces in Domain-Driven Design: If a developer … Continue reading
Posted in C#, Domain-Driven Design, Patterns
1 Comment
String extension methods
I got really tired of the IsNullOrEmpty static method, so I converted it into an extension method: public static class StringExtensions { public static bool IsNullOrEmpty(this string value) { return string.IsNullOrEmpty(value); } } Since that method was already static, I … Continue reading
Some 80/20 feedback
Jeff had an interesting post today on putting programmers into two bins, an 80% and a 20%. The 20% were the alpha-geeks, and the 80% were everyone else, “Morts” for lack of a better term. One characterization was that the … Continue reading
Posted in People
Leave a comment
Stop the madness
I’ve been extending a legacy codebase lately to make it a bit more testable, and a few small, bad decisions have slowed my progress immensely. One decision isn’t bad in and of itself, but a small bad decision multiplied a hundred … Continue reading
Posted in Agile, Legacy Code, Testing
3 Comments
ReSharper in VS 2008
UPDATE 11/26/2007 Jeffrey Palermo notes that you can use R# in VS 2008 by turning off a couple of features. Ilya Ryzhenkov, product manager at JetBrains, gives detailed information on R# support in VS 2008 and talks about R# 4.0. … Continue reading
Posted in Tools
6 Comments
Installing Visual Studio 2008
As has already been noted in numerous places, VS 2008 dropped today. The installation process has been surprisingly smooth, given my past installation experiences. Downloading went surprisingly quick (after I was able to get in to the subscriptions site, which took … Continue reading
Posted in Tools
2 Comments
Progress made
I just wanted to highlight a quote from Scott Guthrie’s recent post on MVC (emphasis mine): VS 2008 Professional now includes built-in testing project support for MSTest (previously in VS 2005 this required a Visual Studio Team System SKU), and our … Continue reading
Posted in Testing, Tools
3 Comments
A downcasting tragedy
And now, for another tale of legacy code woe, here’s a gut-wrenching tragedy of OCP and downcasting, in five acts. Exposition We have a feature we’re implementing that when the store’s configuration settings allow for a survey link to be shown, … Continue reading
Posted in Legacy Code, Testing
2 Comments
Tip of the day
If you’re going to physically demonstrate “handwaving“, make sure you don’t have hot chai tea in one of the waving hands. Because it burns. See also: Cause and effect Post Footer automatically generated by Add Post Footer Plugin for wordpress.
Posted in Misc
3 Comments
