Warning message

  • The service having id "twitter" is missing, reactivate its module or save again the list of services.
  • The service having id "facebook" is missing, reactivate its module or save again the list of services.
  • The service having id "google_plus" is missing, reactivate its module or save again the list of services.
  • The service having id "linkedin" is missing, reactivate its module or save again the list of services.

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.

Track Host:
Werner Schuster
QCon Co-Chair, Editor @InfoQ, Wolfram
Werner Schuster (@murphee) sometimes writes software, sometimes writes about software. He focuses on languages, VMs and compilers, HTML5/Javascript, and recently more on performance optimisation.
10:35am - 11:25am

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...

11:50am - 12:40pm

by Tyler McMullen
CTO @Fastly

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...

1:40pm - 2:30pm

Open Space
2:55pm - 3:45pm

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...

4:10pm - 5:00pm

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...

5:25pm - 6:15pm

by Juan Batiz-Benet
Independent Scientist

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

Tuesday Nov 17

Wednesday Nov 18