Code Mesh LDN 2019

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.

videos-and-slides

THEMES


Concurrency, Multicore & Parallelism




Language



Distributed Systems

The History and the Philosophy of Computer Science




Infrastructure

Our speakers

Kathleen Fisher

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 2
Carl Hewitt

Carl Hewitt

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

Keynote:

Ultraconcurrency is the future of programming

08 Nov / 09.15 / Room 1
Federica Pelzel

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

Miles Sabin

Type astronaut, Typelevel co-founder and Shapeless hacker

Adding kind-polymorphism to the Scala programming language

08 Nov / 10.35 / Room 2

Kate Carruthers

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

Don Syme

Bass guitar

F# code I love

08 Nov / 13.40 / Room 1

Frieder Nake

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

Natalia Chechina

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

Co-operative robots sharing the load

08 Nov / 14.30 / Room 1

Heather Miller

Heather Miller

Assistant Professor, School of Computer Science at Carnegie Mellon University

Towards language support for distributed systems

08 Nov / 16.25 / Room 1

Garrett Smith

Garrett Smith

Founder Guild AI, deep learning engineer and teacher

Introduction to AI engineering

08 Nov / 13.40 / Room 3

Maxim Fedorov

Maxim Fedorov

Performance & scalability engineer

Scaling Erlang cluster to 10,000 nodes

09 Nov / 15.25 / Room 3

Ulf Wiger

Ulf Wiger

Erlang greybeard

Using Erlang in blockchain development

08 Nov / 15.35 / Room 1

Allison Randal

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

08 Nov / 10.35 / Room 1

Einar Høst

Einar Høst

Computer at NRK

A PostScript to Functional Geometry

09 Nov / 14.20 / Room 2

Ju Goncalves

Ju Goncalves

Phd Student in Computer Science

Abstract nonsense

09 Nov / 11.20 / Room 2

Hillel Wayne

Hillel Wayne

Coder, chocolatier, cjuggler

Designing distributed systems with TLA+

09 Nov / 14.20 / Room 1

Joe Armstrong

Joe Armstrong

Co-creator Erlang

Intertwingling the Tiddlywiki with Erlang

09 Nov / 13.30 / Room 1

Jeremy Ruston

Jeremy Ruston

Creator of TiddlyWiki

Intertwingling the Tiddlywiki with Erlang

09 Nov / 13.30 / Room 1

Veronica Lopez

Veronica Lopez

Member of the Kubernetes Core Team

Verifying a distributed system with combinatorial topology

08 Nov / 11.25 / Room 3

Peter Saxton

Peter Saxton

Elixir developer (Pay with Curl)

Message passing for actors and humans with Raxx

08 Nov / 16.25 / Room 3

Dmitry Kandalov

Dmitry Kandalov

Software Developer

Coroutines explained

08 Nov / 13.40 / Room 2

Felix Lopez

Felix Lopez

Research Master

Understanding gossip protocols

08 Nov / 14.30 / Room 3

Andrea	Dobson

Andrea Dobson

Counseling psychologist/GZ psychologist

Ethics in tech: a psychological perspective

09 Nov / 13.30 / Room 2

Edwin Brady

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

Carlos Baquero Moreno

Distributed Systems Professor, Co-creator of CRDTs

CRDTs: From sequential to concurrent executions

08 Nov / 10.35 / Room 3

Teon Banek

Teon Banek

Senior software engineer at Memgraph Ltd.

Life of a distributed graph database query

09 Nov / 10.30 / Room 3

Romeu Moura

Romeu Moura

Absurdism lobbyist

Property based tests for the masses

09 Nov / 10.30 / Room 2

Daniil Fedotov

Daniil Fedotov

RabbitMQ core developer, Erlang and Elixir contributor

Implementing Raft in RabbitMQ

09 Nov / 11.20 / Room 3

Tom Harding

Tom Harding

Lead Engineer (PureScript/Haskell)

PureScript spirographs (INTERMEDIATE)

08 Nov / 16.25 / Room 2

Jyothsna Patnam

Jyothsna Patnam

Co-founder of TypeLead and co-author of Eta

Eta: The rise of pure FP on the JVM

09 Nov / 16.15 / Room 1

Ron Pressler

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

Arnaud Bailly

Crafting software since 1994

One Log

08 Nov / 15.35 / Room 3

Geoffroy Couprie

Geoffroy Couprie

Security engineer

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

08 Nov / 14.30 / Room 2

Yann Schwartz

Yann Schwartz

Software Engineer

One Log

08 Nov / 15.35 / Room 3

Lars Hupel

Lars Hupel

Co-founder, Typelevel

Programmation en Logique (BEGINNER)

08 Nov / 11.25 / Room 1

Dragan Djuric

Dragan Djuric

Clojure + CUDA + OpenCL infrastructure; Bayesian GPU software

Interactive GPU programming with ClojureCUDA and ClojureCL

08 Nov / 11.25 / Room 2

Duncan Coutts

Duncan Coutts

Founding Partner at Well-Typed LLP

Building a Billion Dollar cryptocurrency with Haskell

09 Nov / 14.20 / Room 3

Yan Cui

Yan Cui

Principal Engineer (DAZN)

Applying principles of chaos engineering to serverless

09 Nov / 16.15 / Room 3

James Coglan

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

Miles Sabin

Room 2

Adding kind-polymorphism to the Scala programming language

Intermediate

Carlos Baquero Moreno

Room 3

CRDTs: From sequential to concurrent executions

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

Veronica Lopez

Room 3

Verifying a distributed system with combinatorial topology

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

Dmitry Kandalov

Room 2

Coroutines explained

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

Geoffroy Couprie

Room 2

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

Intermediate

Felix Lopez

Room 3

Understanding gossip protocols

Beginner

15.15 - 15.35

COFFEE BREAK

15.35 - 16.20

Ulf Wiger

Room 1

Using Erlang in blockchain development

Beginner

Sophia Drossopoulou

Room 2

Towards specifications of robustness -- the things that programs do _not_ do

Beginner

Arnaud Bailly and Yann Schwartz

Room 3

One Log

Intermediate

16.25 - 17.10

Heather Miller

Room 1

Towards language support for distributed systems

Intermediate

Tom Harding

Room 2

PureScript spirographs (INTERMEDIATE)

Intermediate

Peter Saxton

Room 3

Message passing for actors and humans with Raxx

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 2

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

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

Teon Banek

Room 3

Life of a distributed graph database query

Intermediate

11.20 - 12.05

Frieder Nake

Room 1

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

Ju Goncalves

Room 2

Abstract nonsense

Generative art programming requires many computations, such as random number generation and image output. What if we applied category theory to model a declarative, purely functional way of programming artworks? In other words, what if we could generate abstract nonsense with abstract nonsense?

Intermediate

Daniil Fedotov

Room 3

Implementing Raft in RabbitMQ

Intermediate

12.05 - 13.30

LUNCH

13.30 - 14.15

Joe Armstrong and Jeremy Ruston

Room 1

Intertwingling the Tiddlywiki with Erlang

Ted Nelson, who coined the term "Hypertext" also coined the lesser known word "Intertwingled" - this captures the idea that all there is, is knowledge which is tangled up and linked together in a myriad of complex ways.

Beginner

Andrea Dobson

Room 2

Ethics in tech: a psychological perspective

Why do people behave unethically and what can we do about it? Andrea will do a deep dive into social psychology research on behaviour, ethics and company culture. What are the anti-patterns we should all avoid? Most of the knowledge we have on Conformity and Obedience today come from Psychological experiments done in the 1950s and 1960 What do they mean in today’s society and what impact are they having on the choices we make? And are there things we can do about this?

James Coglan

Room 3

Breaking changes

Intermediate

14.20 - 15.05

Hillel Wayne

Room 1

Designing distributed systems with TLA+

Intermediate

Einar Høst

Room 2

A PostScript to Functional Geometry

Duncan Coutts

Room 3

Building a Billion Dollar cryptocurrency with Haskell

Intermediate

15.05 - 15.25

COFFEE BREAK

15.25 - 16.10

Edwin Brady

Room 1

Idris 2: Type-driven development of Idris

Intermediate

Kate Carruthers

Room 2

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

Maxim Fedorov

Room 3

Scaling Erlang cluster to 10,000 nodes

Scaling Erlang Cluster

Advanced

16.15 - 17.00

Jyothsna Patnam

Room 1

Eta: The rise of pure FP on the JVM

Pure functional programming has been around for more than 30 years and the benefits are widely known. Yet, it’s industrial adoption has been scanty. In this talk, Jyothsna will discuss the work being done to address this problem via Eta.

Intermediate

Ron Pressler

Room 2

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

Yan Cui

Room 3

Applying principles of chaos engineering to serverless

Intermediate

17.05 - 18.05

Federica Pelzel

Keynote:

Room 1

Ethics and AI: Identifying and preventing bias in predictive models

18.05 - 18.15

CLOSING NOTES

18.15 - 19.15

LEAVING DRINKS

VENUE

ILEC CONFERENCE CENTRE

47 LILLIE RD, FULHAM
LONDON SW6 1UD
UNITED KINGDOM

OUR SPONSORS

Global sponsor

Diversity & Inclusion Sponsors

Gold Sponsors

Silver Sponsor

Competition sponsor

Media