Peter Ritchie

Software Architect

Deeper Understanding of The Bridge Pattern
Loosely coupled and abstractions are hard enough to grok for many people. The Bridge Pattern takes it to the next level by abstacting abstractions from other abstractions. Let's dig deeper to help make it more consumable and less academic.
posted on Thursday, August 9, 2018 in Patterns,  Bridge,  Design,  Provider Model,  Provider
Innovation
How do you not lose sight of innovation, recognizing it, and cultivating it.
posted on Tuesday, July 3, 2018 in Agility,  Innovation,  Continual Improvement,  Organizational Change
Mapping a Domain Model to RESTful
Looking into one technique to provide access to a domain model (behavior) via a RESTful API.
posted on Saturday, December 30, 2017 in Design,  API,  Guidance,  RESTful
What Is Architecture
Digging a little deeper into architectural concepts and details.
posted on Friday, December 22, 2017 in Architecture,  Software Development
Comments in Markdown
Hacks for putting comments into markdown that won't appear when rendered.
posted on Thursday, December 14, 2017 in Odds,  Hacks,  Markdown
Bridges, Facades, and Adapters
Avoiding confusiong when dealing with the structural patterns Bridge, Façade, and Adapter.
posted on Saturday, July 29, 2017 in Software,  Patterns
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 Thursday, June 22, 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 Saturday, June 17, 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 Sunday, February 22, 2015 in Architecture,  Design/Coding Guidance,  Patterns,  Software Development Guidance,  Software Development Practices
Seam expansion
posted on Tuesday, February 17, 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 Thursday, February 27, 2014 in GIT,  Software Development
Generating Windows Phone and Windows Store application images–the vector version
posted on Sunday, February 23, 2014 in .NET Development,  Software Development,  Windows Phone 8.0,  Windows Store
Theoretical technology speed limits
posted on Saturday, February 22, 2014 in Non-development,  Random
Generating Windows Phone and Windows Store application images
posted on Wednesday, February 5, 2014 in .NET Development,  Software Development,  Windows Phone 8.0,  Windows Store
The case of the enigmatic error 0x89721200
posted on Sunday, February 2, 2014 in .NET Development,  Software Development,  Visaul Studio 2013,  Windows Phone,  Windows Phone 8.0
SkyDrive tip: extracting text from an image
posted on Tuesday, January 28, 2014 in Non-development,  Random,  SkyDrive
Windows Phone 8 tip: copy and paste from paper book
posted on Monday, January 20, 2014 in Mobile,  Non-development
Data virtualization in Windows Phone 7.1 (or Why INotifyCollectionChanged is fundamentally broken)
posted on Saturday, December 7, 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 Friday, March 8, 2013 in .NET Development,  C#,  Design/Coding Guidance,  Patterns,  Software Development
Azure Table Storage and the Great Certificate Expiry of 2013
posted on Friday, March 1, 2013 in .NET 4.0,  .NET 4.5,  Azure,  C#
async/await Tips
posted on Wednesday, February 13, 2013 in .NET 4.5,  async,  C#,  C# 5,  Visual Studio 2012
IDisposable and Class Hierarchies
posted on Monday, January 21, 2013 in .NET Development,  C#,  Design/Coding Guidance,  DevCenterPost,  Patterns,  Software Development Guidance
The Dispose Pattern as an anti-pattern
posted on Sunday, January 20, 2013 in .NET Development,  AntiPattern,  C#,  Design/Coding Guidance,  DevCenterPost,  Software Development Guidance
Introduction to Productivity Extensions
posted on Friday, November 30, 2012 in .NET Development,  C#,  Open Source,  Visual Studio 2010,  Visual Studio 2012
Leave predicting to meteorologists and fortune-tellers
posted on Sunday, November 25, 2012 in Design/Coding Guidance,  Software Development,  Software Development Guidance
And the winners are…
posted on Tuesday, November 6, 2012 in Uncategorized
Developer Fitness
posted on Monday, November 5, 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 Thursday, February 23, 2012 in .NET Development,  C#,  Software Development Guidance,  Software Development Principles,  Visual Studio 2010 Best Practices
The Flawed Eventually-upgrade Software Model
posted on Monday, February 13, 2012 in General,  Pontification
The Rat-hole of Object-oriented Mapping
posted on Friday, February 10, 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 Monday, January 30, 2012 in Uncategorized
Avoid the volatile Modifier
posted on Wednesday, January 25, 2012 in .NET Development,  C#,  Multithreaded,  Software Development,  Software Development Guidance,  Visual Studio
C#, Async, Limits, oh my!
posted on Thursday, January 19, 2012 in .NET Development,  Async Functions,  C#,  Visual Studio
The TeamCity Database Migration Documenation Could Use Some Work
posted on Thursday, December 1, 2011 in Uncategorized
If You’re Using “#if DEBUG”, You’re Doing it Wrong
posted on Thursday, November 24, 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 Thursday, November 17, 2011 in General,  SCC,  Software Development,  Software Development Workflow,  Subversion,  SVN
“Explicit” Tests with Resharper
posted on Tuesday, November 15, 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 Friday, November 11, 2011 in General,  SCC,  Software Development,  Software Development Workflow,  Subversion,  SVN
Getting a Quick Feel for a New Software Team
posted on Wednesday, November 9, 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 Sunday, March 6, 2011 in Uncategorized
Developing Windows Services in Visual Studio
posted on Wednesday, February 9, 2011 in C#,  DevCenterPost,  Software Development,  Software Development Guidance,  Visual Studio 2010
The Custom Configuration Section Code Smell
posted on Saturday, December 18, 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 Saturday, December 11, 2010 in .NET Development,  DevCenterPost,  Software Development,  Visual Studio 2010
Fluent Builders Part 2
posted on Thursday, December 9, 2010 in Uncategorized
Fluent Builders, Part 1
posted on Wednesday, December 8, 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 Wednesday, February 24, 2010 in Uncategorized
Women in High Tech
posted on Sunday, February 21, 2010 in Uncategorized
What is Data-Driven Design
posted on Monday, February 15, 2010 in Uncategorized
Nourishing Technology and product communities.
posted on Friday, February 12, 2010 in Uncategorized
The weather outside is frightful
posted on Wednesday, February 10, 2010 in Uncategorized
The Difference between an Anti-Pattern and a Code Smell
posted on Wednesday, February 3, 2010 in AntiPattern,  Design/Coding Guidance,  Patterns,  Software Development,  Software Development Guidance
DevTeach 2010 Toronto
posted on Friday, December 18, 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 Thursday, January 29, 2009 in Software Development
A Upcoming Pandemic of Domain Anaemia
posted on Thursday, January 29, 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 Tuesday, January 27, 2009 in AntiPattern,  Design/Coding Guidance,  Software Development
Unable To Step Into .NET Source
posted on Monday, November 24, 2008 in .NET Development,  Visual Studio 2008,  Visual Studio 2008 SP1
Pass-through Constructors
posted on Friday, November 21, 2008 in .NET Development,  C#,  Definition,  Software Development
Pontificating Virtual Parameterized Constructors in C#
posted on Tuesday, November 18, 2008 in AntiPattern,  C#,  OOD,  Patterns,  Pontification,  Software Development
visual studio jedi 2
posted on Friday, November 14, 2008 in Uncategorized
Dynamic Features in C#
posted on Friday, November 14, 2008 in C# 4
DevTeach 2008 Includes over $1,000 In Free Software.
posted on Wednesday, November 12, 2008 in .NET Development,  DevTeach YUL 2008
.NET 4.0, Evolving .NET Development
posted on Wednesday, November 12, 2008 in .NET 4.0,  .NET Development,  C#,  C# 4.0,  Visual Studio 2010
Microsoft Techdays 2008
posted on Monday, November 3, 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 Sunday, May 11, 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 Friday, March 7, 2008 in .NET Development,  C#,  Design/Coding Guidance,  Software Development
posted on in
My Wishlist for C# 4
posted on Tuesday, February 12, 2008 in C#,  C# 4,  Pontification
Playing with LINQ
posted on Friday, February 8, 2008 in Uncategorized
Testing the Units
posted on Wednesday, February 6, 2008 in Software Development,  Unit Testing
Not Knowing Why Something is Better or Worse Means You Believe it’s Magic
posted on Wednesday, February 6, 2008 in Software Development
Maxim’s of Object-Oriented Design – Layers
posted on Wednesday, February 6, 2008 in Uncategorized
In progress
posted on Wednesday, February 6, 2008 in Uncategorized
A Time and Place for Code Comments
posted on Tuesday, February 5, 2008 in C#,  Design/Coding Guidance,  Software Development
CoDe Magazine Article.
posted on Monday, February 4, 2008 in .NET 3.5,  .NET Development,  C# 3.0
Is C++/CLI a Second Class Language with Microsoft?
posted on Tuesday, January 29, 2008 in C++/CLI,  Pontification,  Software Development,  Visual Studio 2008
posted on in
Observation as Scientific Proof
posted on Friday, January 25, 2008 in Uncategorized
Formatting/parsing for a specific culture redux
posted on Tuesday, January 22, 2008 in .NET 2.0,  .NET Development,  C#,  DevCenterPost,  Framework Bug
BDD vs TDD.
posted on Tuesday, January 22, 2008 in Uncategorized
Compilation of LINQ Expressions and Separation of Concerns.
posted on Tuesday, January 15, 2008 in Uncategorized
Why is immutability important.
posted on Monday, January 7, 2008 in Uncategorized
How do I derive from a sealed class?
posted on Monday, January 7, 2008 in Uncategorized
Visual C# Developer Center Article
posted on Thursday, January 3, 2008 in .NET 3.5,  .NET Development,  C#,  C# 3.0
Microsoft Symbol Server EULA Circa VS 2005
posted on Thursday, January 3, 2008 in Uncategorized
Dependency Inversion Principle
posted on Thursday, January 3, 2008 in Uncategorized
Formatting/parsing for a specific culture
posted on Thursday, December 27, 2007 in .NET Development,  C#,  DevCenterPost
Bridges and Factories
posted on Friday, December 21, 2007 in .NET Development,  C#,  Patterns
Dependency Injection
posted on Thursday, December 13, 2007 in .NET Development,  C#,  Patterns,  Software Development
BigInteger is not in .NET Framework 3.5
posted on Thursday, December 13, 2007 in .NET 3.5
New Warning CS1060 in C# 3 (Visual Studio 2008)
posted on Sunday, December 9, 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 Monday, November 26, 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 Friday, February 23, 2007 in .NET Development,  C#,  Visual Studio 2005
Guest Blogging on Microsoft Canada Developer Connection
posted on Tuesday, February 13, 2007 in C#
Reducing code-bloat with anonymous methods
posted on Tuesday, February 6, 2007 in Uncategorized
Uses for yield Part One – Introduction
posted on Saturday, February 3, 2007 in Uncategorized
Sudden "…you must have Terminal Server User Access permissions on this computer." Error.
posted on Saturday, February 3, 2007 in Small Business Server 2003 R2,  Software Development,  Team Foundation Server
Much needed feedback on Connect feedback.
posted on Saturday, January 20, 2007 in .NET Development,  Software Development,  Visual Studio 2005
Visual Studio 2005 Clean doesn’t clean everything
posted on Thursday, November 16, 2006 in C#,  Visual Studio 2005
Dogfooding
posted on Thursday, November 16, 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 Saturday, March 25, 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 Saturday, March 25, 2006 in .NET Development,  C#,  Patterns