Browse our archives by topic…
Blog
Browse our blogs activity over the years…
A Step by Step Guide to Hosting TeamCity in IIS 7
Step-by-step guide on setting up TeamCity and using IIS as a reverse proxy for custom domain access.
Layering your API
Incrementally adding behaviour should be only incrementally more complex. Layer your APIs so simple tasks stay simple, while still offering a discoverable path to advanced features.
RX and INotifyPropertyChanged
Cleaner Reactive Extensions over INotifyPropertyChanged in C#: helper methods that simplify Expression-based subscriptions for property changes in MVVM apps.
Silverlight CommandManager
Silverlight has no equivalent to WPF's CommandManager and its RequerySuggested event. This post explores why, and a pattern for porting the behaviour across.
Component discovery & composition – 1f: Generalizing registration
This post demonstrates how to generalize component registration using C# generics and base classes, reducing boilerplate code while maintaining the convention-based approach to container bootstrapping with MEF and Castle Windsor.
A follow up to "A Short Tale of a Deceptively Slow LINQ Expression"
My last post caused a number of responses from the community. I discuss them here and provide a little bit more context.
A Short Tale of a Deceptively Slow LINQ Expression
A simple-looking foreach loop was taking over 200 seconds. The culprit: LINQ's deferred execution re-evaluating a query on every iteration.
Component discovery & composition – 1e: Componentizing registration
This post demonstrates how to componentize registration by combining MEF's discovery capabilities with Castle Windsor's conventional registration, enabling automatic bootstrapping of self-describing components.
Component discovery & composition – Part 1d: Conventions
This post explores Castle.Windsor's fluent API for convention-based component registration, enabling low-ceremony dependency injection through namespace matching and interface implementation patterns.
Component discovery & composition – Part 1c: Castle.Windsor
This post explores Castle.Windsor's registration and resolution model for dependency injection, contrasting its convention-based approach with MEF's explicit import/export attributes.
Introducing Templify
Templify is a simple tool for tokenising and packaging entire code based solutions. It's designed to unfurl demos / quickstarts / solution templates.
Component discovery and composition Part 1b: Fundamentals - MEF
This post explores MEF (Managed Extensibility Framework) for component discovery and composition in .NET, demonstrating its export/import attributes and explaining its limitations compared to full IoC containers.
Component discovery and composition Part 1: Fundamentals
This post introduces the fundamentals of component discovery and composition in .NET, exploring how MEF and Castle.Windsor can be combined to create loosely-coupled, modular application architectures.
Work Smarter, Not Harder
Feedback loops are an incredibly powerful force. In order adopt a continuous improvement mindset, you need to set up positive feedback loops. Here's how I've internalised the 'Work Smarter, Not Harder' mantra.