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
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: April 2009
How we do MVC
Our team has been using the ASP.NET MVC framework on a production application for about 9 months now, and in that time, we’ve crafted a number of opinions on how we want to design MVC applications. Much of this design … Continue reading
Posted in ASP.NET MVC
34 Comments
The Infinite Extensibility Engine
The biggest issue facing developers today is not lack of OO knowledge, patterns, or guidance. It’s a sad lack of extensibility in today’s frameworks. Over the past year or so, getting familiar with ASP.NET MVC, I think I’ve found an … Continue reading
Posted in Misc
16 Comments
Speeding up a local build
For the past few years, I’ve been fairly strict about following a rigorous Continuous Integration process. That means we run a local build (NOT just a solution compile) before we check in. However, our local build was getting rather long. … Continue reading
AutoMapper feature: interfaces and dynamic mapping
In this post, I’ll highlight two features new in the 0.3 release: mapping to interfaces and dynamic mapping. Both of these come up in rather interesting scenarios. Mapping to interface destinations In some messaging scenarios, the message itself is not … Continue reading
Posted in AutoMapper
7 Comments
Strongly-typed Telerik reports
I absolutely loathe magic strings, especially if all they’re used for is pointing to a member on a type. Using strings to reference a type member is ridiculously brittle, as any change in the source type member, rename or remove, … Continue reading
Posted in C#
7 Comments
A sign of team maturity
You know you have a mature team when, nine months into a project, your testing stats are: 2384 unit tests 606 integration tests 205 UI/acceptance tests And no one is asking to throw a party. In past teams, we would … Continue reading
Posted in Agile, Testing
14 Comments
Quality against a deadline
Parkinson’s Law states: Work expands so as to fill the time available for its completion. With one week iterations on an XP team, we really don’t have that problem. On previous teams, with lengthy six month waterfall cycles, work might … Continue reading
Posted in Process
6 Comments
AutoMapper 0.3 Beta released
Today, I dropped AutoMapper 0.3 Beta. From the release notes: New Features Mapping to interfaces Do not need any implementation configured Implementation is created at runtime using proxies Dynamic mapping Do not need to configure source/destination type Used with Mapper.DynamicMap … Continue reading
Posted in AutoMapper
Leave a comment
Adventures with IL Merge
A recent addition to AutoMapper is the feature where I can map directly to and from interfaces. You don’t need a concrete type to do this, AutoMapper will create an implementation for you at runtime, with default property behavior. To … Continue reading
Posted in AutoMapper, C#
Leave a comment
Required developer reading
The path from good developer to great developer is a long road, and not one with clear markers along the way. When I started developing years and years ago, I was the fish floundering about, looking for the “Right” way … Continue reading
Posted in Continuous Improvement
Leave a comment
