Peter Ritchie

Peter Ritchie

Software Architect

Multi-targeting in Visual Studio 2017
An effective way to target multiple platforms in Visual Studio 2017 and easily generate a Nuget package.
posted on Wednesday, June 21, 2017 in Multi-targeting  , .NET Core  , .NET Standard  , Visual Studio 2017  
Getting Started with .NET Core/Standard
Some useful tidbits to migrating to .NET Core/Standard from the trenches
posted on Friday, June 16, 2017 in Intro  , .NET Core  , .NET Standard  
Rethinking the Liskov Substitution Principle
Liskov Substitution isn't just about object-oriented design.
posted on Wednesday, June 7, 2017 in SOLID  , Principles  , Distributed Computing  
Resetting Build Number in Appveyor
How to reset the build number in AppVeyor when your major version number changes.
posted on Tuesday, May 9, 2017 in Appveyor CI  
Introduction to messaging primitives
posted on Thursday, September 29, 2016 in .NET Development  , Message-oriented  , Software Development  
Writing Unit Tests is Hard, Because…
posted on Monday, March 9, 2015 in Uncategorized  
The Dreaded Re-write
posted on Saturday, February 21, 2015 in Architecture  , Design/Coding Guidance  , Patterns  , Software Development Guidance  , Software Development Practices  
Seam expansion
posted on Monday, February 16, 2015 in Architecture  , Design/Coding Guidance  , Patterns  , Software Development  , Software Development Guidance  , Software Development Practices  , Software Development Principles  
“CONSIDER providing method Close(), in addition to the Dispose(), if close is standard terminology in the area” considered deprecated
posted on Sunday, September 7, 2014 in .NET 4.5  , C#  , Design/Coding Guidance  
Maslow’s Hammer
posted on Monday, August 11, 2014 in Architecture  , Design/Coding Guidance  , Software Development  , Software Development Guidance  , Software Development Practices  , Tips  
If you think you need to use an ORM, think some more.
posted on Monday, August 4, 2014 in Architecture  , Design/Coding Guidance  , Software Development  , Software Development Guidance  
Long Paths and .NET
posted on Tuesday, July 22, 2014 in .NET 4.5  , .NET Development  , C#  , LongPath  , Open Source  , Software Development  
Iterator Methods
posted on Wednesday, July 16, 2014 in .NET Development  , C#  
Testing framework assumptions
posted on Friday, July 4, 2014 in Uncategorized  
Math.Round(value) does to-even rounding
posted on Sunday, May 25, 2014 in .NET Development  , C#  , Software Development  , Software Development Guidance  
Bye bye, eBay
posted on Saturday, May 24, 2014 in Security  
Was Patching XP the wrong choice?
posted on Thursday, May 1, 2014 in Non-development  , Pontification  
Windows Store production mill
posted on Tuesday, April 29, 2014 in .NET Development  , C#  , Tips  , Windows Store  , XAML  
Comparing BackgroundWorker and async/await
posted on Tuesday, April 29, 2014 in Software Development  
What do the icons on your Windows Phone 8.1 mean?
posted on Monday, April 28, 2014 in Windows Phone 8.1  
Getting the most of Windows Phone 8.1 keyboard
posted on Monday, April 28, 2014 in Windows Phone 8.1  
On performance of immutable collections
posted on Saturday, April 19, 2014 in Multithreaded  
Heartbleed: Caveat Emptor
posted on Thursday, April 17, 2014 in Heartbleed  , Security  
SSL is not the basis of mission critical security
posted on Wednesday, April 16, 2014 in Heartbleed  , Security  , Uncategorized  
Getting used to Windows Phone 8.1
posted on Monday, April 14, 2014 in Windows Phone  , Windows Phone 8.1  
Effective Blogger
posted on Wednesday, March 26, 2014 in Apps  , Windows Store  
The case of the not-so-useful XBF error
posted on Saturday, March 22, 2014 in .NET Development  , C#  , Windows Store  , XAML  
Unable to resolve reference refs/remotes/origin/master
posted on Wednesday, February 26, 2014 in GIT  , Software Development  
Generating Windows Phone and Windows Store application images–the vector version
posted on Saturday, February 22, 2014 in .NET Development  , Software Development  , Windows Phone 8.0  , Windows Store  
Theoretical technology speed limits
posted on Friday, February 21, 2014 in Non-development  , Random  
Generating Windows Phone and Windows Store application images
posted on Tuesday, February 4, 2014 in .NET Development  , Software Development  , Windows Phone 8.0  , Windows Store  
The case of the enigmatic error 0x89721200
posted on Saturday, February 1, 2014 in .NET Development  , Software Development  , Visaul Studio 2013  , Windows Phone  , Windows Phone 8.0  
SkyDrive tip: extracting text from an image
posted on Monday, January 27, 2014 in Non-development  , Random  , SkyDrive  
Windows Phone 8 tip: copy and paste from paper book
posted on Sunday, January 19, 2014 in Mobile  , Non-development  
Data virtualization in Windows Phone 7.1 (or Why INotifyCollectionChanged is fundamentally broken)
posted on Friday, December 6, 2013 in C#  , Software Development Guidance  , Visual Studio 2010  , Windows Phone  , Windows Phone 7.1  
Windows Azure PowerShell
posted on Sunday, October 27, 2013 in Uncategorized  
Persisting Azure Mobile Services authentication tokens and handling expiry
posted on Wednesday, October 23, 2013 in .NET Development  , Azure  , Azure Mobile Services  , C#  , Mobile  , Visaul Studio 2013  , Visual Studio 2010  , Windows Phone  , Windows Phone 7.1  
volatile–You Keep Using That Word, But I Do Not Think You Know What It Means
posted on Monday, October 14, 2013 in C/C++  , Design/Coding Guidance  , Software Development  , Software Development Guidance  , Win32  
The Subtle Differences Between Events and Commands in a Message-oriented System
posted on Wednesday, July 10, 2013 in Architecture  , Design/Coding Guidance  , Patterns  , Software Development  , Software Development Guidance  
Visual Studio, run as Administrator
posted on Tuesday, April 16, 2013 in .NET Development  , Visual Studio 2012  
Accessing Private Fields and Properties
posted on Tuesday, April 2, 2013 in .NET 4.0  , .NET Development  , C#  , Productivity Extensions  
Now Blogging in WordPress from Azure
posted on Thursday, March 21, 2013 in Azure  , Random  
Introducing EffectiveIoC
posted on Sunday, March 10, 2013 in .NET 4.0  , .NET 4.5  , .NET Development  , C#  , EffectiveIoC  
Dependency Injection
posted on Thursday, March 7, 2013 in .NET Development  , C#  , Design/Coding Guidance  , Patterns  , Software Development  
Azure Table Storage and the Great Certificate Expiry of 2013
posted on Thursday, February 28, 2013 in .NET 4.0  , .NET 4.5  , Azure  , C#  
async/await Tips
posted on Tuesday, February 12, 2013 in .NET 4.5  , async  , C#  , C# 5  , Visual Studio 2012  
IDisposable and Class Hierarchies
posted on Sunday, January 20, 2013 in .NET Development  , C#  , Design/Coding Guidance  , DevCenterPost  , Patterns  , Software Development Guidance  
The Dispose Pattern as an anti-pattern
posted on Saturday, January 19, 2013 in .NET Development  , AntiPattern  , C#  , Design/Coding Guidance  , DevCenterPost  , Software Development Guidance  
Introduction to Productivity Extensions
posted on Thursday, November 29, 2012 in .NET Development  , C#  , Open Source  , Visual Studio 2010  , Visual Studio 2012  
Leave predicting to meteorologists and fortune-tellers
posted on Saturday, November 24, 2012 in Design/Coding Guidance  , Software Development  , Software Development Guidance  
And the winners are…
posted on Monday, November 5, 2012 in Uncategorized  
Developer Fitness
posted on Sunday, November 4, 2012 in health/fitness  , Non-development  
Win a free copy of Visual Studio 2010 Best Practices
posted on Monday, September 24, 2012 in Visual Studio 2010  , Visual studio 2010 Best Practices  
Thread synchronization of non-atomic invariants in .NET 4.5
posted on Monday, September 10, 2012 in .NET 4.5  , .NET Development  , C#  , Concurrency  , Design/Coding Guidance  , DevCenterPost  , Multithreaded  , Software Development Guidance  , Visual Studio 2012  
Thread synchronization of atomic invariants in .NET 4.5 clarifications
posted on Sunday, September 9, 2012 in .NET 4.5  , .NET Development  , Concurrency  , DevCenterPost  , Multithreaded  , Software Development Guidance  
Thread synchronization of atomic invariants in .NET 4.5
posted on Saturday, September 8, 2012 in .NET 4.5  , .NET Development  , C#  , Concurrency  , DevCenterPost  , Multithreaded  , Software Development Guidance  
Visual Studio 2010 Best Practices published
posted on Friday, August 24, 2012 in C#  , DevCenterPost  , Software Development Guidance  , Software Development Principles  , Visual Studio 2010  , Visual Studio 2010 Best Practices  , Visual studio 2010 Best Practices  
Automated Testing Isn’t Just for Business Logic
posted on Thursday, May 24, 2012 in .NET Development  , C#  , DevCenterPost  , Software Development  , Software Development Guidance  , TDD  , Unit Testing  
Dispose Pattern and “Set large fields to null”
posted on Wednesday, April 25, 2012 in .NET 4.0  , C#  , DevCenterPost  , Pontification  
“Virtual method call from constructor” What Could Go Wrong?
posted on Tuesday, April 24, 2012 in .NET Development  , C#  , Code Analysis/FxCop Warning Resolutions  , DevCenterPost  , Software Development  , Software Development Guidance  , Visual Studio  
Software Design and First Principles–Part 0: Concepts of Object Orientation
posted on Wednesday, February 22, 2012 in .NET Development  , C#  , Software Development Guidance  , Software Development Principles  , Visual Studio 2010 Best Practices  
The Flawed Eventually-upgrade Software Model
posted on Sunday, February 12, 2012 in General  , Pontification  
The Rat-hole of Object-oriented Mapping
posted on Thursday, February 9, 2012 in .NET Development  , Architecture  , Code Smells  , Design/Coding Guidance  , Patterns  , Pontification  , Software Development  , Software Development Guidance  
What Code Comments are Not For.
posted on Sunday, January 29, 2012 in Uncategorized  
Avoid the volatile Modifier
posted on Tuesday, January 24, 2012 in .NET Development  , C#  , Multithreaded  , Software Development  , Software Development Guidance  , Visual Studio  
C#, Async, Limits, oh my!
posted on Wednesday, January 18, 2012 in .NET Development  , Async Functions  , C#  , Visual Studio  
The TeamCity Database Migration Documenation Could Use Some Work
posted on Wednesday, November 30, 2011 in Uncategorized  
If You’re Using “#if DEBUG”, You’re Doing it Wrong
posted on Wednesday, November 23, 2011 in .NET Development  , C#  , Code Contracts  , DbC  , Design/Coding Guidance  , DevCenterPost  , Software Development Guidance  , Software Development Principles  
Working with Subversion Part 2 (or Subversion for the Less Subversive)
posted on Wednesday, November 16, 2011 in General  , SCC  , Software Development  , Software Development Workflow  , Subversion  , SVN  
“Explicit” Tests with Resharper
posted on Monday, November 14, 2011 in .NET Development  , Software Development  , Software Development Workflow  , Unit Testing  , Visual Studio  , Visual Studio 2010 Best Practices  
Working with Subversion, Part 1
posted on Thursday, November 10, 2011 in General  , SCC  , Software Development  , Software Development Workflow  , Subversion  , SVN  
Getting a Quick Feel for a New Software Team
posted on Tuesday, November 8, 2011 in Uncategorized  
DevTeach Comes to Ottawa!
posted on Wednesday, October 12, 2011 in DevTeach  , DevTeach YOW 2011  , Software Development  
Ottawa Speaker’s Idol Nov. 2nd at DevTeach Ottawa
posted on Tuesday, October 4, 2011 in DevTeach  , DevTeach YOW 2011  
Windows 8 for the Keyboard User
posted on Thursday, September 22, 2011 in Uncategorized  
Windows 8, What Does It Mean to Me?
posted on Sunday, September 18, 2011 in DevCenterPost  , Software Development  , Visual Studio 2011  , Visual Studio vNext  , Windows 8  
Enterprise Service Buses, Brokers, Message Queues, Oh My!
posted on Saturday, September 17, 2011 in Architecture  , Distributed Systems  , Message-Oriented Architectures  , MOM  , Software Development  
Message-Oriented Architecture is a Misleading Term
posted on Tuesday, August 2, 2011 in Architecture  , Distributed Systems  , Message-Oriented Architectures  , MOM  , Software Development  
Message-oriented Architectures (Updated)
posted on Wednesday, July 13, 2011 in Architecture  , Distributed Systems  , Message-Oriented Architectures  , MOM  , Software Development  
Taking Customer Support Into Social Era
posted on Monday, June 6, 2011 in Non-development  , Pontification  
Robustness with RabbitMQ in .NET
posted on Saturday, May 21, 2011 in Message-Oriented Architectures  , RabbitMQ  
Hosted MongoDB
posted on Saturday, May 21, 2011 in Uncategorized  
Certification Caveats
posted on Wednesday, May 11, 2011 in Opinion  , Rant  
Criteria for Success
posted on Friday, May 6, 2011 in Design/Coding Guidance  , General  , Software Development  , Software Development Guidance  , Visual Studio 2010 Best Practices  
The Era of Usability
posted on Saturday, April 23, 2011 in General  , Non-development  , Pontification  , Software  , Usability  
Mapping to Your Database is a Private Affair
posted on Friday, March 25, 2011 in Design/Coding Guidance  , Patterns  , Software Development  , Software Development Guidance  , WCF  
Not Only SQL
posted on Saturday, March 5, 2011 in Uncategorized  
Developing Windows Services in Visual Studio
posted on Tuesday, February 8, 2011 in C#  , DevCenterPost  , Software Development  , Software Development Guidance  , Visual Studio 2010  
The Custom Configuration Section Code Smell
posted on Friday, December 17, 2010 in .NET 4.0  , .NET Development  , Code Smells  , Software Development Guidance  , Software Development Principles  , Unity 2.0  
Unbind a Visual Studio 2010 Solution from Source Code Control
posted on Friday, December 10, 2010 in .NET Development  , DevCenterPost  , Software Development  , Visual Studio 2010  
Fluent Builders Part 2
posted on Wednesday, December 8, 2010 in Uncategorized  
Fluent Builders, Part 1
posted on Tuesday, December 7, 2010 in .NET 4.0  , .NET Development  , C#  , C# 4  , Patterns  , Software Development  
Testing Strategies Involving Async Functions
posted on Wednesday, November 3, 2010 in .NET Development  , Async Functions  , C# 5  , Design/Coding Guidance  , DevCenterPost  , Software Development  , TDD  , Unit Testing  
Deep Dive on Closure Pitfalls
posted on Tuesday, November 2, 2010 in .NET 2.0  , .NET 3.5  , .NET 3.x  , .NET 4.0  , .NET Development  , C#  , C# 3.0  , C# 4  , Design/Coding Guidance  , DevCenterPost  , Software Development Guidance  
More on Async Functions
posted on Thursday, October 28, 2010 in Async Functions  , C#  , C# 5  , DevCenterPost  , Visual Studio vNext  
A New Asynchronicity Awaits You
posted on Tuesday, October 26, 2010 in C#  , DevCenterPost  , Software Development  , Visual Studio vNext  
Lasagna Code
posted on Monday, October 4, 2010 in Uncategorized  
Book Review: WCF 4.0 multi-tier services development with LINQ-to-Entities
posted on Thursday, August 19, 2010 in .NET 4.0  , Book Review  , C#  , Software Development  
Visual Studio 2010, Enhance your Jedi Skillz
posted on Monday, June 14, 2010 in .NET Development  , DevCenterPost  , Software Development  , Visual Studio 2010  
Best Practices
posted on Sunday, June 13, 2010 in Uncategorized  
Using the dynamic Keyword in C# to Improve Object Orientation – A Follow-up
posted on Wednesday, May 26, 2010 in .NET 4.0  , C#  , C# 4.0  , Design/Coding Guidance  , DevCenterPost  , Patterns  , Software Development  , Visual Studio 2010  
Using the dynamic Keyword in C# to Improve Object-Orientation
posted on Sunday, May 23, 2010 in .NET 4.0  , .NET Development  , C#  , C# 4.0  , Code Smells  , Design/Coding Guidance  , DevCenterPost  , OOD  , Refactoring  , Software Development  , Visual Studio 2010  
Refactoring with Visual Studio 2010
posted on Sunday, May 16, 2010 in .NET Development  , C#  , Refactoring with Visual Studio 2010  , Visual Studio 2010  
Layers in Visual Studio 2010
posted on Friday, May 7, 2010 in DevCenterPost  
Principles of Software Development Productivity
posted on Sunday, April 25, 2010 in Uncategorized  
Modify VS 2010 Template to Reference System.Configuration
posted on Monday, April 19, 2010 in .NET Development  , C#  , DevCenterPost  , Software Development  , Visual Studio 2010  , WinForms  
Getting Started Unit Testing with nUnit
posted on Saturday, April 17, 2010 in Uncategorized  
Flaws in the Microsoft Connect Process
posted on Wednesday, April 14, 2010 in Uncategorized  
Apple’s New iPhone SDK Licensing Changes are a Potential Win for Microsoft.
posted on Monday, April 12, 2010 in Uncategorized  
Platform Developer Creativity
posted on Friday, April 9, 2010 in Uncategorized  
The Add Reference Dialog is the Wrong Scenario
posted on Thursday, March 18, 2010 in Uncategorized  
MEF is not An IoC container; but MEF uses IoC
posted on Tuesday, February 23, 2010 in Uncategorized  
Women in High Tech
posted on Saturday, February 20, 2010 in Uncategorized  
What is Data-Driven Design
posted on Sunday, February 14, 2010 in Uncategorized  
Nourishing Technology and product communities.
posted on Thursday, February 11, 2010 in Uncategorized  
The weather outside is frightful
posted on Tuesday, February 9, 2010 in Uncategorized  
The Difference between an Anti-Pattern and a Code Smell
posted on Tuesday, February 2, 2010 in AntiPattern  , Design/Coding Guidance  , Patterns  , Software Development  , Software Development Guidance  
DevTeach 2010 Toronto
posted on Thursday, December 17, 2009 in DevTeach YYZ 2010 Toronto  
TechDays Canada 2009 Developer Foundations Call For Speakers
posted on Sunday, August 23, 2009 in Uncategorized  
Why Fundamentals are Important to Microsoft’s Bottom-line
posted on Wednesday, July 22, 2009 in Uncategorized  
Thread.Sleep is a sign of a poorly-designed program, redux
posted on Wednesday, July 8, 2009 in Uncategorized  
Unit testing WCF data contract serialization.
posted on Sunday, May 3, 2009 in C#  , WCF  
DataContractSerializer.ReadObject is easily confused.
posted on Tuesday, April 28, 2009 in .NET 3.5  , C#  , WCF  
Working with Children
posted on Thursday, April 16, 2009 in Uncategorized  
Evolving code over time
posted on Sunday, March 29, 2009 in .NET Development  , C#  , Design/Coding Guidance  , Software Development  , Software Development Guidance  , Visual Studio 2010 Best Practices  
DevTeach 2009 Vancouver
posted on Wednesday, March 25, 2009 in .NET 2.0  , .NET 3.5  , .NET 3.x  , .NET Development  , C#  , C# 3.0  , DDD  , Design/Coding Guidance  , DevTeach  , Software Development  , Software Development Guidance  , Visual Studio 2005  , Visual Studio 2008  , Visual Studio 2010 Best Practices  
Never Mind Canonical Tags, Let’s Get Content/Navigation Tags.
posted on Tuesday, March 10, 2009 in Non-development  , Pontification  
Developing with Source Code Control – Best Practices Part 2
posted on Tuesday, March 10, 2009 in Software Development  , Software Development Guidance  , Visual Studio 2010 Best Practices  
It’s More Than Syntax
posted on Wednesday, January 28, 2009 in Software Development  
A Upcoming Pandemic of Domain Anaemia
posted on Wednesday, January 28, 2009 in .NET Development  , ALT.NET  , AntiPattern  , DDD  , Design/Coding Guidance  , Microsoft  , Microsoft Patterns and Practices  , OOD  , Patterns  , Software Development  , Software Development Guidance  , Visual Studio 2010 Best Practices  
House of Cards Design Anti-pattern
posted on Monday, January 26, 2009 in AntiPattern  , Design/Coding Guidance  , Software Development  
Unable To Step Into .NET Source
posted on Sunday, November 23, 2008 in .NET Development  , Visual Studio 2008  , Visual Studio 2008 SP1  
Pass-through Constructors
posted on Thursday, November 20, 2008 in .NET Development  , C#  , Definition  , Software Development  
Pontificating Virtual Parameterized Constructors in C#
posted on Monday, November 17, 2008 in AntiPattern  , C#  , OOD  , Patterns  , Pontification  , Software Development  
visual studio jedi 2
posted on Thursday, November 13, 2008 in Uncategorized  
Dynamic Features in C#
posted on Thursday, November 13, 2008 in C# 4  
DevTeach 2008 Includes over $1,000 In Free Software.
posted on Tuesday, November 11, 2008 in .NET Development  , DevTeach YUL 2008  
.NET 4.0, Evolving .NET Development
posted on Tuesday, November 11, 2008 in .NET 4.0  , .NET Development  , C#  , C# 4.0  , Visual Studio 2010  
Microsoft Techdays 2008
posted on Sunday, November 2, 2008 in techdays2008  
Closure Tip
posted on Sunday, October 26, 2008 in Uncategorized  
Developing with Source Code Control Best Practices Part x
posted on Friday, October 17, 2008 in Software Development  , Software Development Guidance  , Visual Studio 2010 Best Practices  
Developing with Source Code Control Best Practices Part 1
posted on Friday, October 17, 2008 in Software Development  , Software Development Guidance  , Visual Studio 2010 Best Practices  
Bugs Are Features Too
posted on Monday, September 8, 2008 in Microsoft  , Product Bugs  , Software Development  , Visual Studio 2005  , Visual Studio 2008  
Software Process and Reduction of Quality
posted on Wednesday, September 3, 2008 in General  , Software Development  
Becoming a Visual Studio Jedi Part 1
posted on Monday, September 1, 2008 in .NET Development  , C#  , Design/Coding Guidance  , DevCenterPost  , Software Development  , Visual Studio 2008  
Trials and Tribulations of DataGridView, Column Selections, and Sorting
posted on Monday, August 25, 2008 in .NET 3.5  , .NET Development  , C#  , Connect Issue  , Framework Bug  , Software Development  , Visual Studio 2008 SP1  
Drag and drop of control selections onto forms designer toolbox
posted on Wednesday, August 20, 2008 in Connect Suggestion  , Visual Studio 2005  , Visual Studio 2008  , Visual Studio vNext  
The winds of change are blowing
posted on Tuesday, August 19, 2008 in ALT.NET  , Design/Coding Guidance  , Kaikaku  , Kaizen  , Software Development  
Location of unit tests.
posted on Tuesday, August 19, 2008 in .NET Development  , Design/Coding Guidance  , General  , Pontification  , TDD  
Extra Features: One of the Lean 7 Wastes of Software
posted on Sunday, August 17, 2008 in Lean  , Software Development  
IS prolific use of inheritance a sign of a poorly design program?
posted on Wednesday, August 13, 2008 in Uncategorized  
Law of Reversibility of Attributes
posted on Tuesday, August 12, 2008 in Design/Coding Guidance  , Software Development  
DataGridViewColumn.Frozen
posted on Sunday, August 10, 2008 in .NET Development  , C#  , Design/Coding Guidance  , Software Development  
Transparency in Software Products
posted on Friday, August 8, 2008 in Uncategorized  
Getting the most out of Reflector
posted on Thursday, August 7, 2008 in Uncategorized  
Microsoft Knowledge Base Themes
posted on Wednesday, August 6, 2008 in Uncategorized  
Code Coverage
posted on Wednesday, August 6, 2008 in Uncategorized  
ITSWITCH #1: Answer
posted on Sunday, July 27, 2008 in .NET 2.0  , .NET Development  , C#  , Design/Coding Guidance  , ITSWITCH Answer  , Pop Quiz  , Software Development  
ITSWITCH: #1
posted on Thursday, July 24, 2008 in .NET 2.0  , .NET Development  , C#  , Design/Coding Guidance  , ITSWITCH  , Pop Quiz  , Software Development  
Working with Resharper’s External Annotation XML Files
posted on Sunday, July 20, 2008 in .NET Development  , Resharper  , Software Development  , Visual Studio 2008  
Drag-copying in Visual Studio Solution Explorer.
posted on Thursday, July 17, 2008 in .NET 3.5  , .NET Development  , Poor UI  , Product Bugs  , Software Development  , Visual Studio 2008  
Excellent Overview of Domain-Driven Design and Why it Helps
posted on Wednesday, July 16, 2008 in DDD  , OOD  , Software Development  
Nested Types
posted on Monday, July 14, 2008 in .NET 3.5  , .NET Development  , Asynchronous Programming Model (APM)  , C#  , C# 3.0  , Design/Coding Guidance  , Software Development  , TCP  , Visual Studio 2008  
Multi-platform Testing
posted on Monday, July 14, 2008 in Uncategorized  
Sandcastle Source Code Published
posted on Tuesday, July 1, 2008 in .NET Development  , Interesting Find  , Open Source  , Software Development  
Received Microsoft MVP Award in C# Again
posted on Tuesday, July 1, 2008 in Microsoft  , MVP  
Entity Framework Petition of Vote of Non Confidence
posted on Tuesday, June 24, 2008 in .NET Development  , C#  , Design/Coding Guidance  , Microsoft  , Software Development  
Comparing CodeRush Refactor! Pro and Resharper 4, part 1 or N — first glance.
posted on Tuesday, June 24, 2008 in .NET Development  , C#  , CodeRush Refactor! Pro  , EffectiveIoC  , Resharper  , Software Development  
Trace to output window without adding code.
posted on Thursday, June 12, 2008 in Interesting Find  , Visual Studio 2005  , Visual Studio 2008  
Fundamentals of OOD Part 3: Method Cohesion
posted on Monday, June 9, 2008 in C#  , Design/Coding Guidance  , DevCenterPost  , OOD  , Software Development  
posted on in
.NET Framework Source Code License.
posted on Saturday, May 31, 2008 in Uncategorized  
Spaces or Tabs?
posted on Sunday, May 25, 2008 in .NET Development  , C#  , Design/Coding Guidance  , Microsoft  
Resharper 4.0 EAP Settings and Installing Latest Build
posted on Sunday, May 18, 2008 in C# 3.0  , Resharper  
en POCO
posted on Thursday, May 15, 2008 in .NET Development  
DevTeach Toronto 2008
posted on Thursday, May 15, 2008 in .NET Development  , DevTeach  
DevTeach 2008
posted on Saturday, May 10, 2008 in General  
RFC: Conditionals on false
posted on Saturday, May 10, 2008 in C#  , Reader Questions  
Fundamentals of OOD, Part 2 – Encapsulation Scope
posted on Wednesday, May 7, 2008 in C#  , Design/Coding Guidance  , DevCenterPost  , Software Development  
Fundamentals of Object-Oriented Design (OOD) Part 1
posted on Wednesday, April 30, 2008 in C#  , Design/Coding Guidance  , DevCenterPost  , Software Development  
Overcoming problems with MethodInfo.Invoke of methods with by-reference value type arguments
posted on Monday, April 28, 2008 in .NET Development  , C#  , DevCenterPost  , Software Development  
Resharper Isn’t Always Smart
posted on Sunday, March 30, 2008 in C#  , Product Bugs  , Resharper  
Windows XP Professional EULA
posted on Thursday, March 27, 2008 in Uncategorized  
Licences for Microsoft products
posted on Thursday, March 27, 2008 in .NET Development  , C#  
.NET 2.0 Framework License
posted on Thursday, March 27, 2008 in .NET 2.0  
Upcoming C# 3 Guidance From Microsoft
posted on Wednesday, March 12, 2008 in .NET 3.5  , .NET Development  , C# 3.0  , Design/Coding Guidance  , DevCenterPost  
Single-Entry, Single-Exit, Should It Still Be Applicable In Object-oriented Languages?
posted on Thursday, March 6, 2008 in .NET Development  , C#  , Design/Coding Guidance  , Software Development  
posted on in
My Wishlist for C# 4
posted on Monday, February 11, 2008 in C#  , C# 4  , Pontification  
Playing with LINQ
posted on Thursday, February 7, 2008 in Uncategorized  
Testing the Units
posted on Tuesday, February 5, 2008 in Software Development  , Unit Testing  
Not Knowing Why Something is Better or Worse Means You Believe it’s Magic
posted on Tuesday, February 5, 2008 in Software Development  
Maxim’s of Object-Oriented Design – Layers
posted on Tuesday, February 5, 2008 in Uncategorized  
In progress
posted on Tuesday, February 5, 2008 in Uncategorized  
A Time and Place for Code Comments
posted on Monday, February 4, 2008 in C#  , Design/Coding Guidance  , Software Development  
CoDe Magazine Article.
posted on Sunday, February 3, 2008 in .NET 3.5  , .NET Development  , C# 3.0  
Is C++/CLI a Second Class Language with Microsoft?
posted on Monday, January 28, 2008 in C++/CLI  , Pontification  , Software Development  , Visual Studio 2008  
posted on in
Observation as Scientific Proof
posted on Thursday, January 24, 2008 in Uncategorized  
Formatting/parsing for a specific culture redux
posted on Monday, January 21, 2008 in .NET 2.0  , .NET Development  , C#  , DevCenterPost  , Framework Bug  
BDD vs TDD.
posted on Monday, January 21, 2008 in Uncategorized  
Compilation of LINQ Expressions and Separation of Concerns.
posted on Monday, January 14, 2008 in Uncategorized  
Why is immutability important.
posted on Sunday, January 6, 2008 in Uncategorized  
How do I derive from a sealed class?
posted on Sunday, January 6, 2008 in Uncategorized  
Visual C# Developer Center Article
posted on Wednesday, January 2, 2008 in .NET 3.5  , .NET Development  , C#  , C# 3.0  
Microsoft Symbol Server EULA Circa VS 2005
posted on Wednesday, January 2, 2008 in Uncategorized  
Dependency Inversion Principle
posted on Wednesday, January 2, 2008 in Uncategorized  
Formatting/parsing for a specific culture
posted on Wednesday, December 26, 2007 in .NET Development  , C#  , DevCenterPost  
Bridges and Factories
posted on Thursday, December 20, 2007 in .NET Development  , C#  , Patterns  
Dependency Injection
posted on Wednesday, December 12, 2007 in .NET Development  , C#  , Patterns  , Software Development  
BigInteger is not in .NET Framework 3.5
posted on Wednesday, December 12, 2007 in .NET 3.5  
New Warning CS1060 in C# 3 (Visual Studio 2008)
posted on Saturday, December 8, 2007 in .NET 3.5  , .NET Development  , C# 3.0 Breaking Changes  , Software Development  , Visual Studio 2008  
New warning CS0809 in C# 3 (Visual Studio 2008)
posted on Sunday, November 25, 2007 in .NET 3.5  , C#  , C# 3.0  , C# 3.0 Breaking Changes  , Design/Coding Guidance  , Visual Studio 2008  
Misapplied "Premature Optimization"
posted on Sunday, October 28, 2007 in Uncategorized  
New Contributor to the C# Developer Centre
posted on Wednesday, October 24, 2007 in C# 3.0  , C# Nugget  , Visual Studio 2008  
Who’s Referencing Whom?
posted on Thursday, October 11, 2007 in .NET 2.0  , .NET Development  , Debugging  , Visual Studio 2005  
Using Exceptions For Normal Logic Flow
posted on Thursday, October 11, 2007 in .NET 2.0  , .NET Development  , C#  , Rant  
Web seminars on Visual Studio 2008
posted on Wednesday, September 12, 2007 in Visual Studio 2008  
My Visual Studio 2008 Code Analysis Rules
posted on Monday, September 3, 2007 in Code Analysis Rules  , Software Development  , Visual Studio 2008  
Visual Studio 2008 Managed Code Analysis
posted on Sunday, August 26, 2007 in Visual Studio 2008  
Thread.Abort is a Sign of a Poorly Designed Program
posted on Tuesday, August 21, 2007 in .NET 2.0  , C#  , Design/Coding Guidance  , Software Development  
Exception Logging
posted on Tuesday, July 31, 2007 in C#  , Design/Coding Guidance  , Software Development  
Performance Implications of try/catch/finally, Part Two
posted on Wednesday, July 11, 2007 in .NET 2.0  , .NET Development  , C#  , Design/Coding Guidance  
Visual Studio Orcas == Visual Studio 2008
posted on Tuesday, July 10, 2007 in Visual Studio Orcas  
System.Collections classes are obsolete
posted on Monday, June 25, 2007 in .NET Development  , Microsoft  , Software Development  
C# Design Guidelines
posted on Monday, June 25, 2007 in Uncategorized  
Performance Implications of try/catch/finally
posted on Thursday, June 21, 2007 in .NET 2.0  , .NET Development  , C#  , Design/Coding Guidance  
The Religion of Class Member Prefixing
posted on Saturday, June 16, 2007 in C#  , Design/Coding Guidance  , Software Development  
Software Design Priniples and Terminology
posted on Monday, June 11, 2007 in Uncategorized  
DateTime.ToUniversalTime *Should* Throw Exceptinos.
posted on Monday, June 11, 2007 in .NET Development  , Design/Coding Guidance  , Microsoft  , Software Development  
Oww, my brain hurts. Extension methods *will* cause me grief.
posted on Wednesday, May 30, 2007 in .NET 3.x  , .NET Development  , C#  
posted on in
.NET Framework 2.0 Service Pack 1
posted on Monday, May 21, 2007 in .NET 2.0  , .NET Development  , Interesting Find  , Software Development  , Visual Studio 2005  
Accumulative Construction
posted on Thursday, May 17, 2007 in .NET Development  , C#  , Design/Coding Guidance  , Software Development  
Near Future: Side by Side CLRs in One Application
posted on Wednesday, May 9, 2007 in .NET 3.x  , .NET Development  , SilverLight  
Thread.Sleep is a sign of a poorly designed program.
posted on Wednesday, April 25, 2007 in .NET Development  , Software Development  
Reports of my death have been greatly exaggerated.
posted on Tuesday, April 10, 2007 in Uncategorized  
Unified Field Theory, is it Possible?
posted on Saturday, April 7, 2007 in Pontification  , Software Development  
Windows Live Messenger Virus Scanner Settings
posted on Wednesday, March 21, 2007 in Non-development  
Microsoft Robotics Studio Forums
posted on Wednesday, March 21, 2007 in New Forums  
Community
posted on Sunday, March 18, 2007 in Uncategorized  
Microsoft Open Source Lab
posted on Wednesday, March 14, 2007 in Microsoft  , Open Source  
Microsoft 2007 MVP Global Summit
posted on Wednesday, March 14, 2007 in MVP  
Contribution to Microsoft Visual C# Develper Center
posted on Thursday, February 22, 2007 in .NET Development  , C#  , Visual Studio 2005  
Guest Blogging on Microsoft Canada Developer Connection
posted on Monday, February 12, 2007 in C#  
Reducing code-bloat with anonymous methods
posted on Monday, February 5, 2007 in Uncategorized  
Uses for yield Part One – Introduction
posted on Friday, February 2, 2007 in Uncategorized  
Sudden "…you must have Terminal Server User Access permissions on this computer." Error.
posted on Friday, February 2, 2007 in Small Business Server 2003 R2  , Software Development  , Team Foundation Server  
Much needed feedback on Connect feedback.
posted on Friday, January 19, 2007 in .NET Development  , Software Development  , Visual Studio 2005  
Visual Studio 2005 Clean doesn’t clean everything
posted on Wednesday, November 15, 2006 in C#  , Visual Studio 2005  
Dogfooding
posted on Wednesday, November 15, 2006 in Non-development  
Writing Solid Code
posted on Sunday, October 15, 2006 in C#  , C++  , Design/Coding Guidance  , Software Development  
posted on in
Using Toolbox for Code Snippets in Visual Studio 2005
posted on Thursday, October 12, 2006 in Interesting Find  , Software Development  , Visual Studio 2005  
posted on in
Writing Libraries with Visual C++
posted on Wednesday, October 11, 2006 in Uncategorized  
Visual Studio 2005 Service Pack 1 Beta
posted on Monday, October 9, 2006 in Visual Studio 2005  , Visual Studio 2005 Service Pack 1 Beta  
Add Visual Studio 2005 Intermediate Files to Windows Disk Cleanup
posted on Sunday, October 1, 2006 in Visual Studio 2005  
posted on in
Has ANSI C/C++ Been Perpetuating Unsecure Computing?
posted on Wednesday, September 27, 2006 in C++  , Software Development  
Schedule at Least a Three Hours When Installing Visual Studio 2005 Service Pack 1 Beta
posted on Tuesday, September 26, 2006 in Visual Studio 2005  
More Windows SDK Functions That Are Not Safe
posted on Tuesday, September 26, 2006 in Software Development  
Useful Visual Studio 2005 Find/Find-and-replace Regular Expressions
posted on Sunday, September 24, 2006 in Visual Studio 2005  
Save CBitmap to File
posted on Sunday, September 24, 2006 in C++  , MFC  , Software Development  
The Difference Between Teams and Groups and the Difference Between Leaders and Dictators
posted on Sunday, September 10, 2006 in Software Development  
Protecting intellectual properties in .NET, Part 2.
posted on Sunday, September 10, 2006 in Uncategorized  
Changing TextBox Text as an Undo-able Action
posted on Saturday, September 9, 2006 in .NET 2.0  , .NET Development  , C#  , Software Development  , WinForms  
Protecting intellectual properties in .NET, Part 1.
posted on Friday, September 8, 2006 in .NET 2.0  , .NET Development  , Software Development  
Time to replace UPS batteries…
posted on Saturday, August 5, 2006 in Humourous  , Non-development  
MSDN Wiki Search Google Toolbar Button
posted on Monday, July 31, 2006 in Uncategorized  
Visual Studio Revert-to-saved macros
posted on Wednesday, July 26, 2006 in .NET Development  , Visual Studio 2005  
Thoughts on Some Legal Disclaimers
posted on Monday, July 17, 2006 in Non-development  
Routing and Remote Access, NAT, and Internet connection sharing.
posted on Friday, July 14, 2006 in General  
Interesting Find for Command Prompt junkies
posted on Thursday, July 13, 2006 in Interesting Find  
Docking With Run-Time-Created Controls
posted on Thursday, July 6, 2006 in .NET Development  , C#  , Software Development  , WinForms  
Welcome
posted on Tuesday, July 4, 2006 in General  
SYSK 149: Performance Analysis of the 'yield return' Statement
posted on Tuesday, July 4, 2006 in C#  , C# Nugget  , Software Development  
Sortable Value Type Code Snippet
posted on Friday, March 24, 2006 in .NET Development  , C#  , Software Development  
A code snippet for Visual Studio 2005 that implements a skeleton value type adhering to Framework Design Guidelines
posted on Friday, March 24, 2006 in .NET Development  , C#  , Patterns