Phillip Trelford's Array

POKE 36879,255

F# on Android

Android games are now out-selling games for Sony and Nintendo handhelds. Thanks to the nice people at Xamarin you can now develop Android and iOS apps using all your favourite .Net languages:

Xamarin.Android 4.8.0 - New Features - F# support

Now it has been possible to target F# on Android and iOS for some time. In the latest release FSharp.Core is included and a blessed dll for the 64kb limit on trial versions.

Windows

You can use Xamarin.Android inside Visual Studio 2012 on Windows, which is how I got started. But I’d recommend giving Xamarin Studio a go, it has all the features you’d expect like intellisense and debugging.

Mac

In my opinion Xamarin Studio on Mac really whips the llamas ass!

On OS X you get a full suite of project options for Android:

full suite of F# projects in Xamarin Studio on Mac

And ASP.Net if that’s your thing:

ASP.Net from Xamarin Studio on Mac

There’s plenty of project options but there’s little in the way of WYSIWYG designers right now. That said F# is targeted more at code-orientated developers and I’ve rarely seen a developer use a designer for XAML, everyone seems to end up editing the XML directly.

Emulators

Once you’re up and running, which doesn’t take long, you can run your code at one of the supplied Android emulators or connect your device:

Xamarin Android emulator running on Mac

And of course you can debug live code running in the Android emulator:

Debug FSharp Code running on Android in Xamarin Studio on Mac

Nexus 7

Here’s my “hello world” bubbles app running on my Nexus 7:

Bubbles on Nexus 7

Tutorials

Neil Danson gave a great introduction to F# on iOS at Skills Matter recently:

Including a mini-game imaginatively titled Pissed Off Owls.

The experience for iOS and Android are pretty similar.

Neil also has a set of tutorials on F# and MonoGame:

If you’re interested in meeting the man behind Xamarin why not pop over to the Progressive F# Tutorials in New York on September 18th and 19th:

rev-progfsharpnyc-800x300px

Developer Conferences

Developer conferences are a great way to learn about new and existing technologies. Almost as important are the conversations in the corridors between talks and bars after to find out what your peers from other companies are up to. Without them your company may run the risk of becoming like a small island cut off from the mainland, perpetuating a monoculture.

fraggle-rock-movie

But there are a bewildering array of conferences to choose from, and for most of us only a limited time and budget to work with. Here’s a few tips.

Talks

The most common format is a few days of talks, usually spread across a number of themed tracks with each talk lasting somewhere between half an hour and an hour.

I try to get to a handful of conferences a year, which is in part made possible by speaking at some of the them. If you’re speaking typically the entrance fee is waived and if the conference is remote then often the organizer will contribute towards your travel and accommodation. Don’t expect too much though, unless you’re giving a keynote you shouldn’t expect to get paid, so for the most part speakers are giving their time freely.

A talk lets the speaker really emphasise what they think is important when introducing a subject, something that is much harder to portray in an article. I recommend choosing a few talks out of your normal area/comfort zone, often you’ll learn something new and interesting and sometimes even applicable. Don’t expect to become an expert after listening to a one hour talk, at best you might get two or three key concepts which you can build on in your own time.

Training

Many of the large conferences tag half day training sessions at the start of the conferences. This can be a good way to deep dive in to a particular topic and get some hands on experience with the help and support of an expert. Some conferences specialize in this kind of training like Skills Matter’s Progressive .Net Tutorials and Progressive F# Tutorials which are comprised almost entirely of half day hands on sessions.

Hackathons

One or two day hacking events are another popular event style. They are often free and typically run over the weekend so those no need to use up your precious holiday days. As an example the Data Science London meetup recently organized a Big Data Hackathon and next weekend Skills Matter are hosting the London GameCraft game jam.

Big Conferences

For me more interesting things happen at the edges between disciplines, so here I’m going to call out mostly multi-disciplinary conferences:

220px-St_Louis_night_expblend_cropped

Strangeloop, if I had to recommend one conference, this would be it, this year your can see the author of Godel, Escher, Bach: an Eternal Golden Braid, Douglas Hoftadter speaking.

QCon/GOTO/Yow! conferences organized by Trifork, the team behind InfoQ, with events in San Francisco, New York, London, Aarhus, Amsterdam, Melbourne and Brisbane. I’ve attended in QCon London and a GOTO in Denmark, both were well organized with some great speakers

NDC Oslo attracted 1,600 developers this year. This conference is on my must see list, maybe next year. NDC London launches in December.

ØREDEV is based in Malmö Sweden, and attracts around 1,200 developers, this year the theme is the Arts and I’ll be giving not just one but two talks.

Build Stuff is organized by Greg Young, and based in Lithuania, it has a fantastic line-up.

MonkeySpace – there seems to be a real buzz around these conferences which focus on open source multi-platform development with .Net

If you can I’d recommend trying at least one new conference each year, this way you’ll be more likely to get exposure to new people and ideas.

Functional Conferences

Each programming language has their own conferences, for example Scala has Scala Days and the Scala eXchange (which I’ll be speaking at in December), Clojure has Euro Clojure and ClojureWest and F# has the Progressive F# Tutorials in London and New York (I’ll be there too).  There are also a number of cross-language events if you’re looking to broaden your horizons:

chicago

Lambda Jam ran in July in Chicago with a really strong line up organized by the team behind Strangeloop,

TechMesh, now CodeMesh, was a big hit in London last December, expect it to be even bigger this year.

FP Days is in its 3rd year, based in Cambridge (England), it’s a friendly intimate event.

FP eXchange is organized by Rob Pickering and brings together the London FP community.

flatMap is based in Oslo and has been running for 2 years now.

Other Conferences

Fancy trying something a little different:

indoor_water_park-image

That Conference is a conference and a summer camp.

CodeMash at the same location as that conference, for winter it boasts an indoor waterpark.

DDD – referencing Steve Balmer’s Developers Developers Developers chant, these free UK conferences are organized by the developer community.

Bacon is a conference on things developers love with sessions on topics including rocketry, Go, infinity, data visualisation, and continuous deployment.

GDC (Game Developers Conference) has tracks for design, production, programming and visual arts.

NIPS (Neural Information Processing Systems) you’ll learn about some really interesting machine learning projects, both research based and applied.

Conference Planner

four_seasons_by_nalmes

Spring Summer Autumn Winter
QCon London NDC Oslo Strangeloop Build Stuff
FP eXchange MonkeySpace ØREDEV NDC London
GOTO Copenhagen Lambda Jam QCon San Francisco CodeMesh
GDC GOTO Amsterdam GOTO Aarhus CodeMash
Bacon QCon New York FP Days NIPS
flatMap That Conference    

I’d love to hear your event ideas and suggestions too.

rev-progfsharpnyc-800x300px

GameCraft NYC

gamecraftSkills Matter are excited to host the first ever New York GameCraft event on Friday 20th September at the DUMBO Loft! Following the phenomenal success and excitement around Dublin GameCraft, the event is now going global with a event also planned in London! GameCraft is a games jam event designed around building the gaming community. We aim to create events which allow game-makers to meet, share ideas, have fun, compete for prizes and most importantly make games. The events will be facilitated by Games experts (and enthusiasts!) Andrea Magnorsky and Phil Trelford.

 

This is a free event on the same week at the same venue as the Progressive F# Tutorials NYC, so why not come and join us for both. F# + MonoGame makes a pretty awesome combination, as does Lua + Love or Python + PyGame. Take a peek at the excellent GameCraft resources page for some great links to game engines and tools.

Check out the recent article on GameCraft in the Irish Times. I popped over to Dublin for the first event back in February 2012 and it was really well organized and great fun. I managed to knock up a simple game in under 6 hours. The London event on Saturday August 10th will be 12 hours which may be enough to create a releasable game. Currently my hope is to take a simple game concept to completion and release it on an app store on the same day!

Hope to see you there.