Scala Days 2013 is hosted by Typesafe and Skills Matter. Every year we strive to host an event that enables sophisticated and compelling technical research presentations, the opportunity to interact with thought leaders in the Scala community and have a blast doing so!

Thanks to our sponsors

Martin Odersky is a professor at EPFL in Lausanne, Switzerland. He is best known as the creator of the Scala programming language. Prior to that, he made several contributions to the development of Java. He created the Pizza and GJ languages, designed the original version of generics for Java, and wrote the javac reference compiler.

The talk will demonstrate the new features of Lift 3 on one side and also touches the topic of integrating client side JavaScript frameworks like AngularJs, Knockout, Backbone, etc into an application architecture.

With a plethora of different concurrency programming models available to developers today, in this talk, we'll put on our haz-mat suits and explore the different models–getting a 360 degree view on what's good, what's bad and what's just plain ugly.

Scala expert Roland Kuhn is one of the core developers of the Akka project at Typesafe. Before joining Typesafe in 2011, he completed a PhD in physics and gained four years of experience as a systems engineer in satellite operations.

Viktor Klang is the Deputy CTO at Typesafe—prolific contributor to the Akka project as well as member of the Reactive Streams SIG when not involved in the Scala Standard Library concurrency APIs. Interested in all things distributed and concurrent—software as hardware.

Heiko Seeberger is Fellow at codecentric, an internationally renowned expert on Scala and Akka and loves Rust almost as much as rock climbing. He has more than 20 years of experience in software engineering, consulting and training.

Kevin has authored over 15 books on topics ranging from enterprise to web to UI in .NET and Objective-C. He is addicted to learning new languages, both spoken and computer, and has recently started learning Scala.

This is not a talk about SubCut, but a talk about some of the techniques I used to provide what I believe is the smallest, simplest and most streamlined API, while hiding most of the details of the implementation.

Machine learning turns data into predictions about the real world in an almost magical fashion. In this talk we'll show why Scala is a great language for machine learning practitioners and show the audience of Scala programmers how easy it is to start performing machine learning magic themselves.

Kevin Brown is a PhD candidate in the Pervasive Parallelism Lab at Stanford University. His research focuses on simplifying parallel and distributed programming using compiler and runtime systems to target heterogeneous hardware from domain-specific

In this talk, we'll introduce the Spark ecosystem, focusing on Spark's native Scala API and GraphX. We'll also cover use cases from Spark's open source community, which has grown significantly since we released the project in 2010 -- in the past year, 15 companies have contributed code to Spark.

Reynold Xin is a PhD student in the AMP Lab and the Database Group at UC Berkeley. He is the lead developer of the Shark project and the GraphX project. Before graduate school, he had 3 short engineering stints at Google, IBM, and Altera. His interes

Versal is an edtech platform. We have a full Scala backend for RESTful API and a JavaScript frontend. In this talk we outline the whole trajectory from nothing to a working company where Scala does the heavy lifting.

We'll discuss some of the challenges in creating an API that balances the features of both in-memory and batch processing and demonstrate the benefits that this creates in ETL development, exploratory data analysis, and machine learning.

In this hands-on session we will be building a reactive Play application. The application will use Play to asynchronously read from a web service and stream it to the client using web sockets and JSON.

Ryan Knight is a consultant and trainer for Typesafe. He has over 15 years of experience with software development. During this time he has worked with wide range of business, such as genealogy, telecommunications, finance and video games.

A lens represents a readable and "settable" location in a possibly nested immutable object. Lenses aren't in the Scala standard library, but several libraries provide them, including Scalaz and Shapeless. I'll show how you to use the Shapeless version, and we'll look at how it's implemented.

Rod is the father of Spring. The Spring Framework open source project began in February 2003, based on SpringSource's Spring framework published with Rod's best-selling Expert One-on-One Java EE Design and Development.

Co-founder of a stealth mode startup aiming at revolutionising Scala developers' life. Mirco has 10+ year experience with Scala, and also has extensive knowledge on Akka, Lagom, Playframework, and Sbt. Before founding his own company, he worked at Lightbend (formerly known as Typesafe), where he wore different hats: from engineering, to consulting, and (fun fact) even sales! He is a certified Lightbend trainer for Akka, Playframework, and Scala. He loves meeting people and sharing experiences, so don't hesitate to say hi when you see him. In his freetime, he plays chess and studies wine - both theory and practice! :)

Announced right before 2.10.0-final, macro paradise became the home for experimentation in the macro land. In this talk I will cover the ideas we played with and outline what panned out and what did not. What's going to happen to quasiquotes? Are type macros useful enough? Do macro annotations make sense? Come over and find out the answers.

Michael currently works for Comcast, where he builds distributed systems that power infrastructure for their next generation services, and is writing ‘Functional Programming Patterns In Scala and Clojure’ for the Pragmatic Press. In his spare time he

In this talk, I will share a few games, Android apps, and algorithms that show how Scala made implementing complex programs simple. I will also demonstrate a few awesome Minecraft mods written in Scala and a "mind blowing" project.

In this talk, we discuss some interesting extensions to the cake pattern as described in Real­World Scala: Dependency Injection (DI) by Jonas Bonér. We consider the use of the cake pattern to express hierarchical components, and the high­level design constraints between them. We also discuss encapsulating the details of a composite component.

A Java programmer since 1996, I’ve fallen in love with Scala over the last two to three years. I’m extremely fortunate to work more or less full time in Scala at my current position at The Broad Institute. Interests include software engineering, agil

Scala Async makes it possible to “suspend” at arbitrary points in a block of regular Scala code, and to “resume” from that point later— all without blocking. This not only makes it possible to make concurrent code look sequential, it makes it possible to actually use even the most unfamiliar asynchronous libraries in a familiar blocking style.

Philipp Haller has been a member of the Scala team since 2006. His research at EPFL on concurrent programming with race-free actors in Scala has been published in leading conferences, winning a best paper award. He is the creator of Scala's first act

The Spring Framework is one of the most popular Java frameworks used today. While it is possible to use Spring in Scala, it does feel awkward in certain places, because of the "Javaism" peering through.

Arjen Poutsma is the founder and the project lead for the Spring Web Services. A senior enterprise application architect with more than ten years' experience in commercial software environments, both J2EE and Microsoft .NET, some years ago Arjen sta

This talk presents a new pickling framework designed for Scala with a few attractive properties: (1) using the framework requires little to no boilerplate, (2) using Scala's implicit parameters, users can add their own easily-swappable pickle format enabling users to persist to a number of formats, binary, JSON, or your own custom format, (3) using the type class pattern, users can provide their own custom picklers to override the default behavior of the pickling framework, (4) static, macro-based generation of picklers enables significant performance improvements.

Heather is a founder and the Executive Director of the Scala Center at EPFL in Lausanne, Switzerland, and an assistant clinical professor at Northeastern University in Boston. She recently completed her PhD in EPFL’s School of Computer and Communication Science under Professor Martin Odersky, where she was a member of the Scala team.

In this talk I will give a quick overview of the most important asynchronous IO patterns from callbacks to iteratees, demonstrating various approaches to error handling, backpressure/throttling and exposing low level behavior.

Polymorphic function values are one of the key abstractions in shapeless: they are crucial to enabling sequence-like operations such as map, flatMap and filter to be performed on HLists (data structures which combine the heterogeneous typing of tuples with list-like characteristics).

Miles has been doing stuff with Scala for more than ten years, currently with Underscore Consulting. He is a cofounder of Typelevel and his best known project, the Scala generic programming library shapeless, is the weapon of choice wherever boilerplate needs to be scrapped or arities abstracted over.

This talk explains how common ORM use cases should me implemented differently using Slick and what the benefits are. In short, ORM systems suffer from the consequences of the object-relational impedance mismatch, where in contrast Slick's mapping to functional programming constructs is rather straight forward.

Stefan Zeiger is a member of the Scala compiler team at Lightbend. He was the tech lead for Slick since 2011 and the creator of its predecessor, ScalaQuery. He has been a user of Java and the JVM platform professionally since 1996, working on a diverse range of projects from web servers to GUI frameworks and programming language design, and moving on from Java to Scala since 2008. He is a frequent speaker at ScalaDays and other conferences.

Scala provides a wide variety of productivity- and correctness-enhancing features, but some of those come at the cost of performance. I will discuss how to design Scala applications to take maximal advantage of Scala's best features while still yielding Java-like performance--or better since you can spend your time thinking and optimizing instead of writing boilerplate!

In particular, the research framework presented here makes extensive use of the facilities that Scala provides to build external Domain Specific Languages that epigraphers can use both to provide accurate transcriptions and transliterations of hieroglyphic texts, and to query the linguistic corpora for quantitative and qualitative analyses.

An early believer in the ability of Java to deliver "enterprise-grade" software, Andrew quickly focused on the development of high-throughput, resilient and scalable Java EE applications. Specializing in concurrency and high performance development,

Ever dreamed of writing you next Rich Internet Application in Scala, enjoying all the Scala goodness, but not sacrificing JavaScript interoperability? Then come and meet Scala.js, a JavaScript backend for Scala. Scala.js compiles full-fledged Scala code down to JavaScript, which can be integrated in your Web application.

Sébastien Doeraene is a compiler/runtime systems hacker, and the author of Scala.js. He is a Ph.D. student at EPFL in the programming methods laboratory (LAMP), also known as the Scala team. He holds bachelor and master degrees in computer science engineering from Université Catholique de Louvain in Belgium. When he is not busy coding, he sings in choirs and a cappella groups, or rides around on a unicycle.

Designing a REST API for multiple applications and devices is typically an exercise in trade-offs. A single API offers efficiency in terms of building and maintenance costs; specialised APIs, though tedious to build, can be optimised for each particular use-case, removing unnecessary computational overheads.

Two days in London

Scala Days 2012 is a fantastic and unique occasion to meet with Scala-using professionals and companies, to exchange ideas and form business relations, as well as to discover the latest practical and theoretical development concerning the Scala language. A central part of the Scala Days event...

Scala Days 2013 is hosted by Typesafe and Skills Matter. Every year we strive to host an event that enables sophisticated and compelling technical research presentations, the opportunity to interact with thought leaders in the Scala community and have a blast doing so!

Martin Odersky is a professor at EPFL in Lausanne, Switzerland. He is best known as the creator of the Scala programming language. Prior to that, he made several contributions to the development of Java. He created the Pizza and GJ languages, designed the original version of generics for Java, and wrote the javac reference compiler.

The talk will demonstrate the new features of Lift 3 on one side and also touches the topic of integrating client side JavaScript frameworks like AngularJs, Knockout, Backbone, etc into an application architecture.

With a plethora of different concurrency programming models available to developers today, in this talk, we'll put on our haz-mat suits and explore the different models–getting a 360 degree view on what's good, what's bad and what's just plain ugly.

Scala expert Roland Kuhn is one of the core developers of the Akka project at Typesafe. Before joining Typesafe in 2011, he completed a PhD in physics and gained four years of experience as a systems engineer in satellite operations.

Viktor Klang is the Deputy CTO at Typesafe—prolific contributor to the Akka project as well as member of the Reactive Streams SIG when not involved in the Scala Standard Library concurrency APIs. Interested in all things distributed and concurrent—software as hardware.

Heiko Seeberger is Fellow at codecentric, an internationally renowned expert on Scala and Akka and loves Rust almost as much as rock climbing. He has more than 20 years of experience in software engineering, consulting and training.

Kevin has authored over 15 books on topics ranging from enterprise to web to UI in .NET and Objective-C. He is addicted to learning new languages, both spoken and computer, and has recently started learning Scala.

This is not a talk about SubCut, but a talk about some of the techniques I used to provide what I believe is the smallest, simplest and most streamlined API, while hiding most of the details of the implementation.

Machine learning turns data into predictions about the real world in an almost magical fashion. In this talk we'll show why Scala is a great language for machine learning practitioners and show the audience of Scala programmers how easy it is to start performing machine learning magic themselves.

Kevin Brown is a PhD candidate in the Pervasive Parallelism Lab at Stanford University. His research focuses on simplifying parallel and distributed programming using compiler and runtime systems to target heterogeneous hardware from domain-specific

In this talk, we'll introduce the Spark ecosystem, focusing on Spark's native Scala API and GraphX. We'll also cover use cases from Spark's open source community, which has grown significantly since we released the project in 2010 -- in the past year, 15 companies have contributed code to Spark.

Reynold Xin is a PhD student in the AMP Lab and the Database Group at UC Berkeley. He is the lead developer of the Shark project and the GraphX project. Before graduate school, he had 3 short engineering stints at Google, IBM, and Altera. His interes

Versal is an edtech platform. We have a full Scala backend for RESTful API and a JavaScript frontend. In this talk we outline the whole trajectory from nothing to a working company where Scala does the heavy lifting.

We'll discuss some of the challenges in creating an API that balances the features of both in-memory and batch processing and demonstrate the benefits that this creates in ETL development, exploratory data analysis, and machine learning.

In this hands-on session we will be building a reactive Play application. The application will use Play to asynchronously read from a web service and stream it to the client using web sockets and JSON.

Ryan Knight is a consultant and trainer for Typesafe. He has over 15 years of experience with software development. During this time he has worked with wide range of business, such as genealogy, telecommunications, finance and video games.

A lens represents a readable and "settable" location in a possibly nested immutable object. Lenses aren't in the Scala standard library, but several libraries provide them, including Scalaz and Shapeless. I'll show how you to use the Shapeless version, and we'll look at how it's implemented.

Rod is the father of Spring. The Spring Framework open source project began in February 2003, based on SpringSource's Spring framework published with Rod's best-selling Expert One-on-One Java EE Design and Development.

Co-founder of a stealth mode startup aiming at revolutionising Scala developers' life. Mirco has 10+ year experience with Scala, and also has extensive knowledge on Akka, Lagom, Playframework, and Sbt. Before founding his own company, he worked at Lightbend (formerly known as Typesafe), where he wore different hats: from engineering, to consulting, and (fun fact) even sales! He is a certified Lightbend trainer for Akka, Playframework, and Scala. He loves meeting people and sharing experiences, so don't hesitate to say hi when you see him. In his freetime, he plays chess and studies wine - both theory and practice! :)

Announced right before 2.10.0-final, macro paradise became the home for experimentation in the macro land. In this talk I will cover the ideas we played with and outline what panned out and what did not. What's going to happen to quasiquotes? Are type macros useful enough? Do macro annotations make sense? Come over and find out the answers.

Michael currently works for Comcast, where he builds distributed systems that power infrastructure for their next generation services, and is writing ‘Functional Programming Patterns In Scala and Clojure’ for the Pragmatic Press. In his spare time he

In this talk, I will share a few games, Android apps, and algorithms that show how Scala made implementing complex programs simple. I will also demonstrate a few awesome Minecraft mods written in Scala and a "mind blowing" project.

In this talk, we discuss some interesting extensions to the cake pattern as described in Real­World Scala: Dependency Injection (DI) by Jonas Bonér. We consider the use of the cake pattern to express hierarchical components, and the high­level design constraints between them. We also discuss encapsulating the details of a composite component.

A Java programmer since 1996, I’ve fallen in love with Scala over the last two to three years. I’m extremely fortunate to work more or less full time in Scala at my current position at The Broad Institute. Interests include software engineering, agil

Scala Async makes it possible to “suspend” at arbitrary points in a block of regular Scala code, and to “resume” from that point later— all without blocking. This not only makes it possible to make concurrent code look sequential, it makes it possible to actually use even the most unfamiliar asynchronous libraries in a familiar blocking style.

Philipp Haller has been a member of the Scala team since 2006. His research at EPFL on concurrent programming with race-free actors in Scala has been published in leading conferences, winning a best paper award. He is the creator of Scala's first act

The Spring Framework is one of the most popular Java frameworks used today. While it is possible to use Spring in Scala, it does feel awkward in certain places, because of the "Javaism" peering through.

Arjen Poutsma is the founder and the project lead for the Spring Web Services. A senior enterprise application architect with more than ten years' experience in commercial software environments, both J2EE and Microsoft .NET, some years ago Arjen sta

This talk presents a new pickling framework designed for Scala with a few attractive properties: (1) using the framework requires little to no boilerplate, (2) using Scala's implicit parameters, users can add their own easily-swappable pickle format enabling users to persist to a number of formats, binary, JSON, or your own custom format, (3) using the type class pattern, users can provide their own custom picklers to override the default behavior of the pickling framework, (4) static, macro-based generation of picklers enables significant performance improvements.

Heather is a founder and the Executive Director of the Scala Center at EPFL in Lausanne, Switzerland, and an assistant clinical professor at Northeastern University in Boston. She recently completed her PhD in EPFL’s School of Computer and Communication Science under Professor Martin Odersky, where she was a member of the Scala team.

In this talk I will give a quick overview of the most important asynchronous IO patterns from callbacks to iteratees, demonstrating various approaches to error handling, backpressure/throttling and exposing low level behavior.

Polymorphic function values are one of the key abstractions in shapeless: they are crucial to enabling sequence-like operations such as map, flatMap and filter to be performed on HLists (data structures which combine the heterogeneous typing of tuples with list-like characteristics).

Miles has been doing stuff with Scala for more than ten years, currently with Underscore Consulting. He is a cofounder of Typelevel and his best known project, the Scala generic programming library shapeless, is the weapon of choice wherever boilerplate needs to be scrapped or arities abstracted over.

This talk explains how common ORM use cases should me implemented differently using Slick and what the benefits are. In short, ORM systems suffer from the consequences of the object-relational impedance mismatch, where in contrast Slick's mapping to functional programming constructs is rather straight forward.

Stefan Zeiger is a member of the Scala compiler team at Lightbend. He was the tech lead for Slick since 2011 and the creator of its predecessor, ScalaQuery. He has been a user of Java and the JVM platform professionally since 1996, working on a diverse range of projects from web servers to GUI frameworks and programming language design, and moving on from Java to Scala since 2008. He is a frequent speaker at ScalaDays and other conferences.

Scala provides a wide variety of productivity- and correctness-enhancing features, but some of those come at the cost of performance. I will discuss how to design Scala applications to take maximal advantage of Scala's best features while still yielding Java-like performance--or better since you can spend your time thinking and optimizing instead of writing boilerplate!

In particular, the research framework presented here makes extensive use of the facilities that Scala provides to build external Domain Specific Languages that epigraphers can use both to provide accurate transcriptions and transliterations of hieroglyphic texts, and to query the linguistic corpora for quantitative and qualitative analyses.

An early believer in the ability of Java to deliver "enterprise-grade" software, Andrew quickly focused on the development of high-throughput, resilient and scalable Java EE applications. Specializing in concurrency and high performance development,

Ever dreamed of writing you next Rich Internet Application in Scala, enjoying all the Scala goodness, but not sacrificing JavaScript interoperability? Then come and meet Scala.js, a JavaScript backend for Scala. Scala.js compiles full-fledged Scala code down to JavaScript, which can be integrated in your Web application.

Sébastien Doeraene is a compiler/runtime systems hacker, and the author of Scala.js. He is a Ph.D. student at EPFL in the programming methods laboratory (LAMP), also known as the Scala team. He holds bachelor and master degrees in computer science engineering from Université Catholique de Louvain in Belgium. When he is not busy coding, he sings in choirs and a cappella groups, or rides around on a unicycle.

Designing a REST API for multiple applications and devices is typically an exercise in trade-offs. A single API offers efficiency in terms of building and maintenance costs; specialised APIs, though tedious to build, can be optimised for each particular use-case, removing unnecessary computational overheads.

Two days in London

Scala Days 2012 is a fantastic and unique occasion to meet with Scala-using professionals and companies, to exchange ideas and form business relations, as well as to discover the latest practical and theoretical development concerning the Scala language. A central part of the Scala Days event...