2019
2018
Announcing AzurePipelines.TestLogger
An Azure Pipelines logger extension for the Visual Studio Test Platform
Code From Your Phone
How I achieved mobile development nirvana.
The Bleeding Edge Of Razor
Using the Razor view engine in your own code.
MSBuild Loggers And Logging Events
How to easily write cross platform MSBuild loggers.
Announcing Discover .NET
Awesome .NET open source and community resources.
Blazor, Razor, WebAssembly, and Mono
How the pieces fit together.
2017 In Review
A look back.
2017
Announcing NetlifySharp
A .NET API client for Netlify.
Running A Design-Time Build With MSBuild APIs
Getting source files, references, and build properties without invoking the compiler.
Wyam 1.0
Over two years in the making.
Building A Cloud-Based Web App From Scratch, Part 2
Setting up Azure Functions and Azure App Services
Building A Cloud-Based Web App From Scratch, Part 1
Azure Cosmos DB + Azure Functions + Vue.js = Awesome
What Makes A Static Site?
Exploring the differences between static and dynamic web sites.
Publishing To Azure Using Cake And Web Deploy
Scripted deployment synchronization for static sites
Development On The Go
The iOS tools I use to make the most of every minute of downtime.
Synchronizing Files With Azure Web Apps Over FTP
Easy deployment to Azure using FTP or FTPS
Announcing A New Documentation Experience
Easy to customize API, content/wiki pages, and blog posts in the new Wyam Docs recipe.
Roslyn-Based DSLs vs. Standard C# Scripts
Examining the advantages of each and when you'd want to use them.
2016 In Review
A look back.
2016
Moving To Netlify
Why I'm moving my blog and other sites to Netlify.
Syntax Highlighting In Wyam
How to make your code look pretty.
Supercharge Your Enums
It's easy with this one little trick!
Integrating Wyam Into An ASP.NET MVC Site
I heard you like static sites, so I put some static site in your dynamic site
Exploring the NuGet v3 Libraries, Part 3
Installing packages
Announcing Scripty
An alternative to T4 for compile-time code generation using the power of Roslyn scripting
Exploring the NuGet v3 Libraries, Part 2
Searching for packages
Exploring the NuGet v3 Libraries, Part 1
Introduction and concepts
Capturing Standard Input in C#
My experience resolving a surprisingly tricky problem
Some Thoughts on Microdependencies, NPM, and Node
What can we learn from left-pad gate?
Computed Properties and Entity Framework (Revisited)
Another way to use your computed properties in predicates and projections.
NuGet API Survey
What projects are using the NuGet API?
2015 In Review
A personal look back (and an important announcement).
2015
WrappingStringBuilder
A small utility class for wrapping strings at predefined points based on line length.
Announcing @dotnetissues
A Twitter bot to keep you up to date with important .NET repositories.
Multiple String Replacement
Strings are hard.
Serving Extensionless URLs with OWIN
My first OWIN middleware.
Converting My Blog to Wyam
How I went from compiled to static in less than a day.
Announcing Wyam
A modular static content generator built on Roslyn, Razor, and rainbows.
Using the .NET Compiler Platform in T4 Templates
Metaprogramming with Roslyn.
Identity Crisis
Changing your name in the digital age.
Announcing LINQPad.CodeAnalysis
.NET Compiler Platform helpers and utilities for LINQPad.
Introduction to Scripting with the .NET Compiler Platform (Roslyn)
So easy a caveman can do it.
Random Polygon Page Backgrounds
My god, it's full of triangles.
A Tale of Two APIs
A strategy for dealing with multiple public interfaces for libraries.
Debugging Stack Overflows on IIS
1990 called and they want their debugger back.
Eliminating Magic Strings in ASP.NET MVC
One man's quest to get rid of quotes.
2014
Automatic Retry for LINQ to SQL
A new library that makes retrying transient failures in LINQ to SQL easier.
Computed Properties and Entity Framework
How to use your computed properties in predicates and projections.
Open Source Obligations
What is required from creators, contributors, consumers, and coders?
Introducing FluentBootstrap
Extensions, helper classes, and other goodies to help you use the Bootstrap CSS framework.
How To Value Creative Work In The New Economy?
What To Do When Supply, Demand, and the Middle-Man Aren't In Sync?
A T4 Template To Get All CSS Class Names
Metaprogramming For Fun And Profit
Announcing RazorDatabase
An in-memory collection populated by Razor views and custom metadata.
Deploying a Public NuGet.org Package From Scratch
With Continuous Integration Using GitHub and AppVeyor
New Blog
Look, Ma, no database!
Method Chaining, Fluent Interfaces, and the Finishing Problem
Or Why You Can't Have Your Cake And Eat It Too
Brace Style Convention
Or Why I Prefer My Braces On Their Own Line
2013
2012
Introducing Nxdb
A high-performance embedded XML database for .NET.
Introducing NiceThreads
A threading utility library designed to make different threading primitives easier to use.
2010
Exporting a GtkSharp TreeView to CSV
All packaged up in nice little utility methods.