Making Amazon SimpleWorkflow simpler to work with

Amazon SimpleWorkflow (abbreviated to SWF from here on) is a workflow service provided by Amazon which allows you to model business processes as workflows using a task based programming model. The service provides reliable task dispatch and state management so that you can focus on developing ‘workers’ to perform the tasks that are required to …

Making Amazon SimpleWorkflow simpler to work with Read More »

LINQ OrderBy – using Comparer<T>.Create and F#’s Object Expressions

.Net 4.5 introduced a handy little new method Comparer<T>.Create to aid the creation of bespoke comparers, which is great because it means that you don’t have to define a new Comparer class when it is going to be needed once. In case you’re wondering, it’s still not possible to define anonymous implementation of interfaces in …

LINQ OrderBy – using Comparer<T>.Create and F#’s Object Expressions Read More »

AOP – using PostSharp attributes with async Task/Task<T> methods

NOTE: if you’re unfamiliar with how PostSharp works under the hood, I highly recommend that you check out Dustin Davis‘ excellent PostSharp Principles series of blog posts here. The Problem The new async/await keywords in C# are pretty awesome, and makes life an awful lot easier when writing asynchronous and non-blocking IO code. However, for …

AOP – using PostSharp attributes with async Task/Task<T> methods Read More »

DynamoDb.SQL – a SQL-like external DSL for Amazon DynamoDB

Amazon’s DynamoDB is a wonderful product – scalable, durable, fast, with predictable latency numbers unlike SimpleDB. However, the only gripe I have with DynamoDB is that there is no built-in support for a query language, which makes life rather difficult when you want to perform a query or a scan against the data you have …

DynamoDb.SQL – a SQL-like external DSL for Amazon DynamoDB Read More »

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close