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 »

    • Andrew Brook

      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 »