Code Mesh LDN 2019
2019
List of videos

Valentin Rothberg - Decomposing container tools: Swiss Army Knives & containers | Code Mesh LDN 19
This video was recorded at Code Mesh LDN 19 - http://bit.ly/37xc3Nr Get involved in Code Sync's next conference - http://bit.ly/2Mcm4aS --- DECOMPOSING CONTAINER TOOLS - ABOUT SWISS ARMY KNIVES AND CONTAINERS by Valentin Rothberg THIS TALK IN THREE WORDS: No One-size-fits-all Solutions TALK LEVEL: Intermediate ABSTRACT One-size-fits-all solutions come at a price. In this talk, I present four open-source container tools dedicated to specific use-cases: - CRI-O, a Kubernetes runtime - Podman, for managing pods and containers - Buildah, for building containers - Skopeo, for distributing container images All tools are collaboratively developed across the industry and distributions and are built on top of the same libraries, allowing for seamless integration, compatibility and interoperability. Live demos demonstrate how they can cover an entire life-cycle: from local development to migrating to production. Slides & full abstract: https://codesync.global/speaker/valentin-rothberg/ --- THE SPEAKER - VALENTIN ROTHBERG Containers are Linux Valentin is an engineer in Red Hat's container runtimes team, focusing on and maintaining various open-source projects such as Buildah, Podman, Skopeo and CRI-O. He contributed to many other projects in the containers landscape such as Kubernetes, the Linux kernel, Moby, Google Cloud, container-diff and more. Prior to working in the industry, Valentin has been working in academia researching and teaching operating systems and their development. More on Valentin Rothberg: https://codesync.global/speaker/valentin-rothberg/ --- CODE SYNC & CODE MESH LDN 19 Code Mesh LDN is powered by Code Sync. Code Mesh LDN 19 was sponsored by WhatsApp, Microsoft, Erlang Solutions, Juxt, aeternity, Duffel, and IOHK. CODE SYNC Website: www.codesync.global Twitter: www.twitter.com/CodeMeshIO Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ Mail: info at codesync.global #Containers #Kubernetes #Podman #Buildah #Skopeo
Watch
Martin Kleppmann - Correctness proofs of distributed systems with Isabelle | Code Mesh LDN 19
This video was recorded at Code Mesh LDN 19 - http://bit.ly/37xc3Nr Get involved in Code Sync's next conference - http://bit.ly/2Mcm4aS --- CORRECTNESS PROOFS OF DISTRIBUTED SYSTEMS WITH ISABELLE by Martin Kleppmann THIS TALK IN THREE WORDS: Distributed Formal Verification TALK LEVEL: Intermediate ABSTRACT Testing systems is great, but tests can only explore a finite set of inputs and behaviours, while many distributed systems have an infinite state space. If you want to be sure that a program does the right thing in all possible situations, testing is not sufficient: only mathematical proof can cover an infinite state space. This talk introduces Isabelle/HOL, an interactive proof assistant (a kind of programming language and REPL for proofs), and explores how to formally verify distributed algorithms. Slides & full abstract: https://codesync.global/speaker/martin-kleppmann/ --- THE SPEAKER - MARTIN KLEPPMANN Distributed systems researcher and author Dr Martin Kleppmann is a researcher in distributed systems at the University of Cambridge, and author of the acclaimed 'Designing Data-Intensive Applications' (O'Reilly Media, 2017). He mainly works on collaboration software, CRDTs, and formal verification of distributed algorithms. Previously he was a software engineer and entrepreneur at Internet companies including LinkedIn and Rapportive, where he worked on large-scale data infrastructure. More on Martin Kleppmann: https://codesync.global/speaker/martin-kleppmann/ --- CODE SYNC & CODE MESH LDN 19 Code Mesh LDN is powered by Code Sync. Code Mesh LDN 19 was sponsored by WhatsApp, Microsoft, Erlang Solutions, Juxt, aeternity, Duffel, and IOHK. CODE SYNC Website: www.codesync.global Twitter: www.twitter.com/CodeMeshIO Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ Mail: info at codesync.global #Isabelle #FormalVerification #MartinKleppmann
Watch
Alvaro Videla - Literary Theory looks at Readable Code | Code Mesh LDN 19
This video was recorded at Code Mesh LDN 19 - http://bit.ly/37xc3Nr Get involved in Code Sync's next conference - http://bit.ly/2Mcm4aS --- LITERARY THEORY LOOKS AT READABLE CODE by Alvaro Videla THIS TALK IN THREE WORDS: Language Literary Theory Programming TALK LEVEL: Intermediate ABSTRACT Programming is a human communication activity. We want to minimize misunderstandings in our code to be able to work effectively as teams. This means we need to learn how to look at our code to spot areas where we could improve our communication skills. We want to get our ideas across. We want that our abstractions, our models, make sense to others. Literature is a discipline with a long track record of authors and researchers trying to find out how to make writing communication effective. What could we learn from them? In this talk, Alvaro explores the relation between the process of writing computer programs with that of writing literary works of fiction. In particular he wants to show some ideas presented by Umberto Eco in his book Lector in Fabula, seeing how we can improve knowledge sharing via our code, tests, documentation, and other artifacts. Slides & full abstract: https://codesync.global/speaker/alvaro-videla/ --- THE SPEAKER - ALVARO VIDELA Co-author of RabbitMQ in Action Member of the Azure advocates’ team at Microsoft. DuraznoConf organizer. Coauthor of RabbitMQ in Action. Ex - Ex RabbitMQ Core Dev. More on Alvaro Videla: https://codesync.global/speaker/alvaro-videla/ --- CODE SYNC & CODE MESH LDN 19 Code Mesh LDN is powered by Code Sync. Code Mesh LDN 19 was sponsored by WhatsApp, Microsoft, Erlang Solutions, Juxt, aeternity, Duffel, and IOHK. CODE SYNC Website: www.codesync.global Twitter: www.twitter.com/CodeMeshIO Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ Mail: info at codesync.global #LiteraryTheory #Programming #Language
Watch
John Hughes - How to specify it! A guide to writing properties of pure functions | Code Mesh LDN 19
This video was recorded at Code Mesh LDN 19 - http://bit.ly/37xc3Nr Get involved in Code Sync's next conference - http://bit.ly/2Mcm4aS --- HOW TO SPECIFY IT! A GUIDE TO WRITING PROPERTIES OF PURE FUNCTIONS by John Hughes ABSTRACT Property-based testing is an appealing approach to testing, but requires developers to identify suitable properties to test--and many find this difficult, and find the simple properties in tutorials difficult to generalize. In this talk, I'll present five different strategies for coming up with properties of pure functions, and I'll compare their effectiveness as tests; I'll also warn of the biggest pitfall to be avoided. You'll leave my talk with new ideas for writing properties of your own functions. I'll be using the Haskell version of QuickCheck for my examples, but the ideas are usable with any property-based testing tool. Slides & full abstract: https://codesync.global/speaker/john-hughes/ --- THE SPEAKER - JOHN HUGHES Co-designer of Haskell and QuickCheck John Hughes has been a functional programming enthusiast for more than thirty years, at the Universities of Oxford, Glasgow, and since 1992 Chalmers University in Gothenburg, Sweden. He served on the Haskell design committee, co-chairing the committee for Haskell 98, and is the author of more than 100 papers, including "Why Functional Programming Matters", one of the classics of the area. With Koen Claessen, he created QuickCheck, the most popular testing tool among Haskell programmers, and in 2006 he founded Quviq to commercialise the technology using Erlang. In 2018 he became an ACM Fellow. More on John Hughes: https://codesync.global/speaker/john-hughes/ --- CODE SYNC & CODE MESH LDN 19 Code Mesh LDN is powered by Code Sync. Code Mesh LDN 19 was sponsored by WhatsApp, Microsoft, Erlang Solutions, Juxt, aeternity, Duffel, and IOHK. CODE SYNC Website: www.codesync.global Twitter: www.twitter.com/CodeMeshIO Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ Mail: info at codesync.global #PropertyBasedTesting #QuickCheck #JohnHughes
Watch
Louis Pilfold - Gleam: Lean BEAM typing machine | Code Mesh LDN 19
This video was recorded at Code Mesh LDN 19 - http://bit.ly/37xc3Nr Get involved in Code Sync's next conference - http://bit.ly/2Mcm4aS --- GLEAM: LEAN BEAM TYPING MACHINE by Louis Pilfold THIS TALK IN THREE WORDS: Strong Typing Propaganda TALK LEVEL: Beginner ABSTRACT With their impressive concurrency features and robust approach to handling failure, it is a joy to build scalable and reliable systems with BEAM languages such as Erlang and Elixir! However, all is not perfect: as codebases get larger and less familiar it becomes more difficult to make changes, with mistakes creating bugs that test out runtime resilience and make pagers ring in the middle of the night. In this talk, Louis introduces Gleam, a new language that takes inspiration from strongly typed languages such as Haskell, Rust and Elm to help BEAM programmers tackle these problems. We'll take a look at what Gleam offers, how it's made, and how it complements and interoperates with other BEAM languages. Lastly, we'll take a peek at what's planned for Gleam and how people can get involved with the language and the community. Slides & full abstract: https://codesync.global/speaker/louis-pilfold/ --- THE SPEAKER - LOUIS PILFOLD Author of Gleam, Elixir contributor Louis is an enthusiastic, jack-of-all-trades software engineer who writes code in many languages, some of which don’t even exist yet! A firm believer in open source, he maintains and contributes to many open source projects in the Erlang ecosystem and beyond. Professionally Louis is bringing the world’s largest building society to the cloud as part of the Nationwide Digital Accelerator Platform and is removing the pain from advertising usage management as the founder of Waive Hello. Unprofessionally Louis is collecting terrible dance music and wearing shoes with toes. Professionally Louis is bringing the world’s largest building society to the cloud as part of the Nationwide Digital Accelerator Platform, and is removing the pain from advertising usage management as founder of Waive Hello. Unprofessionally Louis is collecting terrible dance music and wearing shoes with toes. More on Louis Pilfold: https://codesync.global/speaker/louis-pilfold/ --- CODE SYNC & CODE MESH LDN 19 Code Mesh LDN is powered by Code Sync. Code Mesh LDN 19 was sponsored by WhatsApp, Microsoft, Erlang Solutions, Juxt, aeternity, Duffel, and IOHK. CODE SYNC Website: www.codesync.global Twitter: www.twitter.com/CodeMeshIO Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ Mail: info at codesync.global #StronglyTyped #Gleam #Elixir
Watch
Bjarne Däcker - Concurrency before Erlang | Code Mesh LDN 19
This video was recorded at Code Mesh LDN 19 - http://bit.ly/37xc3Nr Get involved in Code Sync's next conference - http://bit.ly/2Mcm4aS --- CONCURRENCY BEFORE ERLANG by Bjarne Däcker THIS TALK IN THREE WORDS: Concurrency Applied research Prototyping TALK LEVEL: Intermediate ABSTRACT This talk covers (1) concurrent languages at Ericsson before Erlang, (2) imperative concurrent languages Modula, Chill and Ada (the last two large international efforts), (3) start of the Computer Science Lab at Ericsson and experimentation with language paradigms, and (4) the prototyping that led up to Erlang. Slides & full abstract: https://codesync.global/speaker/bjarne-daecker/ --- THE SPEAKER - BJARNE DÄCKER Member of the Royal Swedish Academy of Engineering. For five years chairman of the committee for funding Computer Science research. For six years Swedish member of the committee for EU's IT prize. Member of the society of researchers and members of parliament. Bjarne worked for 36 years at Ericsson first as programmer and systems analyst, then involved with programming language design and creation of programming environments. Together with 3 other persons proposed the creation of the Computer Science Lab and its manager for 18 years. The Computer Science Lab pioneered Unix, work stations, graphics, expert systems and other techniques but the main goal was to create a software technology for telecoms programming which lead to the definition of Erlang. More on Bjarne Däcker: https://codesync.global/speaker/bjarne-daecker/ --- CODE SYNC & CODE MESH LDN 19 Code Mesh LDN is powered by Code Sync. Code Mesh LDN 19 was sponsored by WhatsApp, Microsoft, Erlang Solutions, Juxt, aeternity, Duffel, and IOHK. CODE SYNC Website: www.codesync.global Twitter: www.twitter.com/CodeMeshIO Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ Mail: info at codesync.global #Concurrency #Erlang #Ericsson
Watch
Dominic Orchard - Quantitative program reasoning in Granule via graded modal types | Code Mesh LDN
This video was recorded at Code Mesh LDN 19 - http://bit.ly/37xc3Nr Get involved in Code Sync's next conference - http://bit.ly/2Mcm4aS --- QUANTITATIVE PROGRAM REASONING IN GRANULE VIA GRADED MODAL TYPES by Dominic Orchard THIS TALK IN THREE WORDS: Types for Verification TALK LEVEL: Intermediate ABSTRACT A benefit of static typing is that various program properties can be specified and automatically checked as part of a language. But there are always limits to what can be expressed. This talk presents Granule, a functional language which pushes these limits by combining linear and indexed types with the recent notion of graded modal types. We'll see examples enforcing privacy constraints, stateful protocols, and verifying properties of standard functional programs just by getting the right type signature. Slides & full abstract: https://codesync.global/speaker/dominic-orchard/ --- THE SPEAKER - DOMINIC ORCHARD Computer science lecturer and co-creator of the Granule language Dominic is a computer science researcher and lecturer, interested in mathematically structured programming and lots else, at the School of Computing, University of Kent More on Dominic Orchard: https://codesync.global/speaker/dominic-orchard/ --- CODE SYNC & CODE MESH LDN 19 Code Mesh LDN is powered by Code Sync. Code Mesh LDN 19 was sponsored by WhatsApp, Microsoft, Erlang Solutions, Juxt, aeternity, Duffel, and IOHK. CODE SYNC Website: www.codesync.global Twitter: www.twitter.com/CodeMeshIO Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ Mail: info at codesync.global #Granule #FunctionalProgramming
Watch
Simon Thompson - Marlowe: financial contracts on Blockchain | Code Mesh LDN 19
This video was recorded at Code Mesh LDN 19 - http://bit.ly/37xc3Nr Get involved in Code Sync's next conference - http://bit.ly/2Mcm4aS --- MARLOWE: FINANCIAL CONTRACTS ON BLOCKCHAIN by Simon Thompson THIS TALK IN THREE WORDS: Blockchain Functional DSL TALK LEVEL: Beginner ABSTRACT Marlowe is a high-level, domain-specific language (DSL) for writing financial contracts on blockchain. Marlowe is defined by an executable semantics in Haskell, and has been implemented on the UTxO-based Cardano blockchain. This talk will introduce Marlowe and describe its semantics, implementation and tooling as well as give examples, including some from the ACTUS financial standard. It will also address Marlowe as a Haskell DSL, and describe the choices made in designing and revising the language. Slides & full abstract: https://codesync.global/speaker/simon-thompson/ --- THE SPEAKER - SIMON THOMPSON Longtime functional programmer, author and researcher Simon Thompson is a researcher, author and teacher, and professor of logic and computation at the University of Kent. His research into functional programming covers verification, tool-building and testing for Erlang, Haskell and OCaml. He is the author of books on type theory, Haskell and Erlang, and runs a Mooc about Erlang for FutureLearn. He works with IOHK on domain-specific languages for Cardano. More on Simon Thompson: https://codesync.global/speaker/simon-thompson/ --- CODE SYNC & CODE MESH LDN 19 Code Mesh LDN is powered by Code Sync. Code Mesh LDN 19 was sponsored by WhatsApp, Microsoft, Erlang Solutions, Juxt, aeternity, Duffel, and IOHK. CODE SYNC Website: www.codesync.global Twitter: www.twitter.com/CodeMeshIO Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ Mail: info at codesync.global #Blockchain #FinancialContracts
Watch
Romeu Moura - Bourdieu's social theory applied to tech | Code Mesh LDN 19
This video was recorded at Code Mesh LDN 19 - http://bit.ly/37xc3Nr Get involved in Code Sync's next conference - http://bit.ly/2Mcm4aS --- BOURDIEU'S SOCIAL THEORY APPLIED TO TECH by Romeu Moura THIS TALK IN THREE WORDS: Invert Symbolic Violence TALK LEVEL: Beginner ABSTRACT Obscure though it may seems, the sociologist Bourdieu and his social theory tell us a lot about what is happening in the workplace and society around us. By understanding what he meant by "symbolic violence", "cultural capital" "hexis" etc, we see how each of us influences and is influenced by the people around us, in ways that we wouldn't expect. From this talk, a vulgarized and easy to understand version of Bourdieu's ideas, each of us can seek how to improve the ambience immediately around us Slides & full abstract: https://codesync.global/speaker/romeu-moura/ --- THE SPEAKER - ROMEU MOURA One must imagine sisyphus happy Endless conversation — with friends, compilers — on art, Symmathesy, methods, absurdism, dialectic, paradigm jumps, serendipity. More on Romeu Moura: https://codesync.global/speaker/romeu-moura/ --- CODE SYNC & CODE MESH LDN 19 Code Mesh LDN is powered by Code Sync. Code Mesh LDN 19 was sponsored by WhatsApp, Microsoft, Erlang Solutions, Juxt, aeternity, Duffel, and IOHK. CODE SYNC Website: www.codesync.global Twitter: www.twitter.com/CodeMeshIO Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ Mail: info at codesync.global #Bourdieu #Programming #SocialTheory
Watch
Paul Schoenfelder - Lumen - Bringing the BEAM to WebAssembly and Beyond | Code Mesh LDN 19
This video was recorded at Code Mesh LDN 19 - http://bit.ly/37xc3Nr Get involved in Code Sync's next conference - http://bit.ly/2Mcm4aS --- LUMEN - BRINGING THE BEAM TO WEBASSEMBLY AND BEYOND by Paul Schoenfelder THIS TALK IN THREE WORDS: BEAM WebAssembly Compilers TALK LEVEL: Beginner ABSTRACT Lumen is a new compiler and runtime for BEAM languages (currently Erlang and Elixir) that supports targeting environments that were previously unsupported or infeasible for the BEAM virtual machine, e.g. WebAssembly, bare metal embedded hardware and more. To best support these new targets, Lumen takes an alternative implementation approach compared to the BEAM - rather than being constructed as a compiler that produces bytecode which is then executed by a virtual machine, Lumen is instead an ahead-of-time compiler that produces native code in the form of a standalone executable. It builds on the capabilities and ecosystem provided by the Rust and LLVM toolchains, and makes it possible to apply BEAM languages to domains that were previously inaccessible. The beta release of Lumen in late August provided an early preview of the new compiler, with primary support for WebAssembly, as well as secondary support for x86_64. This talk will share more about Lumen, where it is currently, and what we have planned for it in the near future and beyond. Slides & full abstract: https://codesync.global/speaker/paul-schoenfelder/ --- THE SPEAKER - PAUL SCHOENFELDER Prolific open source contributor, borderline workaholic. Speaker at multiple ElixirConfs, as well as CodeBEAM SF ’18, LoneStar Elixir ’18/’19. Paul is currently an Architectural Engineer at DockYard, he came to Erlang and Elixir after about 10 years of working with .NET and JVM languages, and has spent the past 4 years working with the BEAM professionally. Paul is the author of a variety of tools and libraries for Elixir, most notably Distillery and Timex. More on Paul Schoenfelder: https://codesync.global/speaker/paul-schoenfelder/ --- CODE SYNC & CODE MESH LDN 19 Code Mesh LDN is powered by Code Sync. Code Mesh LDN 19 was sponsored by WhatsApp, Microsoft, Erlang Solutions, Juxt, aeternity, Duffel, and IOHK. CODE SYNC Website: www.codesync.global Twitter: www.twitter.com/CodeMeshIO Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ Mail: info at codesync.global #WebAssembly #Compilers
Watch
Matthew Revell - Misadventures with Terraform | Code Mesh LDN 19
This video was recorded at Code Mesh LDN 19 - http://bit.ly/37xc3Nr Get involved in Code Sync's next conference - http://bit.ly/2Mcm4aS --- MISADVENTURES WITH TERRAFORM by Matthew Revell THIS TALK IN THREE WORDS: Terraform Cloud Infrastructure TALK LEVEL: Intermediate ABSTRACT A brief tour of real life experiences where things went wrong, but useful lessons were learned. Slides & full abstract: https://codesync.global/speaker/matthew-revell/ --- THE SPEAKER - MATTHEW REVELL Get ready to automate the cloud Matthew is a Senior DevOps Consultant at OpenCredo. He has a broad experience in building and automating cloud infrastructure, monitoring, and data pipelines in an idempotent fashion leveraging Infrastructure as Code and automation technology. More on Matthew Revell: https://codesync.global/speaker/matthew-revell/ --- CODE SYNC & CODE MESH LDN 19 Code Mesh LDN is powered by Code Sync. Code Mesh LDN 19 was sponsored by WhatsApp, Microsoft, Erlang Solutions, Juxt, aeternity, Duffel, and IOHK. CODE SYNC Website: www.codesync.global Twitter: www.twitter.com/CodeMeshIO Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ Mail: info at codesync.global #Terraform #Cloud
Watch
Maxim Fedorov - The art of challenging assumptions | Code Mesh LDN 19
This video was recorded at Code Mesh LDN 19 - http://bit.ly/37xc3Nr Get involved in Code Sync's next conference - http://bit.ly/2Mcm4aS --- THE ART OF CHALLENGING ASSUMPTIONS by Maxim Fedorov TALK LEVEL: Intermediate ABSTRACT We spent countless hours and sleepless nights bringing and keeping up server-side of the most successful messaging service in the world. Looking back, how many choices we'd change? And how to ensure we make the right one next time? ""The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature optimization is the root of all evil"" (Donald Knuth). But why does it happen? Why did we do something we didn't really want? Because we acted on assumptions. This talk will guide through a number of war stories where assumptions were made and acted on. There were regrets and disappointments, and we learned to challenge assumptions in the hard way. Now it's time to share what we learnt so far. Slides & full abstract: https://codesync.global/speaker/maxim-fedorov/ --- THE SPEAKER - MAXIM FEDOROV Evil mother of all mistakes Maxim Fedorov is a software engineer at WhatsApp, the largest messaging app. Maxim’s work is focused on performance and scalability of the server-side. Before WhatsApp, Maxim has been developing low-latency TCP/IP applications at NetAlliance (Sydney, Australia), designing Kaspersky Enterprise Security Endpoint (Moscow, Russia), improving Parallels Virtual Automation, called Odin now, at Parallels (former SWsoft), and developing network security software before. More on Maxim Fedorov: https://codesync.global/speaker/maxim-fedorov/ --- CODE SYNC & CODE MESH LDN 19 Code Mesh LDN is powered by Code Sync. Code Mesh LDN 19 was sponsored by WhatsApp, Microsoft, Erlang Solutions, Juxt, aeternity, Duffel, and IOHK. CODE SYNC Website: www.codesync.global Twitter: www.twitter.com/CodeMeshIO Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ Mail: info at codesync.global #ServerSide #Deploy #Programming
Watch
Simon Peyton Jones - Revisiting pattern match overlap checks in Haskell | Code Mesh LDN 19
This video was recorded at Code Mesh LDN 19 - http://bit.ly/37xc3Nr Get involved in Code Sync's next conference - http://bit.ly/2Mcm4aS --- REVISITING PATTERN MATCH OVERLAP CHECKS IN HASKELL by Simon Peyton Jones TALK LEVEL: All levels ABSTRACT How hard can it be to spot missing or overlapping patterns in a Haskell function definition? Surely it’s the least we can expect from a decent compiler? But when you mix in GADTs, pattern guards, view patterns, data families, strict data constructors, and pattern synonyms, matters get surprisingly tricky. In a 2015 paper “GADTs meet their match” (https://www.microsoft.com/en-us/research/publication/gadts-meet-their-match-pattern-matching-warnings-that-account-for-gadts-guards-and-laziness/) we explored a nice, modular account of pattern-match checking that addresses many of these tricky points. Alas, GHC’s implementation of that paper has proved less than satisfactory: it can be terribly slow, and misses cases that programmers think look obvious. So my colleague Sebastian Graf and I have been radically refactoring the implementation. In this talk, I will give lots of tricky examples of pattern matching, describe how to think about coverage and overlap checking, and reflect on how their new refactored implementation works. Slides & full abstract: https://codesync.global/speaker/simon-peyton-jones/ --- THE SPEAKER - SIMON PEYTON JONES Principal researcher at Microsoft Research https://www.microsoft.com/en-us/research/people/simonpj/#!biography Simon has been a researcher at Microsoft Research in Cambridge, England since Sept 1998. He's also an Honorary Professor of the Computing Science Department at Glasgow University, where he was a professor during 1990-1998. Simon is interested in the design, implementation, and application of lazy functional languages. In practical terms, that means he spends most of his time on the design and implementation of the language Haskell. In particular, much of his work is focused around the Glasgow Haskell Compiler, and its ramifications. Simon is chair of Computing at School, the group at the epicentre of the reform of the national curriculum for Computing in England. Computer science is now a foundational subject, alongside maths and natural science, that every child learns from primary school onwards (background here). More on Simon Peyton Jones: https://codesync.global/speaker/simon-peyton-jones/ --- CODE SYNC & CODE MESH LDN 19 Code Mesh LDN is powered by Code Sync. Code Mesh LDN 19 was sponsored by WhatsApp, Microsoft, Erlang Solutions, Juxt, aeternity, Duffel, and IOHK. CODE SYNC Website: www.codesync.global Twitter: www.twitter.com/CodeMeshIO Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ Mail: info at codesync.global #PatternMatching #Haskell #SimonPeytonJones
Watch
Tom Hall - Data pipelines à la mode | Code Mesh LDN 19
This video was recorded at Code Mesh LDN 19 - http://bit.ly/37xc3Nr Get involved in Code Sync's next conference - http://bit.ly/2Mcm4aS --- DATA PIPELINES À LA MODE by Tom Hall THIS TALK IN THREE WORDS: datascience TALK LEVEL: Intermediate ABSTRACT In all businesses there is some kind of data pipeline, even if it’s powered by humans working off a shared drive somewhere. Lots of places are better than this. They have workflow systems, ETL pipelines, analytics teams, data scientists etc. But, can they say months later which version of which code running on what data generated insights? Can they be reproduced? What if the algorithms change? Do you go back and re-run everything? Science itself has a reproducibility problem, but it’s worse in most companies and mistakes can be expensive. There is a useful subset of data pipelines, let's call them “pure”, that only depend on the data flowing through them. For pure pipelines we can use techniques from distributed build systems to allow us to know what code was used for each step, not lose any previous results as we improve our algorithms and avoid repeating work that has been done already. This talk contains interesting theory but is resolutely practical and with concrete examples in several languages and distributed computation frameworks. Slides & full abstract: https://codesync.global/speaker/tom-hall/ --- THE SPEAKER - TOM HALL Theatre fan, occasional mountaineer, part-time runner, thoroughly nice chap, available in fine bookstores everywhere. Tom is well known to those that know him well - an occasional mountaineer, part-time cyclist and part-time typer-at-a-computer doing a mix of dev and ops since before DevOps was a thing. At the moment he's interested in generative art, Elixir and Julia and has been a little bit obsessed with using ideas from functional programming and distributed build systems to make data pipelines and ETL workflows better. More on Tom Hall: https://codesync.global/speaker/tom-hall/ --- CODE SYNC & CODE MESH LDN 19 Code Mesh LDN is powered by Code Sync. Code Mesh LDN 19 was sponsored by WhatsApp, Microsoft, Erlang Solutions, Juxt, aeternity, Duffel, and IOHK. CODE SYNC Website: www.codesync.global Twitter: www.twitter.com/CodeMeshIO Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ Mail: info at codesync.global #datascience #CodeMeshLDN #datapipeline
Watch
Rob Ashton - Purescript on the BEAM; Typed OTP for greatness | Code Mesh LDN 19
This video was recorded at Code Mesh LDN 19 - http://bit.ly/37xc3Nr Get involved in Code Sync's next conference - http://bit.ly/2Mcm4aS --- PURESCRIPT ON THE BEAM; TYPED OTP FOR GREATNESS by Rob Ashton THIS TALK IN THREE WORDS: Erlang Purescript OTP TALK LEVEL: Intermediate ABSTRACT After nearly a decade of writing our software in Erlang, our codebases have started getting unwieldy despite our best efforts to manage this through other disciplinary methods. (That and dialyzer, but there are limits!) So we did what any sensible company would do, and hired """"the Purerl guy"""" and set about working out how we could use the Purescript to Erlang compiler he'd written to help us with this. To that end since, we have already shipped two products and quietly open sourced a selection of the libraries we have built on top of Purerl to support those endeavours. In this session we'll start by looking at the super happy path (our ideal world) for end-to-end Purescript before going into detail on how some of it is implemented, the weak spots and pitfalls currently present and some of the huge hacks that are possible when using Purescript FFI to bind against "native Erlang" libraries. Slides & full abstract: https://codesync.global/speaker/rob-ashton/ --- THE SPEAKER - ROB ASHTON (Barely) Functional Developer Rob has spent about a decade of building software commercially in a plethora of languages and technologies as well as leading enterprise teams, engaging in the odd spot of consultancy and travelling around as a jobless wanderer whilst learning all the way along. Now he can be found mostly writing Erlang and Purescript, building distributed media delivery systems for a small b2b company in the UK and also helping to develop an ecosystem around Purerl for the masses. More on Rob Ashton: https://codesync.global/speaker/rob-ashton/ --- CODE SYNC & CODE MESH LDN 19 Code Mesh LDN is powered by Code Sync. Code Mesh LDN 19 was sponsored by WhatsApp, Microsoft, Erlang Solutions, Juxt, aeternity, Duffel, and IOHK. CODE SYNC Website: www.codesync.global Twitter: www.twitter.com/CodeMeshIO Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ Mail: info at codesync.global #Purescript #Erlang #OTP
Watch
Jeremy Gibbons - What You Needa Know About Yoneda | Code Mesh LDN 19
This video was recorded at Code Mesh LDN 19 - http://bit.ly/37xc3Nr Get involved in Code Sync's next conference - http://bit.ly/2Mcm4aS --- WHAT YOU NEEDA KNOW ABOUT YONEDA by Jeremy Gibbons THIS TALK IN THREE WORDS: Categories Functional programming Lenses TALK LEVEL: Advanced ABSTRACT Profunctor optics are a neat and composable representation of bidirectional data accessors, such as lenses (a "getter" and a "setter", for example onto a field of a record), and their dual, prisms. The profunctor representation exploits higher-order functions and higher-kinded type constructor classes. The relationship with the ""getter"" and ""setter"" functions is not at all obvious; it turns out to be a fairly direct application of the Yoneda Lemma, arguably the most important result in category theory. This talk will explain the Yoneda Lemma, with many concrete examples, including profunctor optics. Slides & full abstract: https://codesync.global/speaker/jeremy-gibbons/ --- THE SPEAKER - JEREMY GIBBONS Jeremy Gibbons is Professor of Computing at the University of Oxford, where he teaches on the part-time professional master's programme in software engineering. He has been devoted to functional programming since the late eighties; he is Editor-in-Chief of the Journal of Functional Programming, and his particular interests are in patterns in functional programming and in reasoning about programs. More on Jeremy Gibbons: https://codesync.global/speaker/jeremy-gibbons/ --- CODE SYNC & CODE MESH LDN 19 Code Mesh LDN is powered by Code Sync. Code Mesh LDN 19 was sponsored by WhatsApp, Microsoft, Erlang Solutions, Juxt, aeternity, Duffel, and IOHK. CODE SYNC Website: www.codesync.global Twitter: www.twitter.com/CodeMeshIO Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ Mail: info at codesync.global #FunctionalProgramming #Yoneda
Watch
Greg Young - want don't You consistency no stinking | Code Mesh LDN 19
This video was recorded at Code Mesh LDN 19 - http://bit.ly/37xc3Nr Get involved in Code Sync's next conference - http://bit.ly/2Mcm4aS --- WANT DON'T YOU CONSISTENCY NO STINKING by Greg Young THIS TALK IN THREE WORDS: important order is TALK LEVEL: Intermediate ABSTRACT Everyone likes to talk about Consistent Event Sourced systems. This talk, however, is going to focus on their cousins which are Eventually Consistent. Why might we want to drop consistency in an Event Sourced system? What benefits might we get? How might that get implemented? Ever hear 'bout this thing called git?;) Slides & full abstract: https://codesync.global/speaker/greg-young/ --- THE SPEAKER - GREG YOUNG Greg Young coined the term "CQRS" (Command Query Responsibility Segregation) and it was instantly picked up by the community who have elaborated upon it ever since. Greg is an independent consultant and serial entrepreneur. He has 10+ years of varied experience in computer science from embedded operating systems to business systems and he brings a pragmatic and often times unusual viewpoint to discussions. He's a frequent contributor to InfoQ, speaker/trainer at Skills Matter and also a well-known speaker at international conferences. Greg also writes about CQRS, DDD and other hot topics on www.codebetter.com. More on Greg Young: https://codesync.global/speaker/greg-young/ --- CODE SYNC & CODE MESH LDN 19 Code Mesh LDN is powered by Code Sync. Code Mesh LDN 19 was sponsored by WhatsApp, Microsoft, Erlang Solutions, Juxt, aeternity, Duffel, and IOHK. CODE SYNC Website: www.codesync.global Twitter: www.twitter.com/CodeMeshIO Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ Mail: info at codesync.global #EventSourced #EventuallyConsistant
Watch
Alexey Soshin - Visualising concurrency with Kotlin | Code Mesh LDN 19
This video was recorded at Code Mesh LDN 19 - http://bit.ly/37xc3Nr Get involved in Code Sync's next conference - http://bit.ly/2Mcm4aS --- VISUALISING CONCURRENCY WITH KOTLIN by Alexey Soshin THIS TALK IN THREE WORDS: Visualise Kotlin Concurrency TALK LEVEL: Advanced ABSTRACT Concurrency is a hot topic in the past 5 years, since scale of our systems continues to grow, but it's harder and harder to make faster hardware. Different languages and runtimes have different approaches to solving 10K problem: asynchronous model of NodeJS, goroutines in Go and coroutines in Kotlin, to name a few. But concurrency is complicated. And sometimes, it's very helpful to visualize a complex topic to understand it better. In this talk we'll see what concurrent design patterns such as Fan In and Fan Out really look like. Slides & full abstract: https://codesync.global/speaker/alexey-soshin/ --- THE SPEAKER - ALEXEY SOSHIN Author of ""Hands-on Design Patterns with Kotlin"" book Alexey is a Staff Software Engineer @Deliveroo. Previously Principal Developer @Wix. Former Software Architect @Gett. Kotlin and Vert.x enthusiast. Book author. More on Alexey Soshin: https://codesync.global/speaker/alexey-soshin/ --- CODE SYNC & CODE MESH LDN 19 Code Mesh LDN is powered by Code Sync. Code Mesh LDN 19 was sponsored by WhatsApp, Microsoft, Erlang Solutions, Juxt, aeternity, Duffel, and IOHK. CODE SYNC Website: www.codesync.global Twitter: www.twitter.com/CodeMeshIO Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ Mail: info at codesync.global #Concurrency #Kotlin
Watch
David MacIver - Can you make that smaller? An introduction to test-case reduction | Code Mesh LDN 19
This video was recorded at Code Mesh LDN 19 - http://bit.ly/37xc3Nr Get involved in Code Sync's next conference - http://bit.ly/2Mcm4aS --- CAN YOU MAKE THAT SMALLER? AN INTRODUCTION TO TEST-CASE REDUCTION by David MacIver THIS TALK IN THREE WORDS: Testing Debugging Tools TALK LEVEL: Intermediate ABSTRACT Debugging is the other hard part of programming, and it's made much harder when your only means of reproducing the bug is large and complicated. Often the easiest way to get to the bottom of the problem is to take your large, complicated, example and gradually replace it with a smaller, simpler, one that more clearly demonstrates the problem. That's called test-case reduction, and it's pretty boring to do by hand, so we have automatic tools called test-case reducers to do it for us. Unfortunately, outside of a few specialised areas, most people aren't using them. In this talk, I'll aim to fix that, by giving you an overview of what test-case reducers do, how they work, and some of the interesting problems that come up when using them. At the end you will be able to use off the shelf test-case reducers to simplify your debugging, and should understand how they work well enough that you could start to write your own if none of the off-the-shelf ones work for your problem domain. Slides & full abstract: https://codesync.global/speaker/david-maciver344/ --- THE SPEAKER - DAVID MACIVER Creator of Hypothesis David is a researcher and software developer, best known for Hypothesis, a property-based testing library for Python. After a decade in industry, he's currently taking a stint back in academia to do a PhD based on research he did in the course of writing Hypothesis. More on David MacIver: https://codesync.global/speaker/david-maciver344/ --- CODE SYNC & CODE MESH LDN 19 Code Mesh LDN is powered by Code Sync. Code Mesh LDN 19 was sponsored by WhatsApp, Microsoft, Erlang Solutions, Juxt, aeternity, Duffel, and IOHK. CODE SYNC Website: www.codesync.global Twitter: www.twitter.com/CodeMeshIO Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ Mail: info at codesync.global #Debugging #Testing #Tools
Watch
Yilin Wei - Do fish have legs: Language design for the commercial coder | Code Mesh LDN 19
This video was recorded at Code Mesh LDN 19 - http://bit.ly/37xc3Nr Get involved in Code Sync's next conference - http://bit.ly/2Mcm4aS --- DO FISH HAVE LEGS: LANGUAGE DESIGN FOR THE COMMERCIAL CODER by Yilin Wei ABSTRACT As backend developers, we often need to expose functionality to front-end UIs. Frontend developers demand that APIs are simple and extensible, leading to either constant upkeep or unsound, complex code. We will walk through a case study of creating an API in Scala for searches through the use of a DSL (Domain Specific Language). By taking inspiration from Lisp, language design and type systems, we will implement an API which will be secure, simple and extensible. Slides & full abstract: https://codesync.global/speaker/yilin-wei/ --- THE SPEAKER - YILIN WEI Yilin is a polyglot developer which means that his favourite language is constantly fluctuating. He is continually amazed at the variations in syntax that language designers have come up with and sees nothing wrong with brackets. Needless to say, he is an emacs user. More on Yilin Wei: https://codesync.global/speaker/yilin-wei/ --- CODE SYNC & CODE MESH LDN 19 Code Mesh LDN is powered by Code Sync. Code Mesh LDN 19 was sponsored by WhatsApp, Microsoft, Erlang Solutions, Juxt, aeternity, Duffel, and IOHK. CODE SYNC Website: www.codesync.global Twitter: www.twitter.com/CodeMeshIO Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ Mail: info at codesync.global #ProgrammingLanguages #Scala #API
Watch
Tyler McMullen - Lucet: Safe WebAssembly Outside the Browser | Code Mesh LDN 19
This video was recorded at Code Mesh LDN 19 - http://bit.ly/37xc3Nr Get involved in Code Sync's next conference - http://bit.ly/2Mcm4aS --- LUCET: SAFE WEBASSEMBLY OUTSIDE THE BROWSER by Tyler McMullen THIS TALK IN THREE WORDS: WebAssembly Open source Edge computing TALK LEVEL: Intermediate ABSTRACT Lucet is a new open source tool for compiling, embedding, and running WebAssembly outside the browser. It's made specifically for running untrusted code in a high concurrency and multi-tenant environment. In other words, it's made for taking the serverless model to the edge and beyond. Join Fastly CTO Tyler McMullen in a discussion on how Lucet was built, how it works, and the novel serverless models it's made to enable. Slides & full abstract: https://codesync.global/speaker/tyler-mcmullen/ --- THE SPEAKER - TYLER MCMULLEN Tyler is building a better internet. As CTO and part of the founding team at Fastly, he built the first versions of Fastly's Instant Purging system, API, and Real-time Analytics, while exponentially scaling the engineering team. Tyler McMullen is CTO at Fastly, the leading edge cloud platform, where he is responsible for evolving the system architecture and the company's technology vision. He leads a team of experienced technology innovators focused on internet scale, and working on future-facing, ambitious projects and standards. As part of the founding team at Fastly, Tyler built the first versions of Fastly's Instant Purging system, API, and Real-time Analytics, while scaling the engineering team tenfold. Prior to joining Fastly, Tyler worked on large scale web applications, text analysis, and performance. He can be found talking about edge computing, networking, and distributed systems all over the world. More on Tyler McMullen: https://codesync.global/speaker/tyler-mcmullen/ --- CODE SYNC & CODE MESH LDN 19 Code Mesh LDN is powered by Code Sync. Code Mesh LDN 19 was sponsored by WhatsApp, Microsoft, Erlang Solutions, Juxt, aeternity, Duffel, and IOHK. CODE SYNC Website: www.codesync.global Twitter: www.twitter.com/CodeMeshIO Facebook: https://www.facebook.com/CodeSyncGlobal LinkedIn: https://www.linkedin.com/company/code-sync/ Mail: info at codesync.global #Lucet #WebAssembly
Watch
Code Mesh LDN 2019 Highlights
Exploring Alternative Tech. Code Mesh is a London based conference promoting the non-mainstream technologies. A two-day conference that brings together users and speakers of different languages to share their innovative and inspiring projects. All in the spirit of exploring the alternative tech and learning from one another!
Watch