KEY FACTS

  • 2
    days
  • 40+ speakers
  • 4 tutorials
  • 5 themes
What is Code Mesh LDN?

A two-day conference, bringing together users and speakers of different functional programming languages and alternative tech.

In the spirit of learning from one another, it encourages the sharing of innovative ideas, through inspiring projects, top talks, in-depth tutorials and networking opportunities. 

Why Code Mesh LDN?

By bringing together users and inventors of different languages and technologies (new and old), speakers will get the opportunity to inspire, to share experience, and to increase insight.

Through presentations and case studies, we aim to raise awareness and extend the knowledge of all participants, mainstream and non-mainstream users alike.

THEMES


Concurrency, Multicore & Parallelism




Language



Distributed Systems

The History and the Philosophy of Computer Science




Infrastructure

Our speakers

Kathleen Fisher

Founder of HACMS program, Professor and Chair of Computer Science Department

Keynote:

From quadcopters to helicopters: formal verification for safer vehicles

09 Nov / 09.10 / Room 1

Carl Hewitt

Founder Actor Model and Inconsistency Robustness. Designer of first logic programming language. Emeritus professor

Keynote:

Ultraconcurrency is the future of programming

08 Nov / 09.15 / Room 1

Federica Pelzel

Public sector technologist, Director of Data and Analytics Platforms at Mastercard

Keynote:

Ethics and AI: Identifying and preventing bias in predictive models

09 Nov / 17.05 / Room 1

Miles Sabin

Type astronaut, Typelevel co-founder and Shapeless hacker

Adding kind-polymorphism to the Scala programming language (INTERMEDIATE)

08 Nov / 10.35 / Room 2

Kate Carruthers

Chief Data & Analytics Officer and Senior Lecturer in Computer Science & Engineering

Infosec, AI and ethics – new models for a secure future

09 Nov / 15.25 / Room 2

Don Syme

.NET Generics, C# 2.0, F# 1.0-4.5, Async, Type Providers

F# code I love (BEGINNER)

08 Nov / 13.40 / Room 1

Frieder Nake

Pioneer of algorithmic art, first exhibition in 1965

Do calculating machines like drawing? And if so, why? Considerations from media archaeology

09 Nov / 11.20 / Room 1

Natalia Chechina

One of the core authors of SD Erlang, lecturer in computing (Bournemouth University)

Co-operative robots sharing the load (ADVANCED)

08 Nov / 14.30 / Room 1

Heather Miller

Assistant Professor, School of Computer Science at Carnegie Mellon University

Towards language support for distributed systems (INTERMEDIATE)

08 Nov / 16.25 / Room 1

Garrett Smith

Founder Guild AI, deep learning engineer and teacher

Introduction to AI engineering

08 Nov / 13.40 / Room 3

Maxim Fedorov

Software Engineer at WhatsApp

Scaling Erlang cluster to 10,000 nodes (ADVANCED)

09 Nov / 15.25 / Room 3

Ulf Wiger

Erlang greybeard

Using Erlang in blockchain development (BEGINNER)

08 Nov / 15.35 / Room 1

Allison Randal

PhD at the University of Cambridge and Board member at Open Source Initiative.

Secure isolation in Rust: hypervisors, containers, and the future of composable infrastructure (INTERMEDIATE)

08 Nov / 10.35 / Room 1

Einar Høst

Computer at NRK

A PostScript to Functional Geometry

09 Nov / 14.20 / Room 2

Ju Goncalves

Phd Student in Computer Science

Abstract nonsense (INTERMEDIATE)

09 Nov / 11.20 / Room 2

Hillel Wayne

Coder, chocolatier, cjuggler

Designing distributed systems with TLA+ (INTERMEDIATE)

09 Nov / 14.20 / Room 1

Joe Armstrong

Co-creator Erlang

Intertwingling the Tiddlywiki with Erlang

09 Nov / 13.30 / Room 1

Jeremy Ruston

Creator of TiddlyWiki

Intertwingling the Tiddlywiki with Erlang

09 Nov / 13.30 / Room 1

Peter Saxton

Elixir developer (Pay with Curl)

Message passing for actors and humans with Raxx (INTERMEDIATE)

08 Nov / 16.25 / Room 3

Dmitry Kandalov

Software Developer

Coroutines explained (INTERMEDIATE)

08 Nov / 13.40 / Room 2

Felix Lopez

Research Master

Understanding gossip protocols (BEGINNER)

08 Nov / 14.30 / Room 3

Andrea Dobson

Counseling psychologist/GZ psychologist

Ethics in tech: a psychological perspective

09 Nov / 13.30 / Room 2

Edwin Brady

Creator of the Idris programming language; Lecturer

Idris 2: Type-driven development of Idris

09 Nov / 15.25 / Room 1

Carlos Baquero Moreno

Distributed Systems Professor, Co-creator of CRDTs

CRDTs: From sequential to concurrent executions (INTERMEDIATE)

08 Nov / 10.35 / Room 3

Teon Banek

Senior software engineer at Memgraph Ltd.

Life of a distributed graph database query (INTERMEDIATE)

09 Nov / 10.30 / Room 3

Romeu Moura

Absurdism Lobbyist

Property based tests for the masses (BEGINNER)

09 Nov / 10.30 / Room 2

Daniil Fedotov

RabbitMQ core developer, Erlang and Elixir contributor

Implementing Raft in RabbitMQ (INTERMEDIATE)

09 Nov / 11.20 / Room 3

Tom Harding

Lead Engineer (PureScript/Haskell)

PureScript spirographs (INTERMEDIATE)

08 Nov / 16.25 / Room 2

Jyothsna Patnam

Co-founder of TypeLead and co-author of Eta

Eta: The rise of pure FP on the JVM (INTERMEDIATE)

09 Nov / 16.15 / Room 1

Ron Pressler

Veteran programmer, leader of OpenJDK's Project Loom

Finite of sense and infinite of thought: A history of computation, logic and algebra

09 Nov / 16.15 / Room 2

Arnaud Bailly

Crafting software since 1994

One Log (INTERMEDIATE)

08 Nov / 15.35 / Room 3

Yann Schwartz

Software Engineer

One Log (INTERMEDIATE)

08 Nov / 15.35 / Room 3

Lars Hupel

Co-founder, Typelevel

Programmation en Logique (BEGINNER)

08 Nov / 11.25 / Room 1

Dragan Djuric

Clojure + CUDA + OpenCL infrastructure; Bayesian GPU software

Interactive GPU programming with ClojureCUDA and ClojureCL (INTERMEDIATE)

08 Nov / 11.25 / Room 2

Duncan Coutts

Founding Partner at Well-Typed LLP

Building a Billion Dollar cryptocurrency with Haskell

09 Nov / 14.20 / Room 3

Yan Cui

Principal Engineer (DAZN)

Applying principles of chaos engineering to serverless

09 Nov / 16.15 / Room 3

James Coglan

Open source developer and independent author

Breaking changes

09 Nov / 13.30 / Room 3

Schedule

Time

Room 1

Room 2

Room 3

08.00 - 09.00

REGISTRATION

09.00 - 09.15

WELCOME

09.15 - 10.15

Carl Hewitt

Keynote:

Room 1

Ultraconcurrency is the future of programming

10.15 - 10.35

COFFEE BREAK

10.35 - 11.20

Allison Randal

Room 1

Secure isolation in Rust: hypervisors, containers, and the future of composable infrastructure (INTERMEDIATE)

Beginner

Miles Sabin

Room 2

Adding kind-polymorphism to the Scala programming language (INTERMEDIATE)

Intermediate

Carlos Baquero Moreno

Room 3

CRDTs: From sequential to concurrent executions (INTERMEDIATE)

Intermediate

11.25 - 12.10

Lars Hupel

Room 1

Programmation en Logique (BEGINNER)

Beginner

Dragan Djuric

Room 2

Interactive GPU programming with ClojureCUDA and ClojureCL (INTERMEDIATE)

Intermediate

Veronica Lopez

Room 3

Verifying a distributed system with combinatorial topology (INTERMEDIATE)

Formal verification of distributed systems is hard and expensive. Modern systems rely on tools like observability, extensive testing, and more recenty, chaos engineering. Understanding the maths behind distributed computing, and being able to express systems in terms of algebraic topology and graph theory brings a new possibility of formal verification and a new approach towards solving complex problems and their interconnections.

Intermediate

12.10 - 13.40

LUNCH

13.40 - 14.25

Don Syme

Room 1

F# code I love (BEGINNER)

Beginner

Dmitry Kandalov

Room 2

Coroutines explained (INTERMEDIATE)

Coroutines have received quite a bit of attention recently from language designers with async/await in JavaScript 2017, Python 3.5 new syntax and Kotlin 1.1 coroutines support. Yet there seems to be a lot of confusion about why coroutines exist and how to use them. This session explains what coroutines are, how they differ between programming languages and how to use coroutines for fun and profit.

Intermediate

Garrett Smith

Room 3

Introduction to AI engineering

Intermediate

14.30 - 15.15

Natalia Chechina

Room 1

Co-operative robots sharing the load (ADVANCED)

Advanced

Geoffroy Couprie

Room 2

Parsing safely, from 500MB/S to 2GB/s (INTERMEDIATE)

Intermediate

Felix Lopez

Room 3

Understanding gossip protocols (BEGINNER)

Beginner

15.15 - 15.35

COFFEE BREAK

15.35 - 16.20

Ulf Wiger

Room 1

Using Erlang in blockchain development (BEGINNER)

Beginner

Sophia Drossopoulou

Room 2

Towards specifications of robustness -- the things that programs do _not_ do (BEGINNER)

Beginner

Arnaud Bailly and Yann Schwartz

Room 3

One Log (INTERMEDIATE)

Intermediate

16.25 - 17.10

Heather Miller

Room 1

Towards language support for distributed systems (INTERMEDIATE)

Intermediate

Tom Harding

Room 2

PureScript spirographs (INTERMEDIATE)

Intermediate

Peter Saxton

Room 3

Message passing for actors and humans with Raxx (INTERMEDIATE)

Intermediate

17.15 - 17.20

CLOSING NOTES

17.20 - 22.00

#OpenErlang London Party

Time

Room 1

Room 2

Room 3

09.00 - 09.10

WELCOME

09.10 - 10.10

Kathleen Fisher

Keynote:

Room 1

From quadcopters to helicopters: formal verification for safer vehicles

10.10 - 10.30

COFFEE BREAK

10.30 - 11.15

Jimmy Soni

Room 1

The life, times, and thinking of Dr. Claude Shannon, the founder of information theory

Romeu Moura

Room 2

Property based tests for the masses (BEGINNER)

Use property based tests to challenge your knowledge of the domain, to create smaller, fewer tests that: test more, are more readable & document the problem. Use them even (specially) in horrible eldritch codebases written in awful languages, use property based tests to ask questions to your codebase. OBJECTIVES Get people to try property based tests in their own codebase monday within 20 minutes

Beginner