Ten Seconds

Ten seconds between receiving a message from a pricing engine, and delivering that price to the client. Admittedly it’s an exotic structured product (not HFT). Layered, stateless services + ORM-backed repository pattern + ambient database connections. If you cannot precisely predict the number of database round-trips that will occur from a single API call, then …

Stock Exchange Limit Order Book in Go

I’ve been learning Go this week, and on Tuesday I attended the London Go Gathering at Google’s London Campus. As a learning exercise, I decided to port the winning QuantCup competition entry — implementing a fast stock exchange matching engine for a high-frequency trading bot — from C to Go. You can check out my …

Microsoft.Web.Administration Confusion

Just a quick tip — if you’re having problems with programmatically modifying your IIS sites configuration using the Microsoft.Web.Administration .NET API, and are currently banging your head against the desk because: ServerManager.Sites returns a completely different set of sites than what is visible in IIS Manager, or No matter how many times you call it, …

MVVM async progress meter example using the Task Parallel Library

I’ve just posted up on GitHub a quick example WPF application that shows an MVVM-style progress meter dialog, using the .NET 4.5 Task Parallel Library (TPL). Specifically demonstrating: A progress meter using .NET 4 Tasks (not BackgroundWorkers). Async support. Cancelling of Tasks via CancellationTokens. Exception handling back to the original thread. Reporting background progress updates …