My book is released – Async in C# 5

I’m pleased to announce that my book “Async in C# 5” has been published by O’Reilly! If you want to know about how to use async, and whether it’s important for your code, I thoroughly recommend reading it. It’s the best book about the subject I’ve ever written. In fact it’s probably the best … Read more

A new tool in beta: Conflict Alert

You know that manual merges are a real pain? Well, I’ve just released a Visual Studio extension that makes manual merges a thing of the past. No source control system can automatically merge two edits to the same line of code. Conflict Alert solves this by warning you that you are heading down a path … Read more

You can step over await

I’ve just found the coolest feature of VS 2012 by far. I thought that being able to silence an exception from the “exception was thrown” popup was awesome, and the “reload all” button when a project file changes is amazing, but this is way beyond all of that. You can step over awaits when you … Read more

An experiment: unlimited free trial

The .NET Demon team have just implemented an experiment that is quite a break from Red Gate’s normal business model. Instead of the tool expiring after the trial period, it now continues to work, but with a new message that appears after the tool has saved you a certain amount of time. The rationale is … Read more

.NET Demon support for VS 11 dark theme

I’m pleased to announce that .NET Demon will be shipping simultaneously with Visual Studio 11, whenever it ends up being released. That means we’re going to make sure that a version of .NET Demon is released very near to the Visual Studio 11 final release which supports the new version of VS fully. The interesting … Read more

Super-simple way to send information home

Today I needed a really lightweight way for a desktop app to send me information. What I came up with is quite neat, so I thought I’d share. Create a form using Google Docs with only one question with a text answer Find its form key from the URL ( Put the form key in … Read more

Joined twitter @alexdcode

I reckon that I come across enough interesting C# and coding related stuff that I can keep a twitter account busy just with my thoughts on those subjects. I only have one follower so far, which makes me sad, so please follow me and make me feel popular. @alexdcod… Read more

AsyncBridge? Async on .NET 4.0 using VS11

I’ve just found something quite cool. It’s a code snippet that lets you use the real VS 11 C#5 compiler to write code that uses the async and await keywords, but to target .NET 4.0. It was published by Daniel Grunwald (from SharpDevelop). That means I can stop using the Async CTP for VS2010, which … Read more

C# async and actors

If you read my last post about async, you might be wondering what drove me to write such odd code in the first place. The short answer is that .NET Demon is written using NAct Actors. Actors are an old idea, which I believe deserve a renaissance under C# 5. The idea is to isolate … Read more

C# 5: At last, async without the pain

For me, the best feature in Visual Studio 11 is the async and await keywords that come with C# 5. I am a big fan of asynchronous programming: it frees up resources, in particular the thread that a piece of code needs to run in. That lets that thread run something else, while waiting for … Read more

A new toy – .NET Demon

I’d like to present a new tool for .NET Developers that we’ve been cooking up in the Red Gate .NET team. It’s only a beta at the moment, but it works for most people. .NET Demon Beta It’s a Visual Studio extension that cuts the time you spend waiting to find whether your code is … Read more

SmartAssembly Sync for JIRA

JIRA is a powerful bug tracking system, but it can’t help you to actually collect error reports from your users. For that we’ve started using SmartAssembly (SA), but we quickly realised that there was no easy (or, more importantly, automatic) way to get error reports out of SA and into JIRA. Automation is the Mother … Read more

Automated testing in Silverlight with Statlight

I really like automated testing. Not just on any kind of religious basis, it just saves loads of time. I think it’s best when the tests run automatically on or after each build. So I was disappointed to find that there isn’t a way provided with the Silverlight framework to run tests for Silverlight applications. … Read more

Why lock statements don’t scale

We are going to have to stop using lock statements one day. Just like we had to stop using goto statements. The problem is similar, they’re pretty easy to follow in small programs, but code with locks isn’t composable. That means that small pieces of program that work in isolation can’t necessarily be put together … Read more