2017
January
- January 26, 2017 » New Year, New Blog
2016
December
- December 12, 2016 » Dealing with Duplication in MediatR Handlers
October
- October 27, 2016 » CQRS/MediatR implementation patterns
- October 24, 2016 » Vertical Slice Test Fixtures for MediatR and ASP.NET Core
- October 21, 2016 » Contoso University updated to ASP.NET Core
- October 13, 2016 » MediatR Pipeline Examples
August
- August 17, 2016 » AutoMapper 5.1 released
July
- July 20, 2016 » Integrating AutoMapper with ASP.NET Core DI
- July 19, 2016 » MediatR Extensions for Microsoft Dependency Injection Released
- July 18, 2016 » HtmlTags 4.1 Released for ASP.NET 4 and ASP.NET Core
- July 7, 2016 » AutoMapper 5.0 Released
June
- June 24, 2016 » AutoMapper 5.0 speed increases
- June 20, 2016 » 10 Lessons from a Long Running DDD Project – Part 2
- June 13, 2016 » 10 Lessons from a Long Running DDD Project – Part 1
- June 7, 2016 » Launching ASP.NET Core 1.0 course
- June 3, 2016 » What Microservices Is Not
- June 1, 2016 » CQRS and REST: the perfect match
May
- May 24, 2016 » My OSS CI/CD Pipeline
- May 18, 2016 » AutoMapper 5.0 Beta released
- May 12, 2016 » Entities aren’t resources, resources aren’t representations
April
- April 29, 2016 » Validation inside or outside entities?
March
- March 14, 2016 » Software Lessons from Property Brothers
February
- February 24, 2016 » AutoMapper 4.2.1 released – Static is back (limited) edition
January
- January 28, 2016 » AutoMapper 4.2.0 released
- January 21, 2016 » Removing the static API from AutoMapper
2015
December
- December 17, 2015 » C# 6 Feature Review: Expression-Bodied Function Members
- December 9, 2015 » C# 6 Feature Review: Auto-Property Enhancements
October
- October 22, 2015 » AutoMapper 4.1.0 Released
August
- August 11, 2015 » Platform generalists versus framework specialists
- August 5, 2015 » AutoMapper 4.0 Released
July
- July 17, 2015 » C# 6 Exception Filters Will Improve Your Home Life
- July 8, 2015 » Entity Framework extensions for AutoMapper
- July 7, 2015 » AutoMapper dev builds moved to MyGet
- July 2, 2015 » NDC talk on SOLID in slices not layers video online
- July 1, 2015 » End-to-end Hypermedia: Building a React Client
June
- June 18, 2015 » End-to-End Hypermedia: Building the Client
- June 3, 2015 » End-to-End Hypermedia: Building the Server
May
- May 22, 2015 » End-to-End Hypermedia: Choosing a Media Type
- May 19, 2015 » End-to-End Hypermedia: Making the Leap
- May 5, 2015 » CQRS with MediatR and AutoMapper
April
- April 17, 2015 » Saga Implementation Patterns: Singleton
- April 7, 2015 » Clean Tests: Database Persistence
March
- March 24, 2015 » Clean Tests: Isolation with Fakes
- March 2, 2015 » Clean Tests: Isolating the Database
February
- February 19, 2015 » Reliable database tests with Respawn
- February 17, 2015 » Clean Tests: Isolating Internal State
- February 13, 2015 » Cross-Platform AutoMapper (again)
- February 5, 2015 » Clean Tests: Building Test Types
- February 2, 2015 » AutoMapper support for ASP.NET 5.0 and ASP.NET Core 5.0
January
- January 30, 2015 » AutoMapper support for Xamarin Unified (64 bit)
- January 29, 2015 » Clean Tests: A Primer
- January 20, 2015 » Integrating MediatR with Web API
- January 15, 2015 » Combating the lava-layer anti-pattern with rolling refactoring
- January 13, 2015 » Generic variance in DI containers
- January 6, 2015 » Los Techies 2014 Year in Review
2014
December
- December 30, 2014 » AutoMapper 3.3 feature: parameterized projections
- December 23, 2014 » AutoMapper 3.3 feature: Projection conversions
- December 19, 2014 » AutoMapper 3.3 feature: open generics
- December 17, 2014 » MediatR hits 1.0
November
- November 29, 2014 » AutoMapper 3.3 released
- November 13, 2014 » Mobile authentication with Xamarin.Auth and refresh tokens
- November 11, 2014 » Dealing with the linker in Xamarin apps
October
- October 29, 2014 » Azure Mobile Services with AutoMapper
- October 28, 2014 » Comparing processing times of NServiceBus saga patterns
- October 2, 2014 » NServiceBus 5.0 behaviors in action: routing slips
September
- September 23, 2014 » The value proposition of Hypermedia
- September 17, 2014 » Container Usage Guidelines
- September 9, 2014 » Tackling cross-cutting concerns with a mediator pipeline
August
- August 26, 2014 » Announcing Austin Code Camp 2014
- August 14, 2014 » Conventional HTML in ASP.NET MVC: Client-side templates
July
- July 25, 2014 » Conventional HTML in ASP.NET MVC: Building larger primitives
- July 24, 2014 » Conventional HTML in ASP.NET MVC: Validators
- July 23, 2014 » Conventional HTML in ASP.NET MVC: Data-bound elements
- July 22, 2014 » Conventional HTML in ASP.NET MVC: Replacing form helpers
- July 17, 2014 » Conventional HTML in ASP.NET MVC: Baseline behavior
- July 11, 2014 » Conventional HTML in ASP.NET MVC: Adopting Fubu conventions
June
- June 25, 2014 » Survey of two large MVC projects
May
- May 29, 2014 » Missing EF Feature Workarounds: Filters
- May 13, 2014 » A better domain events pattern
- May 9, 2014 » Missing EF Feature Workarounds: Encapsulated collections
- May 8, 2014 » Missing EF Feature Workarounds: Cascade delete orphans
- May 7, 2014 » Projecting computed properties with LINQ and AutoMapper
- May 5, 2014 » Missing NHibernate features in Entity Framework
April
- April 29, 2014 » Domain modeling with Entity Framework scorecard
- April 22, 2014 » Migrating from NHibernate to Entity Framework
- April 15, 2014 » AutoMapper 3.2.0 released
- April 8, 2014 » Using AutoMapper to perform LINQ aggregations
- April 3, 2014 » Using AutoMapper to prevent SELECT N+1 problems
March
- March 20, 2014 » Successful IoC container usage
- March 12, 2014 » Avoid many-to-many mappings in ORMs
- March 11, 2014 » Efficient querying with LINQ, AutoMapper and Future queries
February
- February 27, 2014 » Reducing NServiceBus Saga load
- February 19, 2014 » Converting AutoMapper to a Portable Class Library
- February 4, 2014 » Rendering ASP.NET content as PDF
January
- January 30, 2014 » Estimations in budgets and costs
2013
December
- December 20, 2013 » Proper Session/DbContext lifecycle management
- December 19, 2013 » Put your controllers on a diet: POSTs and commands
November
- November 7, 2013 » Null collections/arrays from MVC model binding
October
- October 29, 2013 » Put your controllers on a diet: GETs and queries
- October 23, 2013 » Put your controllers on a diet: a survey
- October 22, 2013 » Put your controllers on a diet: defactoring
- October 10, 2013 » Put your controllers on a diet: redux
- October 8, 2013 » Evolutionary architecture boundaries
- October 3, 2013 » Scaling lessons learned–from 0 to 15 million users
- October 1, 2013 » Curbing long tail design
September
- September 26, 2013 » Test styles and avoiding setup/teardown
- September 25, 2013 » Perception is Reality–The state of OSS in .NET
- September 4, 2013 » AutoMapper 3.0, Portable Class Libraries and PlatformNotSupportedException
August
- August 25, 2013 » AutoMapper 3.0 released
- August 13, 2013 » Conventional HTML in ASP.NET MVC: Building tags
July
- July 18, 2013 » Conventional HTML in ASP.NET MVC: A Primer
- July 17, 2013 » How we do MVC – 4 years later
June
- June 28, 2013 » NDC Videos online
- June 24, 2013 » Austin Code Camp 2013 registration open
- June 20, 2013 » Run tests explicitly in xUnit.net
- June 18, 2013 » Strategies for isolating the database in tests
- June 7, 2013 » Distributed systems reading list
- June 6, 2013 » ACID 2.0 in action
May
- May 15, 2013 » Eventual consistency in REST APIs
- May 14, 2013 » Saga patterns: wrap up
- May 9, 2013 » Ditching two-phased commits
- May 1, 2013 » Messages, data and types
April
- April 26, 2013 » Saga alternatives – routing slips
March
- March 26, 2013 » Scaling NServiceBus Sagas
- March 21, 2013 » Saga implementation patterns – variations
- March 14, 2013 » Saga implementation patterns – Controller
- March 12, 2013 » Elaborating on “it depends”
- March 11, 2013 » Saga implementation patterns – Observer
- March 6, 2013 » When should you test?
February
- February 13, 2013 » Serialization madness, Unicode edition
- February 6, 2013 » Internal versus external events
January
- January 31, 2013 » NServiceBus, Semantic Versioning and events
- January 29, 2013 » FizzBuzz is dead. Long live FizzBuzz!
2012
December
- December 20, 2012 » Messaging Semantics: Ownership
- December 17, 2012 » Dublin ALT.NET / Skills Matter / Kiev ALT.NET slides & code
- December 6, 2012 » Messaging semantics: names and verbs
November
- November 21, 2012 » Upcoming talks–Nov/Dec 2012 edition
- November 20, 2012 » IKEA stand up desk: two months later
- November 14, 2012 » Respect and the 40-hour work week
- November 7, 2012 » Why GitHub’s pricing model stinks (for us)
- November 6, 2012 » Testing with queries and repositories (a simple example)
- November 1, 2012 » NServiceBus and concurrency
October
- October 31, 2012 » Estimation scoping
- October 24, 2012 » Don’t forget your users
- October 23, 2012 » Feature branches and toggles
- October 18, 2012 » Isolating database data in integration tests
- October 15, 2012 » Speaking in Detroit area this week
- October 8, 2012 » Favor query objects over repositories
- October 3, 2012 » Building a non-native mobile HTML5 App
September
- September 20, 2012 » Limiting your abstractions
- September 17, 2012 » AutoMapper for Java
- September 12, 2012 » Why I’m done with Scrum
August
- August 30, 2012 » Evolutionary Project Structure
- August 23, 2012 » CQRS and user experience
- August 22, 2012 » ThatConference presentation content posted – Functional Testing in MVC
- August 22, 2012 » Busting some CQRS myths
- August 21, 2012 » Central Texas GiveCamp needs volunteers
- August 13, 2012 » Reliable job scheduling with NServiceBus and Quartz.NET
July
- July 26, 2012 » ORM techniques for legacy databases
- July 24, 2012 » Don’t write your own ORM
- July 20, 2012 » Choosing an ORM strategy
- July 18, 2012 » Troubleshooting SQL index performance on varchar columns
- July 10, 2012 » Our Post-Agile World
June
- June 26, 2012 » Eventual consistency, CQRS and interaction design
- June 15, 2012 » Using posh-git and posh-hg together
- June 7, 2012 » NDC 2012 presentations posted
May
- May 15, 2012 » Mixing async and sync in distributed systems
- May 3, 2012 » Limits of performance optimization
- May 1, 2012 » Persisting enumeration classes with NHibernate
April
- April 18, 2012 » Custom errors and error detail policy in ASP.NET Web API
- April 10, 2012 » ASP.NET Web API, MVC, ViewModels and Formatters
- April 2, 2012 » Working with Forks on GitHub or CodePlex
March
- March 29, 2012 » How to fork the ASP.NET Web Stack to GitHub
- March 28, 2012 » ASP.NET MVC, Web API, Razor and Open Source and what it means
- March 27, 2012 » Dallas Day of Dot Net NServiceBus presentation posted
- March 19, 2012 » Integrating and isolating the container in tests
- March 8, 2012 » Git core.autocrlf settings poll results
- March 7, 2012 » Tabs versus spaces: Spaces won
- March 2, 2012 » Twtpoll – your git global core.autocrlf settings
- March 1, 2012 » Local builds and build servers
February
- February 22, 2012 » Built-In Roles in NServiceBus
- February 20, 2012 » Visual Studio Command Prompt in Console
- February 8, 2012 » OSS Rules of Engagement
- February 6, 2012 » Constraints, expectations and real estate
- February 1, 2012 » Improving the Git Windows experience: Downloads
January
- January 31, 2012 » Multiple messages and transport messages in NServiceBus
- January 24, 2012 » Speaking at San Diego DNUG tonight
- January 24, 2012 » CodeMash 2012 wrap up
- January 18, 2012 » The grand No Flash experiment (update)
- January 3, 2012 » Formula for project success
2011
December
- December 16, 2011 » Duke Nukem, unhappy marriages, and the Anna Karenina principle
- December 7, 2011 » Is ThreadStatic a leaky abstraction?
- December 6, 2011 » A grand experiment
November
- November 29, 2011 » The value of certifications
- November 28, 2011 » Dealing with transactions
- November 22, 2011 » Stop premature email sending with NServiceBus
- November 18, 2011 » When to use NHibernate
- November 9, 2011 » The last vestiges of Hungarian notation
- November 1, 2011 » Why do TDD?
October
- October 26, 2011 » Async messaging realities
- October 14, 2011 » The D in DVCS
- October 12, 2011 » The Dart Hello World
- October 11, 2011 » Event Sourcing as a strategic advantage
September
- September 29, 2011 » AutoMapper 2.0 – Nested/Child Containers
- September 22, 2011 » AutoMapper 2.0.0 released
- September 20, 2011 » Git workflows with git-tfs
- September 13, 2011 » AutoMapper completely moved to GitHub
- September 9, 2011 » Flash on smartphones
- September 7, 2011 » Building forms for deep View Model graphs in ASP.NET MVC
August
- August 25, 2011 » Integrating Toto and a Sinatra app in 10 steps
- August 23, 2011 » Building AutoMapper.org
- August 22, 2011 » Official site of AutoMapper launched at AutoMapper.org
- August 18, 2011 » MSMQ and cached DNS
- August 15, 2011 » To sign or not to sign an OSS project
- August 10, 2011 » Edge cases and impossibilities
- August 4, 2011 » A brighter TFS future?
- August 1, 2011 » Disruptive versus iterative change
July
- July 28, 2011 » How to fix Subversion merge
- July 8, 2011 » Endemic simplicity
- July 7, 2011 » Intelligent model binding with model binder providers
June
- June 24, 2011 » Model binding XML in ASP.NET MVC 3
- June 22, 2011 » Cleaning up POSTs in ASP.NET MVC
- June 21, 2011 » Upsides of Scrum
- June 8, 2011 » CodeStock 2011 Wrap-up
May
- May 27, 2011 » Distributed computing fallacies and REST
- May 27, 2011 » Waste and group estimations
- May 25, 2011 » Symptoms of a centralized VCS
- May 17, 2011 » Estimation in consulting
- May 13, 2011 » From sprints to pull-based flow
- May 12, 2011 » Visualizing the entire flow
- May 10, 2011 » Ditching planning poker
- May 4, 2011 » Time to retire VB.NET
April
- April 22, 2011 » Efficient transactional processing
- April 20, 2011 » Experiences with REST
- April 19, 2011 » Drawing boundaries
- April 12, 2011 » Distributed Podcast episode live
- April 5, 2011 » Gawker sites breaking the web
- April 1, 2011 » Not an April Fool’s post
March
- March 31, 2011 » Separation of Concerns and databases
- March 29, 2011 » Scheduled tasks with Quartz.NET
- March 8, 2011 » Another source for LINQ extensions
February
- February 23, 2011 » Versioning strategies for the sane
- February 17, 2011 » Agile: 10 years later
- February 15, 2011 » Prototyping with anonymous classes
- February 11, 2011 » Trivia Friday
- February 10, 2011 » Attack of the pseudo-frames
- February 9, 2011 » Autoprojecting LINQ queries
- February 1, 2011 » Three simple Mercurial rules
January
- January 27, 2011 » Reloading all projects with VSCommands
- January 25, 2011 » Tagging assemblies with Mercurial changeset hash
- January 12, 2011 » Defining unit tests
- January 12, 2011 » Shifting testing strategies away from mocks
- January 7, 2011 » Putting mocks in their place
- January 5, 2011 » The developer’s true goal
2010
December
- December 17, 2010 » Most boring debates ever
- December 6, 2010 » Ditching domain models for reads
- December 2, 2010 » The case against Interfaces in TDD
- December 1, 2010 » Protip: Viewing large XML files
November
- November 30, 2010 » Case study in mixing system concerns
- November 18, 2010 » Queues are still queues
October
- October 6, 2010 » Five rules for writing effective UI tests
September
- September 30, 2010 » Concepts and features – an example
- September 24, 2010 » Canonical URLs with Rack and Heroku
- September 22, 2010 » Sinatra and Heroku: the elevator pitch
- September 21, 2010 » Moving containers beyond testability
- September 17, 2010 » A question for Rubyists
- September 10, 2010 » A healthy transition
- September 8, 2010 » Natural selection in IT
August
- August 27, 2010 » Database indexes are your friend
- August 26, 2010 » Why Hg branches are broken (or at least less useful)
- August 25, 2010 » An effective testing strategy
- August 17, 2010 » AutoMapper upgraded to .NET 4 and VS 2010
- August 5, 2010 » OSS and the .NET Framework upgrade
- August 4, 2010 » Container-friendly domain events
July
- July 29, 2010 » A github first
- July 28, 2010 » Mercurial workflows: mainline workflow
- July 23, 2010 » mvcConf slides and code posted
- July 9, 2010 » Mercurial workflows: local development work
June
- June 30, 2010 » Ad-hoc mapping with NHibernate
- June 24, 2010 » Bulk processing with NHibernate
- June 17, 2010 » Automating scheduled tasks
- June 10, 2010 » Are daily stand-ups necessary?
- June 9, 2010 » Capturing Rhino Mocks arguments in C# 4.0
- June 3, 2010 » Translating my Git workflow with local branches to Mercurial
- June 2, 2010 » Dependency Injection in ASP.NET MVC: Final Look
May
- May 26, 2010 » Testing assumptions with preconditions
- May 20, 2010 » The religion of dependency injection
- May 19, 2010 » Dependency Injection in ASP.NET MVC: Views
- May 18, 2010 » Caveats of C# 4.0 optional parameters
- May 13, 2010 » Teaching ASP.NET MVC Boot Camp on May 26th
- May 12, 2010 » Starting and using Git successfully
- May 5, 2010 » AutoMapper 1.1 released
- May 4, 2010 » Dependency Injection in ASP.NET MVC: Action Results
- May 3, 2010 » Dependency Injection in ASP.NET MVC: Filters
April
- April 30, 2010 » Attribute lifecycle
- April 30, 2010 » AutoMapper Git workflow – dealing with bugs/issues
- April 28, 2010 » Dependency Injection in ASP.NET MVC: Contextual controller injection
- April 27, 2010 » Dependency Injection in ASP.NET MVC: Controllers
- April 16, 2010 » AutoMapper source moved to GitHub
- April 14, 2010 » Injecting services into entities
- April 8, 2010 » Strengthening your domain: Domain Events
- April 5, 2010 » Integrating the Git bash into Console
March
- March 31, 2010 » Strengthening your domain: Avoiding setters
- March 30, 2010 » Strengthening your domain: The double dispatch pattern
- March 24, 2010 » Strengthening your domain: Encapsulating operations
- March 11, 2010 » No silver domain modeling bullets
- March 10, 2010 » Strengthening your domain: Encapsulated collections
February
- February 24, 2010 » Strengthening your domain: Aggregate Construction
- February 19, 2010 » AutoMapper for Silverlight 3.0 Alpha
- February 4, 2010 » Strengthening your domain: a primer
- February 1, 2010 » AutoMapper 1.0 RTW
January
- January 29, 2010 » Evolutionary Architecture
- January 26, 2010 » Context and Best Practices
- January 22, 2010 » Advanced StructureMap: Diagnosing problems
- January 19, 2010 » My picture of an MVC-WebForms marriage
- January 18, 2010 » Starting fresh
- January 18, 2010 » Poor use of DI versus need for DI
- January 6, 2010 » MVC Bootcamp next week
- January 4, 2010 » UI Automation tools snake oil?
2009
December
- December 23, 2009 » AutoMapper DSL design post-mortem
- December 18, 2009 » Advanced StructureMap: connecting implementations to open generic types
- December 12, 2009 » Enabling IoC in ASP.NET ActionResults (or, a better ActionResult)
- December 9, 2009 » InfoQ interview on ASP.NET MVC in Action up
- December 9, 2009 » Organizing ASP.NET MVC solutions
- December 8, 2009 » LINQ query operators and null lists
- December 3, 2009 » Persistence model and domain anemia
- December 3, 2009 » The Template Method is a lie
- December 2, 2009 » Migrating to Fluent NHibernate
November
- November 24, 2009 » Hitting the upper limit of foreign key constraints
- November 20, 2009 » A better Model Binder addendum
- November 13, 2009 » How to annoy your teammates
- November 13, 2009 » Willed and forced design
- November 9, 2009 » Fields and virtual members
October
- October 28, 2009 » MVC Best Practices
- October 28, 2009 » MVC Web Testing Strategies – verifying content
- October 23, 2009 » C4MVC UI Testing screencast posted
- October 21, 2009 » C4MVC meeting on UI testing
- October 19, 2009 » How not to implement a failing test
- October 16, 2009 » More missing LINQ operators
- October 16, 2009 » Thanks Arkansas!
- October 8, 2009 » An AutoMapper success story
September
- September 30, 2009 » Bugs, defects and feedback
- September 29, 2009 » My favorite bug-tracking system
- September 28, 2009 » Thanks Houston TechFest!
- September 18, 2009 » The case for two-way mapping in AutoMapper
- September 15, 2009 » AutoMapper 1.0 RC1 released
- September 11, 2009 » Wither the Repository
- September 3, 2009 » DDD: Repository Implementation Patterns
- September 1, 2009 » Partially closed generic types
August
- August 28, 2009 » My favorite NHibernate exception
- August 27, 2009 » The WebForms stalwarts
- August 18, 2009 » How to hinder reflection-based scenarios
- August 17, 2009 » Getting stuck in the weeds
- August 15, 2009 » Continuous learning and getting left behind
- August 12, 2009 » JavaScript: A tool too sharp?
- August 6, 2009 » Late-Bound Invocations with DynamicMethod
- August 5, 2009 » Analyzing AutoMapper performance
July
- July 29, 2009 » Succeeding with mediocrity
- July 29, 2009 » My ideal IDE
- July 27, 2009 » Refactoring challenge #2 – functionally illiterate
- July 23, 2009 » Refactoring Challenge Part 3 – Pattern Implementation
- July 14, 2009 » When is Poor Man’s Dependency Injection appropriate?
- July 14, 2009 » No Fluff Just Stuff roundup
- July 9, 2009 » Refactoring challenge Part 2 – Preparation
- July 8, 2009 » Refactoring challenge Part 1 – Examination
- July 7, 2009 » Refactoring challenge
- July 3, 2009 » How not to do Dependency Injection, in NerdDinner
- July 2, 2009 » Congrats to the Los Techies MVPs!
June
- June 30, 2009 » How we do MVC – View models
- June 25, 2009 » Expressions Cheat Sheet
- June 19, 2009 » The Filter-ViewData anti-pattern
- June 18, 2009 » More on Late-Bound Invocations with Expression Trees
- June 15, 2009 » Why opinionated input builders for ASP.NET MVC?
- June 15, 2009 » Requesting features for AutoMapper
- June 11, 2009 » Simplest versus first thing that could possibly work
- June 9, 2009 » Defining and refining conventions
- June 8, 2009 » Reflecting reality
- June 4, 2009 » Fighting technical debt with the wall of pain
May
- May 29, 2009 » Meaning of life
- May 28, 2009 » PTOM: Black-box analysis of legacy applications
- May 22, 2009 » Subverting TDD as a design tool
- May 21, 2009 » Podcast on AutoMapper live
- May 20, 2009 » Beyond top-down design
- May 15, 2009 » Project-wide controller survey through reflection
- May 14, 2009 » Essential tools for web developers
- May 13, 2009 » Success and statistics
- May 12, 2009 » AutoMapper and IoC
- May 6, 2009 » A testing survey on a large project
- May 6, 2009 » AutoMapper feature – custom type converters
April
- April 24, 2009 » How we do MVC
- April 22, 2009 » The Infinite Extensibility Engine
- April 16, 2009 » Speeding up a local build
- April 15, 2009 » AutoMapper feature: interfaces and dynamic mapping
- April 11, 2009 » Strongly-typed Telerik reports
- April 9, 2009 » A sign of team maturity
- April 9, 2009 » Quality against a deadline
- April 5, 2009 » AutoMapper 0.3 Beta released
- April 4, 2009 » Adventures with IL Merge
- April 3, 2009 » Required developer reading
March
- March 18, 2009 » A better Model Binder
- March 17, 2009 » Unicode in regular expressions
- March 16, 2009 » A sign of the times
- March 16, 2009 » Disambiguating a test fixture
- March 12, 2009 » What’s in a version name?
- March 11, 2009 » ASP.NET MVC RC finally working for me
- March 9, 2009 » Why are we so cheap with software?
- March 5, 2009 » Transactions and the check-in dance
February
- February 27, 2009 » AutoMapper now on TeamCity.CodeBetter.com
- February 26, 2009 » Seamless test authoring with ReSharper and AutoHotKey
- February 25, 2009 » Polymorphism in Expression trees
- February 21, 2009 » AutoMapper feature: projection
- February 17, 2009 » Spaces in identifier names in C#
- February 15, 2009 » Validation in a DDD world
- February 15, 2009 » Language feature parity and the polyglot programmer
- February 11, 2009 » AutoMapper 0.2 released
- February 11, 2009 » Entropy in software
- February 11, 2009 » On symbology and materialism
- February 5, 2009 » DDD Aggregate Component pattern in action
- February 3, 2009 » Crafting wicked domain models with Components in DDD
January
- January 29, 2009 » AutoMapper mailing list created
- January 29, 2009 » Be wary of container calls in tests
- January 28, 2009 » ASP.NET MVC options for consolidating HTML
- January 23, 2009 » AutoMapper: the Object-Object Mapper
- January 20, 2009 » JavaScript decorator pattern
- January 14, 2009 » A new breed of magic strings in ASP.NET MVC
- January 11, 2009 » Enabling success with opinionated architecture
- January 6, 2009 » DDD is not all-or-nothing
- January 5, 2009 » 10 things to embrace in 2009
- January 3, 2009 » Extension methods and a plea for mixins
2008
December
- December 31, 2008 » Ten things to retire in 2009
- December 21, 2008 » Piecemeal Expression evaluation
- December 19, 2008 » Getting value out of your unit tests
- December 18, 2008 » Why we need named parameters
- December 16, 2008 » Domain Models in presentation frameworks
- December 15, 2008 » Making frameworks container-aware
- December 12, 2008 » More C# Attribute annoyances
- December 9, 2008 » Attributes are lousy decorators
November
- November 27, 2008 » Visualizing LINQ expressions in the debugger
- November 27, 2008 » Viewing all foreign key constraints in SQL Server
- November 25, 2008 » Dealing with parameters in expressions and strongly-typed reflection
- November 23, 2008 » Beware exceptions in attribute constructors
- November 22, 2008 » Well that’s just precious
- November 20, 2008 » Functionally dynamic?
- November 19, 2008 » Programmers are not typists first
- November 18, 2008 » Where TDD fails for me
- November 9, 2008 » SystemTime versus ISystemClock – dependencies revisited
- November 8, 2008 » Boycotting Flash
- November 8, 2008 » Conversion operator behavior and casting
- November 7, 2008 » Worst Visual Studio message ever
- November 5, 2008 » Thoughts on C# 4.0
- November 5, 2008 » Continuous Integration Tip of the Day
October
- October 30, 2008 » Searching for a read-only list
- October 29, 2008 » Testing fun with ASP.NET MVC
- October 27, 2008 » Hail to the king, baby!
- October 22, 2008 » Where are the DDD sample applications?
- October 21, 2008 » Encapsulation and thinking behaviorally
- October 15, 2008 » Fluent hierarchical construction
- October 14, 2008 » Acceptable test failures
- October 12, 2008 » NotImplementedException and the Interface Segregation Principle
- October 6, 2008 » Three simple Rhino Mocks rules
- October 4, 2008 » Transitioning between consulting projects
- October 4, 2008 » Windows 2008 Workstation and Live Writer
September
- September 26, 2008 » JavaScript block scoping
- September 23, 2008 » A TDD investment addendum
- September 22, 2008 » Ten tips to maximize the return on your TDD investment
- September 20, 2008 » Interfaces and isolation
- September 18, 2008 » TDD design trade-offs and junk food
- September 16, 2008 » Integrating StructureMap and NHibernate with WCF
- September 12, 2008 » Some IoC Container guidelines
- September 9, 2008 » Quality and code coverage
- September 4, 2008 » On passion
- September 3, 2008 » Building arrays in StructureMap 2.5
August
- August 30, 2008 » One of those days
- August 27, 2008 » Strategies and discriminators in NHibernate
- August 27, 2008 » Parameter lists in NHibernate
- August 21, 2008 » Services in Domain-Driven Design
- August 20, 2008 » DDD, Repositories and ORMs
- August 20, 2008 » On good design and defining success
- August 18, 2008 » Convention, configuration and WCF
- August 15, 2008 » Austin DDD Book Club wrapped up
- August 13, 2008 » Deferred execution gotchas
- August 12, 2008 » Enumeration classes
- August 5, 2008 » Rails notes, from the .NET side
- August 1, 2008 » Trusted Subsystem, WCF and IIS 5 – revisited
July
- July 31, 2008 » Trusted Subsystem, WCF and IIS
- July 30, 2008 » Integrating StructureMap with WCF
- July 24, 2008 » Arrange Act Assert and BDD specifications
- July 19, 2008 » Showing some MVC support
- July 19, 2008 » Expressions and Lambdas
- July 17, 2008 » Separation of Concerns by example: Part 5
- July 14, 2008 » Speaking at ADNUG tonight
- July 12, 2008 » ALT.NET Certification course
- July 12, 2008 » Going lean in Visual Studio
- July 10, 2008 » Separation of Concerns by example: Part 4
- July 7, 2008 » Entities and the Law of Demeter
June
- June 27, 2008 » Separation of Concerns by example: Part 3
- June 26, 2008 » When a space isn’t a space
- June 25, 2008 » Entity Framework vote of no confidence
- June 24, 2008 » Separation of Concerns by example: Part 2
- June 20, 2008 » Separation of Concerns by example: Part 1
- June 19, 2008 » Adios, Netflix profiles
- June 17, 2008 » Separation of Concerns – how not to do it
- June 7, 2008 » Some improved LINQ operators
- June 6, 2008 » Forbidden Void type in C#
- June 5, 2008 » Designing primary keys
- June 4, 2008 » Failures of aimless large-scale refactorings
May
- May 29, 2008 » MVC Storefront Challenge Kickoff
- May 28, 2008 » Austin Code Camp material posted
- May 22, 2008 » Working with the web model
- May 21, 2008 » The MVC Storefront Challenge!
- May 21, 2008 » Entities, Value Objects, Aggregates and Roots
- May 19, 2008 » More Entity Framework thoughts
- May 19, 2008 » ASP.NET: officially unmaintainable
- May 19, 2008 » Austin Code Camp 2008 post-mortem
- May 15, 2008 » See you at Austin Code Camp!
- May 15, 2008 » Domain-Driven Design: Supple Design Patterns Series
- May 9, 2008 » LINQ query operators: lose that foreach already!
- May 8, 2008 » Enhancing mappers with LINQ
- May 7, 2008 » Mike Cohn in town
- May 6, 2008 » PabloTV: Eliminating static dependencies screencast
- May 5, 2008 » A pointless exercise
April
- April 30, 2008 » Developers or engineers?
- April 28, 2008 » Understanding Mock Objects: an alternate solution
- April 26, 2008 » Raising the bar
- April 23, 2008 » Should you TDD when flying solo?
- April 21, 2008 » Auto-mocking container pitfalls?
- April 19, 2008 » Version control with Subversion: so easy my wife can do it
- April 16, 2008 » Profiling a legacy app
- April 15, 2008 » Guidelines aren’t rules
- April 8, 2008 » Dear software tool vendors, RE: I’m breaking up with you
- April 8, 2008 » Reacting to change
March
- March 31, 2008 » PTOM: The Dependency Inversion Principle
- March 26, 2008 » Stop creating custom delegate types
- March 25, 2008 » Looking for Extreme Programmers in Austin, TX
- March 22, 2008 » Variations on a Func-y theme
- March 20, 2008 » Is your process dead?
- March 20, 2008 » Controller bloat?
- March 19, 2008 » Mapping options in LINQ to SQL
- March 17, 2008 » Review – xUnit Test Patterns
- March 14, 2008 » Clearing up the Mock confusion
- March 13, 2008 » Advanced mocking: mocks and stubs
- March 11, 2008 » A small correction
- March 11, 2008 » The many faces of ExpectedException
- March 7, 2008 » Advanced mocking: anonymous test spy
- March 6, 2008 » Advanced mocking: auto-interaction testing
- March 2, 2008 » Letting the customer drive the demo
February
- February 29, 2008 » Setting the default browser inside Visual Studio
- February 28, 2008 » The Gmail rainbow
- February 28, 2008 » TestDriven.NET keyboard shortcut
- February 22, 2008 » Moving past stored procedures
- February 21, 2008 » NHibernate and xmlpoke
- February 20, 2008 » Last XML serializer I’ll ever write
- February 19, 2008 » Unit testing MonoRail controllers – Redirects
- February 16, 2008 » Eliminating obscure tests
- February 14, 2008 » Getting over the TDD hump
- February 7, 2008 » Team System and open source
- February 6, 2008 » Stories, requirements, and language
- February 5, 2008 » Flexibility and control
- February 4, 2008 » Stuck in proprietary-land
January
- January 31, 2008 » Some C# obscurities
- January 28, 2008 » Best tool for the job
- January 23, 2008 » WatiN and INamingContainer adventures
- January 22, 2008 » Some essential Visual Studio tools
- January 17, 2008 » Notes from the Austin DDD Book Club
- January 17, 2008 » Customer-facing identifiers
- January 16, 2008 » Advanced CI: integrating web applications
- January 16, 2008 » Abusing using statements
- January 15, 2008 » Making the permanent move
- January 15, 2008 » Starting a new gig
- January 10, 2008 » Converting tests to specs is a bad idea
- January 10, 2008 » Stop the Flash insanity
- January 9, 2008 » More on Scrummerfall
- January 8, 2008 » For the record
- January 7, 2008 » SVN and proxy servers
- January 7, 2008 » NBehave source moved to Google Code
- January 3, 2008 » Application Root is your friend
- January 3, 2008 » Time expired, still going strong
- January 2, 2008 » Targeting multiple environments through NAnt
2007
December
- December 21, 2007 » Upgrading to Windows XP SP2
- December 18, 2007 » Extension methods and primitive obsession
- December 18, 2007 » Dead Google Calendar gadget
- December 18, 2007 » ALT.NET summary blog
- December 14, 2007 » Ruby-style Array methods in C# 3.0
- December 12, 2007 » Decomposing a book club
- December 6, 2007 » Don’t hide the ugly
- December 3, 2007 » Dealing with primitive obsession
- December 3, 2007 » Time is running out
November
- November 29, 2007 » Hall of shame
- November 29, 2007 » Intention-concealing interfaces: blob parameters
- November 26, 2007 » String extension methods
- November 26, 2007 » Some 80/20 feedback
- November 20, 2007 » Stop the madness
- November 20, 2007 » ReSharper in VS 2008
- November 19, 2007 » Installing Visual Studio 2008
- November 15, 2007 » Progress made
- November 14, 2007 » A downcasting tragedy
- November 14, 2007 » Tip of the day
- November 14, 2007 » The sinking ship
- November 12, 2007 » Coding without confidence
- November 12, 2007 » Not a good sign
- November 7, 2007 » Some NAnt tips
- November 6, 2007 » Joining Los Techies
- November 6, 2007 » Guidance over governance
- November 2, 2007 » Record and playback state in ASP.NET
October
- October 31, 2007 » Bizarro-tive development
- October 31, 2007 » Coding responsibly
- October 30, 2007 » Oslo = MDA + SOA
- October 25, 2007 » RSpec gone wrong
- October 25, 2007 » Specifications versus validators
- October 24, 2007 » Entity validation with visitors and extension methods
- October 19, 2007 » Dependency Breaking Techniques: Inline Static Class
- October 19, 2007 » Smart Tag shortcut key
- October 19, 2007 » Some Domain-Driven Design resources
- October 18, 2007 » Myth of the isolated production fix
- October 16, 2007 » Ruby-style loops in C# 3.0
- October 14, 2007 » Fluent interface endgame
- October 12, 2007 » Double-edged sword of InternalsVisibleTo
- October 12, 2007 » Dialing up quality
- October 11, 2007 » ALT.NET-itis
- October 10, 2007 » Subscribing to your Google Calendar in Outlook 2007
- October 9, 2007 » Are Story Runners appropriate?
- October 8, 2007 » ALT.NET Impressions
- October 5, 2007 » Compiler warnings from generated code
- October 4, 2007 » Treat warnings as errors
- October 3, 2007 » Daily routine with continuous integration
- October 2, 2007 » The Legacy Code Dilemma and compiler warnings
- October 1, 2007 » Setting off a CC.NET build from NAnt
September
- September 28, 2007 » Values over vendors
- September 26, 2007 » Driving and refining Ubiquitous Language
- September 26, 2007 » Organizing with Solution Folders
- September 24, 2007 » SharePoint 2007 Wiki – not a fan
- September 21, 2007 » New favorite deployment method
- September 18, 2007 » Agile cheat sheet
- September 17, 2007 » Weird CruiseControl.NET error
- September 10, 2007 » Smells to refactorings quick reference guide
- September 5, 2007 » Short path to failure
- September 4, 2007 » Authoring stories with NBehave 0.3
August
- August 30, 2007 » Template Delegate Pattern
- August 27, 2007 » Agile references for PMs
- August 27, 2007 » Authoring stories with BDD using Behave# and NSpec
- August 20, 2007 » Continuous Integration resources for Team Build
- August 17, 2007 » Pending scenarios in Behave#
- August 14, 2007 » Some pairing tips
- August 9, 2007 » Importance of collocation
- August 7, 2007 » Addressing some Behave# concerns
- August 2, 2007 » Some Behave# news
- August 1, 2007 » Continuous Integration book now out
July
- July 30, 2007 » Motivation for iterative development
- July 24, 2007 » Try Ruby in 15 minutes
- July 24, 2007 » If you can’t wait for Team Build 2008…
- July 23, 2007 » Can your dev team handle Agile/iterative development?
- July 20, 2007 » Constrained generic extension methods
- July 19, 2007 » LINQ to Reflection
- July 16, 2007 » Carrot or the stick
- July 11, 2007 » Introducing Behave#
- July 5, 2007 » When Technical Debt leads to bankruptcy
- July 3, 2007 » Refining daily stand-ups
- July 3, 2007 » Limitations of generic base classes
June
- June 27, 2007 » ReSharper plugin for cyclomatic complexity
- June 25, 2007 » Generic Value Object Equality
- June 23, 2007 » Disable annoying computer beep
- June 21, 2007 » Multi-Targeting support for VS 2008
- June 19, 2007 » The problem with code comments
- June 15, 2007 » Choosing between constants or static fields
- June 14, 2007 » VSTS Scrum process templates
- June 5, 2007 » ASP.NET 2.0 Page Lifecycle Poster
May
- May 30, 2007 » Preventing new Remote Desktop sessions in Server 2003
- May 29, 2007 » Refactoring NAnt and MSBuild build scripts
- May 24, 2007 » TFS Guide now available
- May 24, 2007 » Team Foundation Build, Part 3: Creating a Build
- May 23, 2007 » Unit testing with stubs and Rhino Mocks
- May 22, 2007 » Team Foundation Build, Part 1: Introduction
- May 18, 2007 » Fun with recursive Lambda functions
- May 17, 2007 » Project management with Microsoft Office SharePoint Server
- May 15, 2007 » Parsing strings with the TryParse method
- May 11, 2007 » Pop quiz on ref and out parameters in C#
- May 11, 2007 » Proper string comparison
- May 7, 2007 » Consistency in user interface behavior
- May 3, 2007 » Another reason to love ReSharper
April
- April 30, 2007 » Swallowing exceptions is hazardous to your health
- April 25, 2007 » Re-throwing exceptions
- April 24, 2007 » Notes on defects
- April 23, 2007 » Feedback
- April 23, 2007 » Classifying tests
- April 16, 2007 » Evils of duplication
- April 12, 2007 » Example of creating scope with the using statement