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
- 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
- AquaBirdConsult on Eventual consistency in REST APIs
- Jalpesh Vadgama on Building forms for deep View Model graphs in ASP.NET MVC
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: March 2008
PTOM: The Dependency Inversion Principle
The Dependency Inversion Principle, the last of the Uncle Bob “SOLID” object-oriented design principles, can be thought of the natural progression of the Liskov Substitution Principle, the Open Closed Principle and even the Single Responsibility Principle. This post is the … Continue reading
Posted in PTOM
9 Comments
Stop creating custom delegate types
Note to OSS and framework developers: Please stop creating custom delegate types. Use the Action and Func delegates instead. The problem is that delegate types with the same signature are not convertible to each other. For example, none of these … Continue reading
Posted in C#
14 Comments
Looking for Extreme Programmers in Austin, TX
As was announced on Jeffrey’s blog, Headspring is hiring Extreme Programmers. We have several positions to fill, so if you’re interested in joining the leading agile consulting company in Austin, please apply through our job posting. We’re a small company … Continue reading
Posted in Misc
3 Comments
Variations on a Func-y theme
Delegates have come a long way since C# 1.0 debuted back in early 2002. The progression from using delegate parameters (outside of events) grew from quite cumbersome to fairly expressive with Lambda expressions with C# 3.0. Functional style programming has … Continue reading
Posted in C#
2 Comments
Is your process dead?
Two of the conventional criteria for exhibiting life are: Adaptation Response to stimuli Together these combine into the ability to respond to outside forces. So how do we know if your process is dead? If your team or organization: Does … Continue reading
Posted in Agile
2 Comments
Controller bloat?
Some of my background information first: 2 years classic ASP (ASP 3.0) 5 years ASP.NET 1-2 months MonoRail 10 minutes ASP.NET MVC ~45 seconds Ruby on Rails That’s the sum of my experience with different web application frameworks. Obviously it’s … Continue reading
Posted in ASP.NET MVC, MonoRail
5 Comments
Mapping options in LINQ to SQL
A recent thread on the ALT.NET message board asked: How does everyone create the DataContext for their DB? Do you use the IDE and generate your custom .dbml (which also generates all your DTO’s)? Do you use a generic DataContext … Continue reading
Posted in Domain-Driven Design, LINQ to SQL
2 Comments
Review – xUnit Test Patterns
I consider one of the measures of quality of a book to be the number of personal assumptions challenged by its material. To that point, Gerard Meszaros’ xUnit Test Patterns did not disappoint. Perhaps the biggest assumption was a dogmatic … Continue reading
Posted in TDD
5 Comments
Clearing up the Mock confusion
There’s some bad blood concerning Mocks, and a lot of it rightfully so. Because of popular mocking frameworks, the name “Mock” has become interchangeable for “Test Double”. In Texas, we ask for a Kleenex, not a tissue, and a Coke … Continue reading
Posted in TDD
3 Comments
Advanced mocking: mocks and stubs
Test Spies can help us verify the indirect outputs of a system under test. If an OrderProcessor needs to send an email, we don’t want that test sending real emails, so we set up a Test Spy to capture that … Continue reading
Posted in TDD
4 Comments
