A practical guide to creating and implementing custom item templates in Visual Studio 2015, with tips for handling non-code files and troubleshooting common issues.
A practical implementation of honeypot fields to detect and filter bot submissions in web forms, offering a JavaScript-free alternative to traditional CAPTCHA solutions.
A step-by-step guide to implementing Azure CDN for web applications, including troubleshooting common issues with propagation times, CORS settings, and custom domain configuration.
A quick demonstration of using C# Interactive to merge separate comment YAML files into their corresponding blog post files, reducing file management overhead.
A practical example of using Visual Studio's C# Interactive window to efficiently process and migrate blog post metadata into Jekyll-style front matter format.
A practical demonstration of using F#'s type providers to elegantly parse and process Disqus comment export data, showcasing the language's powerful XML handling capabilities.
A reflection on the decision to remove Disqus comments from a blog, discussing the technical and philosophical reasons for taking ownership of comment data and exploring alternative solutions.
An exploration of implementing content negotiation in ASP.NET MVC, allowing single endpoints to serve multiple content types through custom action invokers and format-specific views.
A detailed journey of how implementing a simple 404 page evolved into multiple features, including archive pages, partial views, and content negotiation improvements.
An exploration of implementing a module system in Vessel, discussing the tradeoffs between application-level and feature-level legibility in IoC container design.
Introducing Vessel, a minimalist dependency injection container that challenges traditional IoC patterns with a simpler, more focused approach to object composition.
Introducing Nimbus, a lightweight mediator implementation that emerged from questioning traditional IoC container patterns and seeking simpler alternatives.
Drawing a parallel between object-oriented constructor injection and functional programming's partial application, revealing how both patterns solve the problem of dependency management.
A critique of the common practice of naming interfaces and their implementations with the Foo:IFoo pattern, exploring why this approach often indicates poor design thinking.
A deep dive into how constructor injection can inadvertently violate the Interface Segregation Principle, with examples of common anti-patterns and their solutions.
A comprehensive review of David Boike's book on NServiceBus, examining how it effectively introduces messaging concepts and practical implementation for developers.
A quick tip about JavaScript's built-in UTC datetime handling capabilities, demonstrating how the language automatically manages timezone conversions without additional code.
A practical guide on why using string IDs in RavenDB is the better choice over integers, especially when dealing with indexes and routing in MVC applications.
A reflection on the value and pitfalls of architectural abstractions in software development, exploring when they add value and when they become unnecessary overhead.
Exploring a solution for handling form validation and view re-hydration in FubuMVC, with a focus on maintaining user input data after failed POST requests.
An exploration of different approaches to partitioning lists in C#, including a discovery of how LINQ's GroupBy provides a simpler solution than custom partitioning logic.
A critical look at how service-based businesses, particularly in software development, often undervalue their work and the long-term consequences of underselling services.
A practical C# extension method implementation for handling null values more elegantly, providing a cleaner alternative to repetitive null-checking patterns.
An exploration of using C# extension methods to create a more concise and reusable approach to null checking, reducing boilerplate code in method arguments validation.
A discussion on improving code readability by favoring positive conditional logic over negative branching, with practical examples using C# extension methods.
An exploration of a lesser-known feature of C# extension methods - their ability to be called on null instances, making them particularly useful for null-checking scenarios.
A discovery of Visual Studio's built-in Ctrl+. shortcut for automatically adding namespace directives, eliminating the need for manual namespace lookups and typing.
A critical perspective on Script#, arguing that compiling C# to JavaScript is reminiscent of WebForms' approach of abstracting away the browser, suggesting more direct solutions instead.
A pragmatic perspective on the concept of 'Blub' programming languages, arguing that while not perfect, they often provide the right balance of power and practicality for real-world development.
A reflection on technical interviews and the value of focusing on deeper discussions rather than basic coding exercises, accompanied by a LINQ-based FizzBuzz implementation.
An enhanced implementation of the classic FizzBuzz programming exercise, demonstrating more elegant solutions using C# extension methods and functional programming concepts.
A personal testimonial about the effectiveness of TekPub's video tutorials in deepening understanding of familiar technologies like jQuery, LINQ, and MVC.