Track: Modern CS in the Real World
Day of week:
Computer Science research did not stop at QuickSort or the LR algorithm. In this track we'll cover topics such as probabilistic algorithms and data structures, new security and distributed algorithms, advances in typing, formal methods, new approaches to concurrency and much more. Why? Because we need to tackle ever more data in shorter periods of time - but our CPUs don't get much faster. Concurrency helps - but that just brings new problems to tackle, and meanwhile more moving parts just means more things that can fall over if we're not careful. Time to sneak a peek at approaches real companies use to tackle this issues using Computer Science research and results from the last few decades.
by Jessica Kerr
Polyglot Functional Developer on the JVM
Clojure makes highly functional programming fun... until it isn't. Runtime type errors from a function that was returned from another function? I'm longing for Scala's compiler errors! Nested maps of data make testing easier... until "Wait, what's in there again?" I want a little bit of typing in strategic places: enter Prismatic's Schema library. What look like types are really contracts. They're even more powerful than types: they verify values as well as shapes. Exercised in generative...
by Tyler McMullen
From list sorting to network routing, and from hash tables to capacity planning, a programmer's daily work is filled with probability. We use probabilistic algorithms, data structures, and systems constantly often without even thinking about it. Experienced engineers reach for probabilistic algorithms frequently and intentionally, especially when building systems of serious scale. How do probabilistic algorithms actually work in practice? And how do we know they'll be safe and reliable in...
by Adam Wick
Research Lead, Mobile Security & Systems Software @Galois
Unikernels — single purpose, lightweight virtual machines — have been discussed at several past QCons. These talks have provided an overview of the capabilities of various unikernel systems. In addition, at last year’s QConSF, I discussed a broad range of projects for which we have used unikernels, but only discussed each at a high level.
In this talk, rather than taking a broad look at the technology, we will take a deep dive into a unikernel implementation of the Tor anonymity...
by Christopher Meiklejohn
Senior Software Engineer @Machine Zone, Inc.
Chain replication promises a high throughput, linearizable, robust replication technique with minimal overhead to tolerate failures with only f+1 nodes. But, what's the reason for so many systems choosing alternative techniques such as quorum-based or state machine replication? In this talk, we talk through a history of chain replication, starting with the original work from 2004 by van Renesse and Schneider. We will look at the various systems built using chain replication: Hibari, FAWN-KV...
by Juan Batiz-Benet
At the heart of IPFS lies a powerful authenticated data structure: the merkle dag (directed acyclic graph). It provides very useful properties for distributed protocols: immutability, verifiability, and content-addressing. Of course, the merkle-dag can be used to construct any other data structures: file systems, version histories, PKIs, CRDTs, blockchains, web app data models, and so on. IPFS is designed to make it easy to write distributed applications by allowing you to model your data...
Covering innovative topics
Monday Nov 16
Architectures You've Always Wondered About
Silicon Valley to Beijing: Exploring some of the world's most intrigiuing architectures
Applied Machine Learning
How to start using machine learning and data science in your environment today. Latest and greatest best practices.
Browser as a platform (Realizing HTML5)
Exciting new standards like Service Workers, Push Notifications, and WebRTC are making the browser a formidable platform.
Modern Languages in Practice
The rise of 21st century languages: Go, Rust, Swift
Our most innovative companies reimagining the org structure
Level up your approach to problem solving and leave everything better than you found it.
Tuesday Nov 17
Containers in Practice
Build resilient, reactive systems one service at a time.
Architecting for Failure
Your system will fail. Take control before it takes you with it.
Modern CS in the Real World
Real-world Industry adoption of modern CS ideas
The Amazing Potential of .NET Open Source
From language design in the open to Rx.NET, there is amazing potential in an Open Source .NET
Keeping life in balance is always a challenge. Learning lifehacks
Unlearning Performance Myths
Lessons on the reality of performance, scale, and security
Wednesday Nov 18
Streaming Data @ Scale
Real-time insights at Cloud Scale & the technologies that make them happen!
Taking Java to the Next Level
Modern, lean Java. Focuses on topics that push Java beyond how you currently think about it.
The Dark Side of Security
Lessons from your enemies
Taming Distributed Architecture
Reactive architectures, CAP, CRDTs, consensus systems in practice
Lessons on building highly effective organizations