Some software problems are difficult; and then, some are insanely hard. In this talk, we will explore one of the latter, the Mona Lisa Travelling Salesman Problem, and how we used modern tools to tackle it. We will demonstrate how we leveraged F# asynchronous and concurrency models in combination with Azure worker roles, service bus and storage, to build a distributed genetic algorithm which can be deployed, scaled and torn down in a couple of clicks - in about 1,000 lines of surprisingly simple code. While the specific problem at hand might be somewhat unusual, the key ideas presented are broadly applicable, and will illustrate how F# and Azure are a deadly combination to build simple applications that scale.
Mathias Brandewinder has been developing software for about 10 years, and loving every minute of it, except maybe for a few release days. His language of choice was C#, until he discovered F# and fell in love with it. He enjoys arguing about code and how to make it better, and gets very excited when discussing TDD or functional programming. His other professional interests include machine learning and applied math. Mathias is a Microsoft F# MVP and the founder of Clear Lines Consulting. He is based in San Francisco, blogs at http://www.clear-lines.com/blog , and can be found on Twitter as @brandewinder.