Track: Modern Computer Science 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.

9:00am - 9:50am

by Paulmichael Blasucci
Developer at Quicken Loans

Love it or Loathe it, testing is an unavoidable aspect of developing high-quality software. But there's a world of difference between well-tested code and simply writing tests. Very often, the difference boils down to how you assess the "correctness" of your code. By focusing on software as a mapping from inputs to outputs, property-based testing offers a powerful methodology for testing the logical invariants a piece of code should always uphold, regardless of implementation details.

10:15am - 11:05am

by Anil Madhavapeddy
Co-Author "Real World OCaml", University of Cambridge

We enjoy the benefits of distributed version control with our source code: the ability to pull, push and merge multiple streams of work and view the provenance of all changes. Irmin is a library that provides mergeable binary datastructures that can be manipulated much like Git (with pull, push and merge operators), and form higher level control structures for persistent work queues, key-value stores, all with well-defined consistency properties. The results of Irmin operations can be viewed...

11:30am - 12:20pm

by Michael Hendricks
Co-Founder at

Prolog is a powerful, modern, general purpose language. Learn how we used genetic algorithms to evolve Prolog programs based on historic data from peer to peer lending markets. The resulting Prolog program outperforms 98% of similar investors.

1:30pm - 2:20pm

by Camille Fournier
CTO at Rent the Runway

Consensus systems are an important building block of large-scale distributed computing. Whether it is ZooKeeper, etcd, Consul, or another alternative, these systems are increasingly used in companies big and small to provide valuable features such as distributed locking and service management.

In this talk I will describe the environments and use cases where these systems make sense, as well as discussing potential alternatives to running a consensus system. I will discuss some of the...

2:40pm - 3:30pm

by Samy Bahra
Creator of Concurrency Kit, Co-founder Backtrace I/O

This talk will introduce speakers to the challenges involved in achieving high performance multicore synchronization. The tour will begin with fundamental scalability bottlenecks in multicore systems and memory models, and then extend to advanced synchronization techniques involving scalable locking and lock-less synchronization.

Expect plenty of hacks and real-world war stories in the fight for vertical scalability. Some of the topics introduced include memory coherence and...

Host: Werner Schuster InfoQ Editor Functional Programming, QCon PC, Wolfram


Wednesday Jun 10

Thursday Jun 11

Friday Jun 12