Time Travel DSL

I’ve designed a little domain specific language in C# to manage changes to the system clock. The objective was to simulate a sequence of transactions running against my domain model with realistic time intervals between each transaction.

Using SQL LIKE with Entity Framework

I found out this week that using the LIKE operator in an Entity Framework query is maddeningly difficult 😳. I reckon there are three options, each with different trade-offs and levels of difficulty.

Generating Sample Data

Recently I’ve been thinking a lot about manual exploratory testing and performance testing, both of which require large sets of realistic test data.

On most projects we can’t use real user data for testing (due to data security rules) so instead I’ve come up with a few simple techniques to generate large sets of random, but realistic, sample data.

Dockerizing my Development Process

I’m a big fan of using Vagrant for development. I really like the approach of installing the framework, database and development tools on a project-specific virtual machine that can be shared with the other folks on the team.

But Docker is the shiny new toy that promises development / production parity, allowing infrastructure to be scripted alongside the code and run in these light-weight container thingy-me-bobs.

Does Docker live up to its promises? Is it time to evict the Vagrant? I’ve developed a simple web app to find out…

Regex Find & Replace

I repeatedly forget and rediscover this powerful technique for finding and replacing text.

I wanted to change the name of a CSS class across a large codebase. A simple approach would be to find and replace for all *.html files: