A few days ago I had the opportunity of attending and speaking at Scala Italy 2015, hosted in Milan. Scala Italy is the only Italian Conference on Scala: they aim to spread the use of Scala in the Italian Developers Community and to contribute to the Scala Community.
The conference was hosted by UniCredit and DataBiz in the beautiful skyscraper of the UniCredit Town Hall and it was divided into the morning and afternoon sessions.
The first talk of the morning session was given by Martin Odersky (@odersky) on the evolution of Scala: where it started and where they would like it to be in the near future (video). My favourite part was when he said that Scala is a library-driven language: it provides the tools for people to create libraries rather than imposing them “because we trust developers” ….how cool is that? 😀 Another unforgettable moment was when he showed a slide with the sentence “Scala is a gateway drug to Haskell” and an awesome proposal for a new name for Scala: HASCALATOR.
The second talk was by Phil Calcado (@pcalcado), Director of Core Engineering at SoundCloud (video). He talked about the design and architecture of their microservice system and how they managed to apply principles of functional programming to them. It was a truly inspirational talk, I was so excited about it that I was about to send a message to my CTO during the talk itself to tell him that we should ABSOLUTELY do the same! Also, he stated that functional principles correlate with good design and good architecture. I agree with Phil, we should explore this concept a lot more than what we have done so far.
Last but not least for the morning session, Jon Pretty (@propensive) gave a talk on the Type Inference in Scala (video). His talk was giving the audience a demonstration on how mysterious and complex this topic can be, but also on how some of these problems can be overcome. I do remember my “Holy Crap!” exclamation when he showed us an inferred type a few pages long.
After a nice and chatty lunch break, the afternoon session started…together with the panic for my talk.
My talk was the first talk of the afternoon session. I gave an introduction to Akka and the Actor-Based Model (video). Yes, I did say that “Actors are like monkeys sending emails”. No, I don’t regret it. Also, I showed how you can interact with the Actor System using their four core operations (i.e.: create, send, become, supervise) and talked a bit about best design practices.
Overall, I think it went quite well: I didn’t trip over or stab myself with a pen, I didn’t spill water all over myself or the microphone, no people snoring (at least that I could hear/see) or throwing rotten tomatoes at me. I have also received a couple of interesting questions around the interdependencies between Actors. If interested, the slides on my talk are available here, while the video can be found here.
At the same time of my talk, Mirco Dotta (@mircodotta), Software Engineer at Typesafe, was talking about Reactive Streams (video). I cannot wait to see his talk! Reactive Streams has been in my “TO-PLAY-WITH” list for a while now…
Finally, the last talk I’d like to mention was the one by Alessandro Abbruzzetti from Ericson (video). His talk was so overwhelming and entertaining that there was a Standing Ovation at the end of it: he built a Commodore 64 emulator in Scala that runs on the same hardware resources of an original Commodore 64 — he even analysed the Circuit Diagram!
Why on earth would you do that? If Scala is so performant as they claim, then if it runs on an equivalent hardware of a Commodore 64, the overall result should be more performant than the original one we had in the 80s.
He took him 1 year and a half of his spare time but he did it….and the result is simply amazing. Can you imagine doing crazy cool graphics, processing and I/O with only one thread?? He proved it can be done. THIS IS THE COOLEST THING EVER! 😀
During the talk you could see all his passion and happiness, all his hard work dedicated to this crazy project. Every few minutes or so he was reminding us, just to make sure we didn’t forget: “Remember…one thread…just one thread…”. His project, called Kernal64, is available on GitHub at abbruzze/kernal64.
Finally, I’d like to mention the great work that the organizers of this conference did, in particular Marco Firrincelli (@mfirry) that took good care of me and made sure I made it to the event without getting lost in the middle of nowhere in Milan….well done guys! 🙂
All the videos of this conference can be found here.