Evening Reception

February 25th @ 7 - 9

Drinks and food, mingle with fellow practitioners and researchers.

February 26th Keynote

  • Jafar Husain

    JSON Graph: Reactive REST at Netflix 02-26-2015 @ 10:00 - 11:00

    Jafar Husain — Every user of a web application wants to believe that all of the data in the cloud is sitting right on their device. Netflix's data platform "JSON Graph" creates this illusion for the web developer. One Model, Available Everywhere. Using an innovative combination of reactive programming techniques and RESTful principles, JSON Graph allows web developers to create a virtual server JSON model for their web application and transparently access it from any cloud-connected device.

    View details »


  • Morning Technical Tracks | February 26

    Please stay tuned for finalized schedule.

    Track 1Application Development

    Feburary 26th, 2015

    • Taylor Savage

      Component-Driven Web Development with Polymer 02-26-2015 @ 11:10 - 12:10

      Taylor Savage — Going big by starting small. It's a powerful idea - understandable and manageable complex systems are built out of encapsulated, interoperable parts. Web Components applies this concept the web platform, providing web developers a whole new set of primitives to create and use custom elements.

      View details »

    • Rich Harris

      Dismantling the Barriers to Entry 02-26-2015 @ 12:20 - 1:20

      Rich Harris — JavaScript has grown up — but it's lost its innocence. Tools have never been more sophisticated, our community has never been more energised, and yet getting started as a web developer has never been more confusing.

      View details »

    Track 2Systems

    Feburary 26th, 2015

    • Maged Michael

      Non-Blocking Synchronization and Memory Management 02-26-2015 @ 11:10 - 12:10

      Maged Michael — Non-blocking data structures offer high availability and strong progress guarantees. They are guaranteed to be available regardless of thread scheduling, including thread termination and indefinite delay. This guarantee is most useful in cases such as sharing between threads and signal handlers, systems where processes could be terminated asynchronously, and soft real-time applications such as media players.

      View details »

    • Theo Schlossnagle

      The Architecture of a Distributed Analytics and Storage Engine for Massive Time-Series Data 02-26-2015 @ 12:20 - 1:20

      Theo Schlossnagle — The numerical analysis of time-series data isn't new. The scale of today's problems is. With millions of concurrent data streams, some of which run at 1MM samples per second, the challenge of storing the data and making it continuously available for analysis is a daunting challenge.

      View details »

    Lunch

    1:20 - 2:20

    Afternoon Technical Tracks | February 26

    Please stay tuned for finalized schedule.

    Track 1Application Development

    Feburary 26th, 2015

    • Alexandrine Boissière

      Efficient Static Assets Pipeline with Webpack 02-26-2015 @ 2:30 - 3:20

      Alexandrine Boissière — To be successful, a large single-page application has to be maintainable, reliable and performant. Maintainability is achieved by modularization and breaking down the code into hundreds of small and cohesive JavaScript and CSS files. Performance implies concatenation of this plethora of files into a few bundles and on-demand loading on Production. Reliability requires you to ensure your dev and production environments are as similar as possible. At Hootsuite we managed to reconcile those incompatible requirements by designing a robust static assets pipeline with Webpack, an open source static assets bundler.

      View details »

    • Dan Grove & Kevin Moore

      Scaling Dart from Mobile to Server 02-26-2015 @ 3:45 - 4:45

      Dan Grove & Kevin Moore — We designed Dart from the ground up to be a system that could run in a wide variety of environments - from mobile devices to browsers to servers.

      View details »

    • Mary Rose Cook

      Mary Livecodes a JavaScript Game from Scratch 02-26-2015 @ 4:55 - 5:55

      Mary Rose Cook — When I made my first game, I was scared of writing graphics code and dealing with browser quirks and player input events. So, I used a game framework to handle that stuff for me. Later, I discovered that stuff is not so scary. I will live-code an action game from scratch without using any libraries. We will cover keyboard input, graphics, collision detection and sound.

      View details »

    Track 2Systems

    Feburary 26th, 2015

    • Alexandra Fedorova

      My data or yours? Orchestrating the movement and placement of data on large multicore systems 02-26-2015 @ 2:30 - 3:30

      Alexandra Fedorova — Data movement is becoming a major bottleneck in all kinds of programs running on multicore systems. A program accessing data over a congested cross-chip interconnect could run as much as 3 times slower than a program running without congestion.

      View details »

    • Utilizing the other 80% of your system's performance: Starting with Vectorization 02-26-2015 @ 3:45 - 4:45

      Ulrich Drepper — Vectorization, as opposed to parallelization, is less utilized as a means of exploiting the full capabilities of a processor. This is a problem since even today this means only ¼ to ½ of the performance of the CPU is used. This is only getting worse in future, especially as accelerators are becoming more prevalent.

      View details »

    • AndrewBrook

      Trout: yet another distributed messaging protocol 02-26-2015 @ 4:55 - 5:55

      Andrew Brook — To build its new real-time analytics platform, Selerity created a new messaging protocol, 'Trout'. Why was this necessary, how did we do it and how well does it work? I'll review the functional, performance and resiliency requirements that drove the design, dig into the protocol itself (message stream abstractions, header field layout, peer behavior), discuss it's performance in the real world and talk about current areas of development. This talk should provide practitioners with a sense of what is involved in creating a new messaging framework from scratch and when it might (or might not) be appropriate.

      View details »


    February 27th Keynote

  • Ben Maurer

    Systems at Facebook Scale 02-27-2015 @ 10:00 - 11:00

    Ben Maurer — Behind it's infrastructure serving 1 billion users, the systems abstractions that Facebook uses provide performance and stability for it's services.

    View details »


  • Morning Technical Tracks | February 27

    Please stay tuned for finalized schedule.

    Track 1Application Development

    Feburary 27th, 2015

    • Matthew Podwysocki

      Exploring the Reactive Extensions in JavaScript 02-27-2015 @ 11:10 - 12:10

      Matthew Podwysocki — What's does a mouse drag event have in common with an Array of numbers? The answer to this question may surprise you: they are both collections. This key insight holds the key to dramatically simplifying asynchronous programming in JavaScript.

      View details »

    • Bill Fisher

      Flux: A Unidirectional Data Flow Architecture for React Apps 02-27-2015 @ 1:20 - 2:20

      Bill Fisher — Flux is the application architecture used at Facebook to build large, client-side applications. Based on a unidirectional data flow and a central dispatcher, it allows developers to more easily reason about changes in state and manages dependencies across the data layer in a declarative way.

      View details »

    Track 2Systems

    Feburary 27th, 2015

    • Jason Evans

      Tick Tock, malloc Needs a Clock 02-27-2015 @ 11:10 - 12:10

      Jason Evans — The jemalloc memory allocator is well known for low fragmentation and high concurrency, yet those two strengths sabotage each other. Eager free memory coalescence facilitates fragmentation avoidance, but concurrency scalability benefits from large and loosely coupled caches.

      View details »

    • George Neville-Neil

      What time is it? A guide to time for software developers 02-27-2015 @ 12:20 - 1:20

      George Neville-Neil — Most software developers never have to think about time in their programs, unless they are working on some form of real-time system. As distributed systems have become pervasive, whether as a hadoop cluster or as services running semi-autonomously within geographically distributed colocation facilities, the illusion that time doesn't matter has come to an end.

      View details »

    Lunch

    1:20 - 2:20

    Afternoon Technical Tracks | February 27

    Please stay tuned for finalized schedule.

    Track 1Application Development

    Feburary 27th, 2015

    • Toby Sullivan

      APIs with Scala and Play 02-27-2015 @ 2:30 - 3:30

      Toby Sullivan — We build APIs constantly. Any truly scalable system is built from service upon service upon service. Near infinite scaling is the promise of service oriented architectures. Until recently, however, there has always existed varying amounts of friction in launching a new service/API for new functionality. Instead, the path of least resistance has been to tack new functionality into existing services. This threatens our ability to scale and is major technical debt.

      View details »

    • Mark DiMarco

      User Interface Algorithms 02-27-2015 @ 3:45 - 4:45

      Mark DiMarco — Even something as simple as a dropdown menu or a bar graph can introduce usability problems. From a slide out menu disappearing when a user's mouse moves a few pixels too far, to requiring NASA-like levels of precision to mouse over the right element, there are algorithms already implemented in Javascript to help us overcome these problems.

      View details »

    • David Nolen

      Lambda: The Ultimate Interface 02-27-2015 @ 4:55 - 5:55

      David Nolen — React.js has experienced an astronomical gain in popularity over a very short period of time. By adopting a more functional approach to UI components and the DOM, React.js delivers (unintuitively) a simpler approach to UI development than many competing frameworks.

      View details »

    Track 2Systems

    Feburary 27th, 2015

    • Tyler McMullen

      "It Probably Works" 02-27-2015 @ 2:30 - 3:30

      Tyler McMullen — Probabilistic algorithms are an awesome and underused tool for engineers building very large scale systems. Making calculations or consistency guarantees "with high probability" instead of "exactly" is often easier to scale and surprisingly reliable.

      View details »

    • Rama Karedla

      Programming for the Intel Xeon Processor02-27-2015 @ 3:45 - 4:45

      Rama Karedla — This talk will help the programmer take advantage of the underlying Intel Xeon server architecture to write more efficient programs. We broadly cover topics such as time measurement, memory ordering, making efficient use of the multi level caches, NUMA aware programming and the use of the many compute cores available in the Xeon architecture via multi-threading.

      View details »

    • Thanu Pillai

      How file systems differ, why this affects application-level consistency, and what we can do about it 02-27-2015 @ 4:55 - 5:55

      Thanumalayan Sankaranarayana Pillai — Many applications have consistency mechanisms that allow them to recover after a power failure or a system crash. Such mechanisms inherently depend on some behaviors of the underlying file system. These file system behaviors are often misunderstood, and more importantly, differ between file systems.

      View details »