Last week I travelled to Malmö in Sweden for Øredev, a large well established annual conference primarily covering enterprise development practices from programming to agile.
The first night at the event was probably the most surreal I’ve experienced at a developer conference. It began with a keynote from XKCD creator Randall Munroe covering their increasingly elaborate April fools’ day pranks and turning his lounge into a ball pit.
Then, along with Rachel Reese, Julie Lerman, Iris Classon and some enthusiastic locals, I found myself in a boxing ring at the hotel watching an impressive impromptu display of acroyoga and slacklining.
The night continued on in to the early hours hacking F# with Iris, which attracted a small crowd of interested onlookers. Iris picked up F# really quickly and by the end of the night she had put together a great solution to a Kaggle machine learning competition task, while still finding time to squeeze in some tango dancing.
In the morning I woke to the entire room shaking, to the point that I thought the TV was going to come off the wall, later I learnt I was sleeping below the running machines in the gym.
Just about everyone at the conference was staying in the same hotel, just around the corner from the venue, which made it a very fun social event. It was really nice to catch up with Ashic Mahtab, Torbjörn Gyllebring and Paul Stack, and finally meet in person Jessica Kerr, Bodil Stokke, Richard and Carl from .Net Rocks, Shay Friedman and Steve Klabnik, to name just a few.
It was Rikard Ottosson who kindly invited me to give two talks at the conference, first F# Eye for the C# Guy and then F# for Trading. All the sessions were recorded and most are already available online. For some more functional love I’d highly recommend watching Rachel Reese, Bodil Stokke and Jessica Kerr’s talks.
F# Eye for the C# Guy
I first presented this talk at DDD Belfast back in 2011, and somehow it got a mention on Microsoft’s Channel 9! Since then it’s taken me to Seattle, San Francisco, Cambridge (twice), London, Norwich, Sunderland and now Malmö. Each one is slightly different but the overall theme has remained constant.
The title was borrowed from a presentation by Leon Bambrick made in 2008, and the F# logo complete with unicorn is courtesy of Chris Smith who is also responsible for the faux art work on the Learning F# 1.0 book. The not entirely genuine F# 3.0 in Action cover is all my own doing.
In the live demos I take an immutable C# class and transform it into equivalent F#, to show some of the syntactic differences. Then the focus turns to unit testing with NUnit, FsUnit, Unquote and Foq, followed by automated acceptance testing with TickSpec.
From there the focus switched to Type Providers including FSharp.Data’s JSON provider. Then accessing data from the World Bank and presenting it in a web page with High Charts using Tomas Petricek’s FunScript sample.
It was great to get a lot of questions at the end:
and some really encouraging feedback on Twitter:
The F in F# stands for fun. It's actually a keyword." -
@ptrelford :) #oredev
Best talk so far F# for C# developers! Thanks
F# for Trading
After seeing a video of Rich Hickey’s Simple made Easy talk at Stangeloop back in 2011, I really wanted to make it to the next event, and submitted F# for Trading. I was both hugely grateful and a little surprised that it was accepted and was able to attend what is a fantastic alternative conference. Since then I’ve presented variants in San Francisco, New York, London and Amsterdam.
Thanks again to Torbjörn for the nice quotes he put up on Twitter during the session:
When you look at a language you will also get a community, with a special feel and specialization. ~
Non programmers learn F# easily. Those with OOP background need to spend time un-learning first. ~
The real performance gains are found by having time finding better algorithms. F# frees time up for that. ~
Immutability and strong typing let's me relax and be confident things will work ~
@ptrelford #oredev ergonomics matter.
@ptrelford did just intellisense his way through open World Bank data. That's what F# type providers enables. #oredev
And to Rikard for inviting me over and to the whole Øredev team for putting on a fantastic event.
The fun continues over the coming weeks, next up I’ll be at: