Technical Talks

Location: 
Date and time: 
Friday, April 16, 2010 - 10:25 - 12:05
 
  • Scala at LinkedIn: Distributed Computing with Norbert
    Chris Conrad

    Norbert is a framework written in Scala that makes it fast and easy to write asynchronous, cluster aware, message based client/server applications. Built on Apache ZooKeeper and JBoss Netty, Norbert provides out of the box support for notifications of cluster topology changes, application specific routing and load balancing, scatter/gather style APIs and partitioned workloads. Written by the Search, Network and Analytics team at LinkedIn, Norbert is open sourced under the Apache License. In this presentation we will demonstrate how to write a simple application on top of Norbert. During the demonstration, we will highlight how Scala features, such as the actor library, abstract types, self types and closures, were utilized in the creation of Norbert and how they make applications written on top of Norbert more modular, testable and robust. Finally, we will briefly how we are building mission critical applications on top of Norbert at LinkedIn, most notably our social graph engine.
     
  • Akka: Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Actors
    Jonas Bonér

    We believe that writing correct concurrent, fault-tolerant and scalable applications is too hard. Most of the time it's because we are using the wrong tools and the wrong level of abstraction. The Akka framework is here to change that. Akka is leveraging Scala, and using the Actor Model (its own Actors impl) together with STM it raises the abstraction level and provides a better platform to build correct concurrent and scalable applications. For fault-tolerance it adopts the "Let it crash" model which have been used with great success in the Telecom industry to build applications that self-heals, systems that never stop. Akka's Remote Actors (backed by a scalable non-blocking IO impl), provides the abstraction for transparent distribution and the basis for truly scalable and fault-tolerant applications. In this talk we discuss what Akka is, how it can be used to solve hard problems and the ideas behind its design and implementation.
     
  • The Scala IDE for Eclipse - Retrospect and Prospect for 2.8
    Miles Sabin

    Seamless interoperability with Java code at the source and binary level is one of the critical factors enabling the widespread adoption of Scala. Similarly seamless interoperability at the tooling level is just as vital and is the goal of the Scala IDE for Eclipse.
    This presentation reports on the challenges faced and experiences gained during the development of the IDE, in particular its integration with the Eclipse JDT and its support for mixed Scala/Java development. It also reports on and demonstrates the richer integration between the core compiler and tools offered by Scala 2.8 which is taken full advantage of in the latest iteration of the IDE.