[Ed: note that there is a transition at 51:30 that indicates a spot where I lost 9 minutes of footage due to a videocam operator error, sorry.]
In this talk, we will take a look at pure functional code excerpts using the Scala programming language taken from a live production application running on the IBM WebSphere Application Server. We will be looking at data structures and programming techniques such as Lenses, JSON parsing and database programming with iteratees, all of which are used to produce the application.
The result is a high reliability software with the ability to adapt to change from ever-demanding consumers without fear of failure.
Tony Morris is a software product developer who has deployed functional programming techniques in the industry for over 10 years. Tony teaches informally and at the tertiary level and aspires to observe the direct benefits of advanced programming techniques to produce a viable commercial result.
Follow Tony on Twitter @dibblego
Everything you always wanted to know about Scala but were afraid to ask. If you want to be able to optimize your use of the Scala programming language to solve real world problems without explosions, broken thumbs or bullet wounds then this is the session for you. During the presentation there will be a lot of do's and don't's in order to guide you into how to become a better Scala developer. The target audience is intermediate to advanced Scala developers.
ABSTRACT: Twitter is one of the most heavily trafficked sites on the internet, with over 140 million active users and serving over 400 million Tweets per day. Historically, nearly all of Twitter's traffic has been served by a monolithic application written in Ruby on Rails, referred to internally as "the monorail." Although Twitter has seen remarkable growth in its six years of existence, scaling this monolithic architecture has proved to be both error-prone and expensive, not only in terms of computational efficiency, but in terms of developer efficiency as well.
More recently, Twitter has begun the process of replacing the monorail with a Services Oriented Architecture (SOA), where the services are JVM processes--mostly written in Scala--that communicate with one-another asynchronously over a network connection. Naively written, asynchronous code is often both tedious to write and difficult to reason about; at Twitter, the asynchronous code implementing Scala services is both simple and beautiful, thanks in large part to an internally-developed, open-source library called Finagle.
In this talk, I will attempt to explain how Finagle's strong grounding in programming language theory has facilitated this transition to an SOA, and how Scala's advanced features allow for a library as expressive as Finagle to have been written in the first place.
BIO: Jeffrey Sarnat (B.S. in Computer Science., CMU 2002, Ph.D. in Computer Science, Yale 2010) is a former programming languages researcher who currently works for Twitter on a team that builds large scale distributed systems. He enjoys candlelit dinners and long walks on the beach. Follow him on Twitter as @Eigenvariable.