Phillip Trelford's Array

POKE 36879,255

Progressive F# Tutorials London 2012

First things first, a big thanks to the team at Skills Matter particularly Wendy and Anaïs for making this event happen.


This year the tutorials were held over 2 days in the atmospheric Crypt in Clerkenwell:

Progressive F# PanelProgressive F# Panel Progressive F# PanelSimon Cousins & Tomas Petrick

Expect a return next year in London and New York.

Day 1


Practical Functional-first Programming with F#


Friends don't let friends use null

An outstanding keynote from Don which built on the talk he gave at the Progressive .Net Tutorials earlier in the year, stacked full of nuggets. On measuring if you have a correctness problem in your code base Don suggests counting the occurrences of NullReferenceException in your bug database.

Don also demonstrated F# 3.0’s Type Provider feature, including a very interesting Hive type provider for Hadoop written by Matt Moloney.


Programming with the stars!


I generally avoid 'function' when showing the language to newcomers. Not a problem at #progfsharp :-)


i'm going to the Progressive F# Tutorials at #SkillsMatter Nov 1-2 intense coding with the greats of #Fsharp!

To demonstrate how to tackle problems with F#, Tomas & Nicolas neatly solved the Reversi kata live on stage. They started by transforming a board to a 2D array and then searched the array for legal moves.


F# Koans


Ready for some koans fun at #progfsharp!

The F# Koans are a simple, fun, and interactive way to learn the F# language through testing. You can run them from VS2010 or VS2012. My 10yo really enjoyed working his way through them.


Processing concurrent time-series data


See you at the Progressive F# Tutorials 2012


Not to miss #fsharp events! Tutorials at #skillsmatter in 2 weeks & Type-providers and financial tutorial at #techmesh…

Simon worked through some of the techniques he has used while developing solution in F# at E.ON Energy Trading for the last 4 years. There was also some ASCII art


Expert Panel Discussion


A very lively and fun debate, covering topics from industrial use of F#, cross-platform with Mono and the JVM, to data parallelism. Jon offered that several teams at Aviva, one of the world’s largest insurers, are using F#. Martin felt that F# on the JVM would be a smash hit. Finally Nick wetted our appetite for the upcoming release of {m}brace.


Day 2


Accelerate your TDD cycle – Coding dojo with NaturalSpec and NCrunch

sforkman turns out the whole "in the crypt" thing - not a joke. #progfsharp

In this session Steffen introduced TDD with F# using NaturalSpec and NCrunch.


Make Music in the Key of F#


@AnaisatSM thanks for having us, it really was a lovely event! /cc@skillsmatter @wendydevolder @ptrelford


Robert introduced Undertone a library for creating notes in F#, part inspired by Clojure’s Overtone. With the F# Koans under his belt my 10yo was able to translate the Baa Baa Black Sheep sample to Jingle Bells :)


F# in the Cloud


In this session, George and Gian demonstrated that F# can be used to perform computations in a cloud environment, using distributed actors, Azure Hadoop and the cool F# newcomer, {m}brace.


Web Programming


James started by talking through the F# MVC project template from Daniel Mohl.

After a short tea break I demonstrated some F# 3 type providers starting with accessing Stack Overflow’s API using the F# team’s OData type provider, followed by the file system and Freebase providers which are available in FSharpx via Nuget. Finishing up with a demo of the F# team’s B-Movie Madness sample web application which I’ve deployed on Azure.

James followed on with a site built using tube passenger statistics from TfL and a CSV type provider. Finally James demonstrated WebSharper compiling F# code directly to JavaScript.


Community Action

Thanks for stopping by, hope to see y’all at some of the upcoming fun F# community events:

Strangeloop 2012

This year I had the privilege of attending and speaking at the Strangeloop conference in St Louis. The venues, the Union Street Marriot (a National Historic Landmark), and the Peabody Opera House were spectacular.


The range of sessions and speakers was literally mind boggling. Some of my favourites:

The breakfast hallway conversations were friendly and insightful, thanks to everyone for all the great feedback on my talk.

F# for Trading

Many people in the community use F# for Trading, and not just developers, traders too. Community matters in a language. The talk looked at some of the reasons people choose to use F# in Trading and some of the projects they have built to support their efforts, like Type Providers for Excel and the R statistical programming language.

The talk was recorded so expect a video to appear on InfoQ at some point in the future.

References (4.15 mb)

Blog 101

This is a meta post to coincide with posting over 100 articles over 4 years, going back over some the more popular along with some of my own personal favourites. I started blogging regularly back in 2007 on the Applied Games Group blog, here’s a selection from there: 

Then in 2008 I started this blog with the motivation of keeping a record of some of the things I’ve learned while improving my technical writing skills with a view to working on a book. This week in collaboration with Tomas Petricek I signed a book deal with Manning.

Many of the posts are written during my daily commute from Cambridgeshire down to London, which takes just over an hour. The ideas for posts come at different times, more often when I’m away from my computer taking a walk or a cycle or having a bath. Once an idea has solidified in my mind, I usually start by writing a working title, an opening sentence, a brief outline and then fill in the gaps.


Most popular articles

More often than not it’s the articles I least expect to be popular that are. Typically early views come from Twitter, and then from link sites like Chris Alcock’s Morning Brew and Alvin Ashcraft’s Morning Dew. My biggest traffic spikes have come from CodeProject.

My picks

A selection of interesting technology and some minor rants.

Mini Games

My interest in programming started with video games, and I still enjoy writing mini games. I typically write them in Silverlight so that I can embed them in the blog.

Open Source Projects

Introductions to some of my open source projects on CodePlex.


Thanks for all the feedback, it really helps, don't be shy :)