Lego House

On a recent family trip to Denmark we spent a day at the Lego House in Billund. It's set back behind the Lego theme park, and has only been open for about a year.

Read more...

Dev East

Dev East is a single day, single track software developer conference running on 16th March 2018 at Ipswich Town Football Club.

Read more...

Bulk inserting data into SQL Server

Let's say with have a simple table in SQL Server in which we want to insert thousands of values (Guids) from a .NET application.

Read more...

Review of the HP Envy 13

I was in the market for a new laptop for work. I wanted a 13" (ish) Core i7 (7th gen), 16GB RAM and a 512 GB SSD to replace my 6 year old Lenovo X1. I compared a few laptops on the market, here's the summary

Read more...

Benchmarking Image Interpolation in .NET

I am attempting to improve the performance of image resizing in C#.

Read more...

Comparing Microsoft Orleans and Azure Service Fabric Actors

Never has there been such a good time for C# developers wanting to develop software based on Virtual Actors. At the moment there are two systems available, Orleans and Service Fabric Actors.

Read more...

The Good Parts

Yesterday I was trying to learn F# by reading through the O'Reilly book and trying a few code samples. I then made a flippant remark...

Read more...

Orleans Hello World - 2016 Edition

Orleans has seen lots of improvements over the last year, in terms of the client APIs, the configuration and installation. So the process of getting started is now a little different. Let's walk through setting up a grain, with a silo host and client application.

Read more...

Continuous Integration on the Cheap

I used Azure Web Apps to build my small .NET application, which is held in a private BitBucket repository, without having to pay anything for a CI service.

Read more...

Syncing data with SQL Server

When building occasionally connected apps, we frequently want to synchronize data between client and server. It's common to build REST APIs to retrieve records from a database that have changed since we last connected.

Read more...

Reactify

In this post we'll look at using react to render the data on the screen

Read more...

Enter the Browser

In this post we'll look at moving code into the browser, to make a single page application - the node way!

Read more...

Storing Data

In this post we'll look at persisting data to a database. The node way.

Read more...

Serving Angle Brackets

In this series of blog posts, we're looking at how to set up a simple web app in node. In this post we're going to put the plumbing in for serving html, both static and dynamic pages.

Read more...

Setting up Node and Express

I've been talking to a few people lately about how I build web applications. There's no single right-way of doing it, but here's my workflow, split into small blog posts you can follow.

Read more...

Setting up a Google Hangout On Air

Setting up a Google Hangout is not obvious, here are the steps I take to create one.

Read more...

Optimistic Concurrency in Orleans

the Storage Provider infrastructure in Orleans exposes an 'Etag' field representing a particular revision of the data in the underlying storage system. This can be used to detect writes competing writes to overwrite grain state.

Read more...

Thoughts on Deploying Orleans

A post discussing a future possibility for deploying Orleans to Azure

Read more...

Running io.js on Azure Websites

You can run io.js on Azure Websites easily, by configuring azure to use a custom node version. This blog shows you how.

Read more...

Bootstrap provider in Orleans

The bootstrap provider enables you to hook in some code at silo startup. There are a variety of reasons for doing this, perhaps you want to set some local grains up, or initialize some data. The Hub design pattern makes use of the bootstrap provider create a stateless worker in each Silo.

Read more...