Matthew Cox

Most recent blogs by Matthew Cox

Matthew Cox

The return of Pex

Effortless unit testing with Smart Unit Tests in Visual Studio 2015 Ultimate

Matthew Cox

Getting started with Microsoft Fakes

When inheriting a legacy project, if it’s well-structured it’s fairly simple to isolate and test the components and begin working, but what do you do when that’s not the case?

Matthew Cox

Async controller actions in Umbraco Part 2

In my previous blog I explained how to get the httpContext to survive an asynchronous callback by using the aspnet:UseTaskFriendlySynchronizationContext application setting and I questioned why this wasn’t set by default. Well I’ve since discovered why that’s the case and it has some pretty significant consequences for Umbraco’s backend CMS.

Matthew Cox

CourtesyFlush for web optimisation

At Wiliam we love web performance almost as much as we love a somewhat lowbrow double entendre, which is why we love CourtesyFlush.

Matthew Cox

Google is killing captcha and it’s about bloody time

Captcha was always a good idea on paper, but in practice it means annoying legitimate users.

Matthew Cox

Async controller actions in Umbraco

Following on from my previous blog about thread exhaustion, I recently had to deal with a site experiencing thread exhaustion that happened to be an Umbraco site. This issue was nothing to do with Umbraco itself, it was synchronously calling a fairly slow webservice that was responsible. My solution? Async controllers

Matthew Cox

Thread exhaustion

One of the biggest headaches for any web developer is the 503 – “server too busy” error message from IIS.

Matthew Cox Team : Web Development Tags : Technology Web Development Featured

Writing code is easy, reading code is hard

Don't just copy paste from Stack Overflow, try reading the source code

Matthew Cox

Application logging

All applications require logging to some degree, whether that is simply logging to the standard output stream or asynchronously logging a fixed size rolling log file to disk using enterprise logging tools.

Matthew Cox

When to use a tuple

Spoiler: NEVER

Matthew Cox

Fun with Expression Trees

Fun with Expression Trees

Matthew Cox

Take an existing product and put a clock in it

In the immortal words of Homer Simpson “People are afraid of new things. You should have taken an existing product and put a clock in it or something.” So this is my new blog post, with a clock in it.

Matthew Cox

The CMS is not the be-all, end-all

You can't build a website without a CMS right? Wrong. And your website might be all the better for it.

Matthew Cox

Adaptive/responsive technical and SEO considerations

Adaptive and responsive design have emerged from the desire to serve all the content of a single site from a single domain.

Matthew Cox

Overriding MVC unobtrusive client validation error placement

The problem I encountered recently was that I had a field wrapped in 15 pieces of design flare and really needed to add the error class to an element several levels up the DOM hierarchy.

Matthew Cox

.net Rounding

I know Math.Round() has an overload that accepts and enum that specifies which type of rounding to use and I always assumed the default would be ‘symmetric arithmetic rounding’.

Matthew Cox

Using Umbraco in a load balanced environment

Building seriously robust websites in Umbraco – via load balancing – is more glamorous than you might think.

Matthew Cox

Using the .Any() linq extension

Using the .Count() linq extension can be really bad practice.

Matthew Cox

Visual Studio Intellisense for jQuery

Intellisense for javascript was one of the best new features to come with Visual Studio 2008, and now intellisense has come to jQuery.

Matthew Cox

IIS7

When I am developing web sites, I like my development environment to match, as closely as possible, the actual live environment on the server that will host the finished site. For this reason I prefer to use IIS for development and testing, over the inbuilt development server included with Visual Studio.


Connect with us

We deliver our promise to clients through 2 focuses:

Online Success and Project Success. Over 15 years, we have delivered hundreds of substantial and complex projects on time, on budget and to the highest of standards.


Sydney 0420 521 870

Level 7, 140 Arthur Street, North Sydney, NSW Australia 2060