Ben Maurer — Behind it's infrastructure serving 1 billion users, the systems abstractions that Facebook uses provide performance and stability for it's services.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.