I have been writing software on .NET for 10 years, mostly C#, until I fell in love with F# and functional programming. I enjoy arguing about code and how to make it better, and get very excited when discussing testing or F#. My other professional interests are applied math and machine learning. If you want to know more about me, you can check out my blog here or find me on Twitter as @brandewinder.
Test-Driven Development is about writing a test first, then the code that satisfies the test. Or... is it? Classic TDD has been crucial in my growth as a developer; and yet, as I started using F# more and C# less, my coding practices have evolved dramatically. Nowadays, I barely test first, but spend my days in the scripting environment. In this talk, I will examine how I used to code, and how I write code in F# today, in a style I consider very much inspired by TDD; I will also discuss how exploring two paradigms (C# and F#) lead me to re-examine my beliefs and practices.
For data exploration and rapid prototyping, the productivity of an interactive scripting environment is hard to beat: simply grab data, run code, and iterate based on immediate feedback. However, that story starts to break down when the data you have to process is big, or the computations expensive. Your local machine becomes the bottleneck, and you are left with a slow and unresponsive environment. In this talk, we will introduce MBrace.io, an open-source and free engine for scalable cloud programming. Using the MBrace programming model, you can keep working in your beloved familiar scripting environment, and easily execute C# or F# code on a cluster of machines on Azure. We will focus primarily on live demos, from provisioning an Azure cluster, to analyzing large datasets in a distributed fashion; in particular, we will discuss how this setup is relevant to data science and machine learning.