Code Mesh LDN 2020
who it's for
language designers, functional programmers, compiler engineers, platform engineers, backend engineers, distributed systems engineers, tooling and QA engineers
topics
dependent type driven synthesis (Idris); session types and history; JIT compiler for Erlang OTP; WebAssembly at the edge; stateful serverless with Cloudstate; serverless WebSockets at scale; serverless data streaming on AWS; BEAM security and threat modelling; specifying and testing web applications (Quickstrom); building a Lisp compiler; linear algebra for deep learning; WebGL driven by MIDI for animation
| title | author | length |
|---|---|---|
| A Computer Culture for Children | Cynthia Solomon | 53m |
Describes the creation and iterations of Logo: implemented first on PDP-1 teletypes, rewritten after classroom trials, ported to PDP-11, TI-99-4 (adding 32… | ||
| Inside Every Calculus Is A Little Algebra Waiting To Get Out | Erik Meijer | 48m |
Claim: calculus reduces to algebra by treating derivatives as algebraic structure, implemented with dual numbers (a + bε, ε²=0) and proven via… | ||
| Panel discussion: Types for All: From weak to strong, from static to dynamic | Sophia Drossopoulou, Martin Odersky, Edwin Brady, Gilad Bracha, Felienne Hermans | 58m |
Panelists compare concrete systems and trade-offs: dependent types in Idris 2 (about 50,000 lines of Idris, with tests taking ~3x the build time) eliminate… | ||
| Cultures of Programming | Tomas Petricek | 49m |
Argues that five distinct programming cultures — mathematical, hacker, managerial, engineering, creative — shape tools and decisions, illustrated by specifics… | ||
| Learn You Some Lambda Calculus | Bernardo Amorim | 37m |
Defines a tiny JavaScript-only lambda calculus subset and actually implements Church encoding for booleans and natural numbers, plus successor, predecessor and… | ||
| Open Sourcing Miranda | David Turner | 35m |
Project open sources Miranda under a BSD license and modernizes the 30‑year‑old C codebase by first porting to C90/C11 and then enabling native 64‑bit builds… | ||
| Concurrent Affairs: Procedural Programming Unlocked | Kevlin Henney | 44m |
Argues procedural techniques power modern concurrency by showing concrete lineage and implementations: coroutines date to 1958, structured parallel blocks… | ||
| Quickstrom: Specifying and Testing Web Applications | Oskar Wickström | 36m |
Quickstrom is a browser-testing engine that explores the DOM via WebDriver, running PureScript-like specs with LTL operators next always until and DOM queries… | ||
| A funny thing happened on the way to the future (...) | Herbert Daly | 37m |
Mainframes still run the back end of banking and airlines, survived the COBOL staffing crisis in 2020, and now host Linux-based stacks: modern z systems pack… | ||
| Cloudstate Towards Stateful Serverless | James Roper, Jonas Bonér | 33m |
Cloudstate claims to add durable, addressable state to serverless by abstracting state into pluggable models (Event Sourcing, CRDTs, key/value) and runs on… | ||
| Teaching WebGL to Dance to Music | Kofi Gumbs | 36m |
A prototype moves from SVG animation that pegged one CPU at ~40% to WebGL via the Elm package elm-3d-scene, adding true 3D layers, rotations and colors. Tempo… | ||
| Security of the BEAM | Viktória Fördős | 37m |
BEAM systems lack safe defaults for TLS and crypto and expose high‑risk operations like os:cmd and runtime eval plus limits that enable DoS via atoms and ETS… | ||
| Gillian a Multi language Platform for Compositional (...) | Philippa Gardner | 38m |
Gillian is a multi-language symbolic-analysis platform that currently supports JavaScript and C and uses a core symbolic execution engine plus a first-order… | ||
| State of Affairs or Affairs of State | Sergey Bykov | 37m |
Cloud services move from stateless round‑trips to keeping entity state in memory for performance and cost savings; Orleans implements virtual actor (grain)… | ||
| Serverless WebSockets at Scale | Simon Tabor | 35m |
Evaluation of AWS options leads to a custom hybrid: a serverless publishing path (API Gateway → Lambda → DynamoDB → SNS) plus an ECS-based websocket fleet… | ||
| The Linear Algebra of Deep Learning | Elizabeth Ramírez | 43m |
Argues that deep nets reduce to linear algebra and demonstrates two concrete speedups: using randomized SVD to compress large matrices by choosing target rank… | ||
| Podman - create, run and secure Linux containers | Valentin Rothberg | 39m |
Claims a daemonless, rootless from day one engine that runs containers with a fork‑exec model and user‑namespace mappings (configured in /etc/subuid and… | ||
| What can we Learn from Pro Gamers | William E. Byrd | 40m |
Argument claims that studying StarCraft pro practice reveals teachable, repeatable learning methods for programming: pros hit 400 APM, train 12+ hours/day, use… | ||
| Serverless Data Streaming on AWS | Anahit Pogosova | 38m |
Pipeline ingests roughly 600k requests per minute (≈10k/s), about 0.5 TB/day of JSON and Parquet, using Kinesis + Firehose + Lambda + Kinesis Data Analytics to… | ||
| Session Types: A History and Applications | Nobuko Yoshida | 37m |
Session types are presented as a way to prevent communication mismatches and deadlocks, moving from binary session types to multiparty session types for… | ||
| Protocol engineering for communicating actors | Laura Bocchi, Laura Voinea | 39m |
Protocol models get extracted from Erlang gen_statem code into session types, composed algorithmically with three annotations assert/require/consume, and… | ||
| Building My First Lisp Compiler | Ramsey Nasser | 40m |
Five years of work produce MAGIC, a Clojure-written compiler that MAGIC compiles Clojure to CLR bytecode, bootstraps itself and bootstrapped and passes Clojure… | ||
| Dependent Type Driven Program Synthesis in Idris | Edwin Brady | 39m |
Idris uses the type to synthesize program fragments by incremental case-splitting and expression search over holes and unification, generating batches (default… | ||
| JIT Compiler for Erlang OTP | Lukas Larsson | 39m |
A new Erlang JIT named bmasum compiles BEAM bytecode to native x86-64 at load time using asmjit and C++ without profile‑guided or aggressive runtime… | ||
| MANTIS: Semantics-driven Inductive Program Synthesis | Roopsha Samanta | 37m |
MANTIS applies semantic biases by augmenting user examples with relational perturbation properties (e.g., permutation invariance, value preservation) and then… | ||
| Deploying a Modern Serverless Reactive container to the Cloud | Mary Grygleski | 35m |
Shows a small polyglot Vert.x service composed of polyglot verticles (Java, Kotlin, JavaScript) wired over the Vert.x event bus, built with Maven, packaged… | ||
| Ask the expert - Thinking Mathematically Above The Code Level | Leslie Lamport | 30m |
Argues that design must be written at a higher level than code and gives concrete practice: use TLA+ and its model checker to write precise specs so users need… | ||
| How I learned to stop worrying and love Functional Design | Francis Toth | 34m |
Argues that three concrete rules—local reasoning, purity, and composition—produce maintainable design, and demonstrates them with Scala code: first an IO trait… | ||
| Why User Mode Threads Are Often the Correct Answer | Ron Pressler | 35m |
Project Loom introduces virtual threads so a JVM can support millions of threads and let each thread be chosen to run in user mode or as an OS thread… | ||
| Panel Discussion: The number of orche | Bryan Hunt, Verocina Lopez, David Schainker, Thomas Depierre, Jani Leppanen, Jake Morrison | 46m |
Panel debates concrete tradeoffs: Kubernetes, AWS autoscaling groups, Spinnaker, DC/OS/Mesos, CRI‑O/Podman and cert-manager all appear with real pros and cons… | ||
| What Counts as a Programming Language | Chelsie Troy | 39m |
Argues that whether something is a programming language depends on assumed context not formal definitions, and shows concrete comparisons: Alloy, TLA+… | ||
| Building a better web with WebAssembly at the edge | Aaron Turner | 37m |
Argues for running WebAssembly at the edge because it gives WASI for standardized host calls, language portability via AssemblyScript and Rust, and… | ||
| nothing matches | ||