Scala eXchange 2013 Review — Day 1

For people working with Scala, curious about learning it, or intrigued about how it might help their company achieve it’s goals more efficiently, the Scala eXchange 2013 in London run by skillsmatter was absolute gold dust.

In this post I’ll briefly review the talks I attended about distributed systems, the JVM and of course the language itself. Also I’ll point out some wider themes that were noticeable which may really compell you towards Scala.

First though, it’s time to appreciate the tremendous effort of skillsmatter who made the event really enjoyable. They’re such brilliant people that all the videos are already online for you to watch.Venue, Schedule, Atmosphere — Great Job, Skillsmatter

King’s Place in King’s Cross is a very classy venue with plenty of space. It’s multi-level open area provided a great environment for the Scala enthusiasts to mingle and share stories. The atmosphere was positive and the place had a real buzz which made starting conversations easy.

Each of the three rooms where the talks took place were rather cosy; in particular the main hall was especially atmospheric with it’s comfy padded chairs and balcony above.

There was always a 10–15 minute slot between sessions to grab refreshments, provided by skillsmatter, and meet a few more enthusiasts. This was a subtle touch but added immensely to the value everyone got from the conference.

And as usual, the skillsmatter people were a chirpy bunch who helped you to feel welcome and enjoy the conference….General Themes

The nature of the talks, the conversations I had with people and the conversations I quietly-observed made a few themes in the Scala world quite clear…

Scala for Distributed Systems

Two of the top guys at typesafe presented keynotes which gave us a big insight into where typesafe are focusing their efforts — helping developers to build concurrent, distributed applications. Scala is about building scalable software, it’s not just another language that runs on the JVM (the clue is in the name).


Other talks and experience reports also heavily involved using the typesafe stack to build distributed systems.

I came to Scala for the purpose of learning about distributed systems and building them with the right tools. I blogged about this 6 months ago. Apart from feeling a little smug, I believe even more strongly now that I have made a great choice in the typesafe stack.

Scala isn’t Complex if You are Motivated to Learn

Most people find the concepts in Scala pretty difficult to start out with. Implicits can be confusing whilst functional programming on top of a powerful type system can be mind-blowing.** **I certainly struggled.

But everyone I spoke to agreed that after the initial learning curve almost everything gets a lot easier. 0% of attendees would go back to their old language after becoming accustomed to the new features provided by Scala.

Scala is Gaining Massive Popularity

Skillsmatter had to switch to this venue due to increased demand. There were 400 attendees. Not only that, but the list of companies using Scala is scarily-impressive. Here’s just a few:

  • Twitter
  • Netflix
  • LinkedIn
  • ITV
  • BBC
  • Springer
  • Sky The Talks — Day 1

Opening Keynote: Simon Peyton Jones on Lenses

Lenses are a way to access and modify nested data structures in statically-typed functional programming languages. I like the idea that this talk was in Haskell, but I wasn’t able to keep pace with the speaker. However, I did enjoy Simon’s exceptional level of passion — cracking guy.


I’m glad I was present for this talk just to widen my knowledge of what’s possible in Scala. I’ll probably watch the video to try and understand the concepts deeper because I think there is a lot of value in understanding concepts like this as a Scala developer.

Raymond Roestenburg: Akka in Practice

Raymond spoke about some common patterns he’s found useful working with Akka. I’m reading his Akka book and from experience also knew some of some of the concepts and tricks he talked about.

 

Even so, there were still a few gems that I happily took away from this session — most notably was using the akka event bus for logging and hard to test cases. This is worth a watch if you have the time.

Haoyi Li: Metascala a Tiny DIY JVM

This guy wanted to know more about how a JVM works so he built one in his spare time using Scala. I love meeting people with a passion and enthusiasm like this, so for that reason alone the talk made my day.

You wouldn’t use Haoyi’s JVM for production code, but it seems like a great way to see simplified versions of advanced topics like garbage collection algorithms and heap implementations.

Watch this talk.

Afternoon Keynote: Victor Klang: Failure. Deal With It!

With his slightly-arrogant and a mildy-cheeky speaking style, Victor Klang brought the important topic of handling failures in distributed systems to the Scala crowd.

The talk is definitely worth watching if you build distributed systems, which doesn’t rule out anybody these days. Importantly, it’s a massive confidence booster knowing that typesafe themselves are helping us to solve modern problems like this. I never saw anything like this in .NET (unless I missed it inside all the drag-and-drop code generation). 

Eugene Burmako: What are Macros Good For?

After attending this talk I felt a bit giddy. I’d been ignoring Scala macros because I spent my time learning other things. But this talk focused on showing examples of where and when they can be used.

One fine example is using scala macros to turn pretty code into performant code. The other astonishing example is using macros to replicate the Async/Await keywords from C#. My jaw was on the floor — great speaker, great content.

Definitely watch this. 

Sean Parsons: Let the Types Set You Free

I’m not sure I got much from this talk because the code was so small I couldn’t see it and the talk felt un-polished and unprepared compared to most of the others that appeared to have a lot of effort put into them

From what I could tell it was mostly sensible suggestions such as using options as opposed to returning null or throwing exceptions. As a beginner to Scala, though, there are some core concepts you could learn about by watching the video.

Ariel Kogan & Ian Forsey: Scala Does the Catwalk

These two guys from Net-A-Porter gave us an experience report of using Akka as a middle tier to aggregate data from mulitple sources and return a combined http response. They mostly spoke about things they failed with like the ask pattern and failure zones.

I usually enjoy experience reports and always appreciate when people ‘fess up to making errors so we can all learn from them. This talk didn’t disappoint in those respects.

I think a lot of developers who are new to Akka could save themselves making some common noob errors (that can cause lots of pain) if they watch this talk.Day 2 Review Coming up Shortly

Hopefully you’ve got an idea of how much inspiration and learning took place on day 1. Day 2 was at least as good and involved some crackers like Jonas Boner’s “The Road to Akka Cluster and Beyond” keynote and some hilarious stand-up developer comedy by two other guys from Net-A-Porter.

My review of day 2 will be up soon. For now you you can see how Day 1 ended with us interrogating the typesafe team….