Scala eXchange 2013 Review — Day 2
Scala fans from far and wide were present at this year’s Scala eXchange in London. In my last post I gave an insight into the venue, the atmosphere, and of course the talks… but only from day 1.
This post is a follow-up capturing the essence of the talks I attended on day 2.

As I mentioned in part 1, all the videos have been uploaded and skillsmatter have plenty of pictures from the event on their facebook, too. Images in this post are also courtesy skillsmatter.The Talks — Day 2
Opening Keynote: Jonas Boner: The Road to Akka Cluster, and Beyond
Day 2 began with a tasty dose of distributed systems theory complimented with a healthy serving of practical applications of these theories available in Akka now or coming in the future.
As the founder of typesafe, Jonas showed us the aims and direction of the company — to help modern-day developers solve the modern-day challenges of building distributed systems.
Some of the exciting issues covered in this talk are approaches to distributed systems that have failed — synchronous RPC we’re looking at you — and academic underpinnings of distributed systems such as consensus algorithms like Paxos or Raft that have influenced the design of Akka.
One thing I’ve learned from conferences such as Ricon is that academics and distributed systems are very tightly-coupled, and for good reason too.
Absolutely yes — you should watch this talk.
Noel Welsh: Reconciling Eventually-Consistent Data
I’ve been to a talk about CRDTs before and came away scratching my head wondering what my name was. This talk was the exact opposite and I really understand now what CRDTs are and when they might be useful.

CRDTs are essentially append-only data structures used in eventual-consistency environments like the riak database. If A is more important than C in your CAP, watch this talk.
Julian Dragos: Rethinking the Debugger
Anyone who’s written asynchronous code, especially with the Actor model, knows that stack traces and step-in debugging have very limited benefit. Julian Dragos definitely sees this problem and is hard at work on a revolutionary solution.
In this talk we saw how Julian has a little weekend project that allows stack traces for asynchronous code to hide all the infrastructure and only show the important steps through the code you actually wrote.

Even more impressive, he is working on debugging tools that let you step through your async code whilst ignoring the infrastructure pieces. Yes — this includes following messages through your favourite actor system Akka.
This guy is an absolute legend.
Afternoon Keynote: Bill Venners: Hidden Gems in ScalaTest 2.0
Before this session I held the view that ScalaTest 2.0 was the best testing framework I had ever used and probably the best in the world. After this session I knew it was the best in the world
Bill actually wanted to show us the design trade-offs involved in making such a fluent testing/assertion library. He certainly did a great job of showing that but also uncovered some hidden gems as promised. This talk is jam-packed with incredibly-useful tips for designing Scala libraries and using ScalaTest.
Love this guy, love his testing framework, love the talk. Will watch again :)

Phil Willis: Akka for the Rest of Us
Compared to some of the other talks this was a little more average but still useful in places. It was by Phil Willis from the Guardian sharing some of their stories of using Akka in production.
Even though he’s an architect he does still code, thankfully, so I trust his word (cheeky). I also appreciate him teaching me about Akka agents which look quite useful. Cheers Phil.
Stig Brautaset and Sam Dean: Overcoming U-Turns and Dead Ends
I promise you, this session literally was laugh-a-minute comedy. I don’t know if I was laughing with him or at him, but Sam Dean seems a likeable chappie so I’ll give him the benefit.
In this talk Sam and Stig shared their story of being ushered into a top-secret project at Net-A-Porter that not even the rest of the company knew about. They were both quite new to Scala and Akka and….. made lots of big mistakes.
Some of the mistakes are quite embarrassing. Whilst they certainly made for an entertaining talk, they are a genuine reminder of what being a developer is really like sometimes.
When things do go wrong, though, you want someone with a bit of personality to keep morale up. Even though they made lots of bad mistakes, I’m sure the secret team were still happy and motivated with the jovial Sam Dean around.
Brendan McAdams: Network I/O for a More Civilised Age
In this low-level talk the audience were treated to an insight into how the non-blocking I/O in Akka/Spray builds on top of JNI in a more functional and Scala way than previous versions and Java alternatives like Netty.
Brendan took us all the way down to polling kernel job queues and decoding bytes from the network, then upto how Akka’s implementation of the actor model adds safe concurrency on top of this.
This was a well-presented talk in the atmospheric darkness of room two. A captivating end to a captivating conference.See You Next Year
Hopefully from my couple of blog posts you got an idea of not only how educational this conference was, but how enjoyable and inspiring it was too. The talks, the venue, the atmosphere — everything came together so excitingly well.
Even though I’ll be almost 30, I still look forward to the follow-up in 2014 …. maybe I’ll even be on the stage next time giving something back to all those that inspired me.
