Track: Modern CS in the Real World

Location:

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
InfoQ Lead Editor for Functional Programming
Werner Schuster (@murphee) sometimes writes software, sometimes interviews folks about software. His recent interests are languages, performance optimisation, monitoring, and how to make software suck less using computer science research.
10:35am - 11:25am

by Slava Oks
Core Developer Behind Porting SQL Server to Linux @Microsoft

Will SQL Server perform on Linux better than on Windows? Have you been wondering whether the multi-layer architecture the team revealed recently will hurt SQL Server’s performance? Are you still not convinced about the entire endeavor. Come, listen to the talk, learn about SQL Server’s platform agnostic architecture then derive the answers for yourself. The talk will briefly go over history of the project, high level architecture and dive fast into core of I/O Manager, Memory Manager, and...

11:50am - 12:40pm

by Aaron Tomb
Research Lead, Software Correctness @Galois

Bugs in software are ubiquitous, but the impact of these bugs can vary widely. Sometimes they are largely benign, and at other times they can have catastrophic effects. Bugs in cryptographic software tend to be especially serious. To add to that, cryptographic algorithms are difficult to design and implement, requiring intricate and rare expertise. And even worse, such software operates in a context that can be assumed to be malicious, rather than random.

...
1:40pm - 2:30pm

by Felix Klock
Implementing Rust @Mozilla

Rust is a systems programming language that provides both speed and safety. In most programming languages, writing parallel code is a tricky process, but Rust's type system simultaneously ensures that programs are both memory safe and free of data races. Furthermore, Rust allows third-party libraries, such as Rayon and Crossbeam, to provide new concurrency abstractions unanticipated by the language's designers. We will explore a few of these third-party libraries, showing the different...

2:55pm - 3:45pm

by Brian Goetz
Java Language Architect @Oracle

by Joe Duffy
Cloud Startup Founder and CTO, Previously @Microsoft Director of Engineering for Languages/Compilers

by Martin Thompson
High Performance & Low Latency Specialist

by Felix Klock
Implementing Rust @Mozilla

Types, testability, tooling, paradigms, productivity, managed, native, concurrency, parallelism, performance, asynchrony, integrations, memory management, security, resilience, or, maybe, simple readability? What are the important things crossing the minds of language designers today as they build new languages or evolve the tried and trusted ones?

QCon convenes a panel of four language designers. These are people at the heart of questions like these. The computer science language...

4:10pm - 5:00pm

by Alex Chan
Hypothesis Maintainer & Software Developer @WellcomeTrust

Testing is a cornerstone of modern software development. It provides us with a safety net against bugs and regressions – without testing, it would be impossible to write large-scale applications.

The traditional approach to testing relies on hard-coded examples: fire some specific inputs into a function, and compare the result to predetermined, expected output. This means somebody has to think of examples to test, but humans...

5:25pm - 6:15pm

by Ben Stopford
Core Kafka team @Confluent

This talk is about the beauty of sequential access and append only data structures. We'll do this in the context of a little known paper entitled “Log Structured Merge Trees”. LSM describes a surprisingly counterintuitive approach to storing and accessing data in a sequential fashion. It came to prominence in Google's Big Table paper and today, the use of Logs, LSM and append only data structures drive many of the world's most influential storage systems:...

Tracks