gwerren.com

Programming notes and tools...

All Posts

Using A Parse Tree

Using a parse tree to build a simple language implementation in C#.

Simple C# Parser

A look at how to build a parser for a simple language in C# based on a set of language tokens.

Simple C# Tokenizer Using Regex

A look at how to build a tokenizer for a simple language in C# using the built in Regex utility.

HangFire as a Service Bus

An exploration of a way to use HangFire in a service-bus-like manner within a single application.

Mercurial CSV Log

Generating a filtered CSV file of commits from Mercurial.

MVVM and Code Behind

A look at code behind and why, when used properly, it isn't anti-MVVM

Introducing Multi-Caret

A Visual Studio plugin for multi-point editing

Basic Casting in C#

Good and bad ways to cast between types in C#.

Reporting Exceptions

Great exception reporting to make your users happy and your life easy.

Is Linq X-OrDefault Evil?

.FirstOrDefault() and friends are often used incorrectly, here we take a look at which of the "select one" methods to use when and how to choose.

Fail Early In Code

When writing code we should always consider error cases, this is a good thing. When attempting to handle an error case however...

Rethrowing Exceptions

How to (and not to) re-throw exceptions.