Strange Loop 2018
2018-09-26..2018-09-28
St. Louis, United States
[Strange Loop 2013, Strange Loop 2014, Strange Loop 2015, Strange Loop 2016, Strange Loop 2017, Strange Loop 2018, Strange Loop 2019, Strange Loop 2021, Strange Loop 2022, Strange Loop 2023]
who it's for
language designers, compiler engineers, software engineers, frontend developers, distributed systems engineers, machine learning engineers, data engineers
topics
reactive programming with rxjs; type-preserving WebAssembly linking types; tree-sitter parsing system; Rust and Node.js async design; session types for microservices; CRDTs and strong eventual consistency; Ray distributed system for AI workloads; TypeScript structural type system; constant-time programming language (FaCT); algorithms for DNA data storage
| title | author | length |
|---|---|---|
| Shaping our children's education in computing | Simon Peyton Jones | 51m |
England rewrites its school computing curriculum onto two sides of A4, yet only about one in ten students takes GCSE computer science and teachers lack… | ||
| Changing the World | Erica Joy Baker | 28m |
Tech built ad-targeting, mass harassment systems and propaganda machines; algorithms trained on biased arrest data used in sentencing literally affect lives… | ||
| All the Languages Together | Amal Ahmed | 52m |
Proposes that safe multi-language composition requires concrete annotations and compilers not vague promises: add linking types (e.g. linear types for… | ||
| Machine learning failures - for art! | Janelle Shane | 39m |
A set of concrete failures lets you pick: a keycard experiment where a cookie robot gets let into dorms 19% then 76% of the time; recurrent nets that invent… | ||
| The Hard Parts of Open Source | Evan Czaplicki | 47m |
Argues open‑source conflict comes from incentives not personalities, tracing causes to cybernetics, the Whole Earth Catalog, Bernays and modern nudge patterns… | ||
| Learning from machines | Ashi Krishnan | 34m |
Claims that artificial and biological vision share mechanisms and failure modes: DeepDream uses gradient ascent on Inception layers to amplify mid-layer… | ||
| Reactive Programming: A Better Way To Write Frontend Applications | Hannah Howard | 40m |
Claims that treating all UI data as time-varying streams simplifies frontend code, replaces tangled callbacks and subscription setup with declarative… | ||
| Generating Music From Emotion (and other experiments) | Hannah Davis | 30m |
Claims that novels and videos can be turned into coherent scores by mapping emotion curves to musical parameters using a word emotion association lexicon and… | ||
| Towards Language Support for Distributed Systems | Heather Miller | 43m |
Argues for moving correctness into the language by targeting two concrete problems: composing richer computations on CRDTs that provide strong eventual… | ||
| Rosie Pattern Language: Improving on 50-Year Old Regular Expression Technology | Jamie Jennings | 42m |
Rosie Pattern Language replaces brittle regex with a PEG-based engine that guarantees linear time matching across large inputs, ships as a C library with… | ||
| Running With Scissors: Live Coding With Data | Stuart Halloway | 40m |
Claims that REPL-driven development plus Clojure’s data-oriented idioms and spec make experiments fast and reliable, demonstrated with live examples: bespoke… | ||
| A Theory of Everything | Johnny Ray Austin | 40m |
Argues that programming languages are not the unifier and that a practical unifying claim is values alignment: choose and operationalize values like debate… | ||
| Chasing the Stream Processing Utopia | Kartik Paramasivam | 34m |
LinkedIn ingests trillions of events per day into Apache Kafka and processes them with Apache Samza plus Brooklin change capture, using local RocksDB state and… | ||
| Resurrecting a Recommendations Platform | Leemay Nassery | 32m |
Built a GPU-backed deep learning recommender while migrating a bare‑metal platform to AWS, keeping millions served. Replaces an 18‑hour batch transform with an… | ||
| Misuser | David Schmudde | 38m |
Claims that art misuses expose system bugs and inspire new DSL features, with concrete examples: archive work from the 1970s–90s requires emulation to run… | ||
| Design and Implementation of a Topic Detection System | Wes Chow | 41m |
Cortico builds a production event detector that turns a few million tweets a day (and thousands of hours of talk radio) into short-lived “events” by… | ||
| From the Inside Out: Building a City Vacancy Portal | Jonathan Leek, Laura Ginn | 39m |
A volunteer-built portal merges 12 different data sets into a comprehensive parcel dataset of about 130,000 rows to identify vacancy (roughly 8,000 vacant… | ||
| Making machines that make music | Srihari Sriraman | 43m |
Models Carnatic melody from mined audio, phonetic-matches Indic titles, and deduplicates clips into a dataset, then converts audio to frequency melographs and… | ||
| Identity & Trust in Monitored Spaces | Eleanor McHugh | 50m |
A concrete identity stack proves a remote human is over 18 using cryptography, anchored Merkle receipts and a black‑box store so no personal data is… | ||
| Democratizing AI - Back-fitting end-to-end machine learning | Joel Young, Bo Long | 50m |
LinkedIn rearchitects ML around four concrete layers — Exploring and Authoring, Training, Deploying, Running — and claims doubling modeler efficiency by… | ||
| Why I chose to modularize the ducks in my React App | Lauren Lee | 48m |
Rebuild replaces a massive index.html and a handlebars/mustache kludge with a React front end plus a Redux store that centralizes state for a Top 20 Most… | ||
| Making Games for 1920s Hardware | Mike Lazer-Walker | 32m |
A playable game called "Hello, Operator!" runs a JavaScript engine on a modern Mac Mini wired into a 1927 Western Electric 551A switchboard so players actually… | ||
| Rebuilding Optimizing Compiler for Dart | Vyacheslav Egorov | 41m |
History of the Dart compiler becomes concrete: a working AOT path is built from the JIT by using object-pool indirection and heap snapshots to serialize… | ||
| Gradual typing of Ruby at Scale | Dmitry Petrashko, Paul Tarjan | 39m |
Stripe builds a Sorbet typechecker for its million‑line Ruby mono repo, choosing a gradual nominal manifest type system with control‑flow dependent smart casts… | ||
| Data Driven UIs, Incrementally | Yaron Minsky | 36m |
Claims that an OCaml library called Incremental (OCaml) records dependency graphs to update only affected computations, and that the same code runs server-side… | ||
| Mill vs. Spectre: Performance and Security | Ivan Godard | 47m |
Claim: the Mill CPU architecture is immune to Meltdown/Spectre because it avoids hardware speculation while delivering speculative-like speed using deferred… | ||
| Hackett: a metaprogrammable Haskell | Alexis King | 34m |
Hackett embeds the Haskell type system inside Racket’s macro system and implements interleaved macroexpansion and typechecking (based on POPL 2017) so macros… | ||
| Justice For Sale | Brittany Wald | 41m |
The talk lays out concrete claims and interventions: the U.S. imprisons 2.3 million people and about half a million are jailed pretrial because they cannot pay… | ||
| Trusting Your Data Science Pipelines: A Quantitative Approach | Elijah ben Izzy | 39m |
Two Sigma describes building a Quantitative Reliability Engineering team that finds concrete failures and fixes: a Java 7 to Java 7 to Java 8 upgrade induces… | ||
| Picasso, Geometry, Jupyter | Ryan Herr | 31m |
Computationally replays Picasso’s eleven prints by computing pixel masks for the 11 prints and the ten transitions, producing color-coded diffs that mark… | ||
| Tree-sitter - a new parsing system for programming tools | Max Brunsfeld | 39m |
Tree-sitter is a C library with language bindings that provides a uniform C API, fast incremental parsing and robust error recovery for real-time editor use… | ||
| Your Secrets are Safe with Julia: A Compiler for Secure Computation | Jason Dagit | 39m |
Proof of concept compiler Ramparts converts a subset of Julia into integer arithmetic circuits for homomorphic encryption using Crucible symbolic execution and… | ||
| Ray: A distributed system for emerging AI applications | Stephanie Wang, Robert Nishihara | 42m |
Ray is an open source distributed system that implements task and actor abstractions for Python ML workloads, with a C++ backend, Python workers, an in‑memory… | ||
| Proof Theory Impressionism: Blurring the Curry-Howard Line | Dan Pittman | 35m |
Claim: bridge the gap between program and proof by extracting denotational semantics from Rust into a dependently typed checker. Uses Rust type-level naturals… | ||
| Machine Learning for Personalised Health | Danielle Belgrave | 26m |
Probabilistic modelling and latent‑variable graphical models are used to disaggregate heterogeneous disease into actionable subgroups, applied with… | ||
| Validating Big Data Pipelines & ML (w Spark & Beam) | Holden Karau | 40m |
Focus on concrete checks: run Spark & Beam examples that emit counters and compare counts or percentages against historical baselines; flag if input parse… | ||
| A Tale of Two Asyncs: Open Source Language Design in Rust and Node.js | Ashley Williams | 47m |
Compares concrete design decisions: Node.js chooses callback/Promise/async await ergonomics built atop libuv event loop while Rust composes Tokio and futures… | ||
| Privacy: the Last Stand for Fair Algorithms | Katharine Jarmul | 38m |
Argues that privacy protects fairness by design and shows concrete methods: differential privacy as a formal guarantee, learned fair representations that… | ||
| Contracts For Getting More Programs Less Wrong | Rob Simmons | 37m |
Explains how executable contracts (using JML and the CMU teaching language C0) move tests toward full correctness by enforcing preconditions, postconditions… | ||
| A Practical Look at Performance Theory | Kavya Joshi | 38m |
Uses Little's Law and the Universal Scalability Law to turn queues into concrete predictions: a single-threaded web server shows a hockey‑stick response curve… | ||
| Architecting for Active-Active Resiliency in the Cloud | Steven Dang | 30m |
Explains concrete tradeoffs: active‑active reduces downtime but multiplies cost and complexity, while three replicas → 31 seconds downtime quantifies benefit… | ||
| Browser Testing using Grammars and a Consensus Oracle | Joel Martin | 43m |
Generates HTML/CSS from spec-derived EBNF, compiles those grammars into generators, and runs property-based tests that shrink failing cases to minimal… | ||
| Categories for the Working Hacker | Philip Wadler | 42m |
Shows concrete equivalences: products (records/pairs) and sums (disjoint unions/variants) correspond to conjunction and disjunction, and functions are… | ||
| Soul from Scratch: Designing a More Portable Organ | Peter Teichman | 38m |
Recreates a Hammond B‑3 plus Leslie 122 in software and runs it on a microcontroller: original Arduino attempt fails for timing and can only mix a third of 91… | ||
| Some things may never get fixed | Rachel Kroll | 41m |
Tales about concrete failures and fixes: corporate timekeeping goes months without a working $15,000 rack NTP appliance, thousands of machines drift because… | ||
| Puzzles, Problems, and Programs | Chris Martens | 40m |
Argues that aligning mental models happens by iterative informative failure and shows it across puzzles, problems, and programs. Demonstrates with Bongard… | ||
| Leverage vs. Autonomy in a Large Software System | Jake Donham | 37m |
Argues that centralizing common ops and patterns raises engineer leverage while preserving autonomy via tiny deployable units; Twitter runs Aurora/Mesos and… | ||
| Mapping Imaginary Cities | Mouse Reeve | 41m |
A procedural city generator is implemented in JavaScript, rendered with p5.js, and uses simplex noise for terrain, midpoint displacement to carve coastlines, a… | ||
| A Box of Chaos: The Generative Artist's Toolkit | Benjamin Kovach | 40m |
Generative art uses explicit methods not promises: code is Haskell calling Cairo bindings for Haskell, seeded pseudo‑randomness produces reproducible… | ||
| Building a Canary Testing Framework | Iheanyi Ekechukwu | 42m |
A working canary framework that runs continuously in production claims to catch real regressions not visible to end‑to‑end suites: it uses a Go daemon to… | ||
| The Glitching Hour | Amy Wibowo | 22m |
Covers Bitmap and JPEG specifics: how JPEG uses the DCT, quantization matrices, and chroma subsampling so photos can shrink to 1/10 the original file size with… | ||
| PANOPTES: Open Source Exoplanet Discovery | Jen Tong | 43m |
PANOPTES builds low-cost robotic telescopes from off-the-shelf parts — Canon SL2 bodies with off-brand 85mm prime lenses, an equatorial mount, Intel NUC… | ||
| Understanding Microservices with Distributed Tracing | Lita Cho | 31m |
Shows that instrumenting microservices with OpenTracing and vendor tools like Jaeger or LightStep yields concrete wins: zero‑touch collection via an Envoy… | ||
| Building Financial Systems on Eventually Consistent DBs | Rahul Pilani | 26m |
Billing platform for Netflix migrates from MySQL to Cassandra to gain horizontal scale and multi‑region availability for 125M+ customers, trading ACID for… | ||
| FaCT: A New Language for Constant-Time Programming | Sunjay Cauligi | 32m |
FaCT is a domain specific language that compiles high-level code into constant-time assembly and embeds into C Python and Haskell toolchains. It rejects… | ||
| The Magical Rebalance Protocol of Apache Kafka | Gwen Shapira | 41m |
Kafka hides a generic coordination protocol that implements client-side partition assignment via a two-step join+sync with leader election, heartbeats and… | ||
| Scalable Anomaly Detection (with Zero Machine Learning) | Arthur Gonigberg | 41m |
Claim: a real-time anomaly detector built on Zuul event streams and Mantis scales to thousands of nodes and handles millions of requests per second while using… | ||
| Vellvm - Verifying the LLVM | Steve Zdancewic | 40m |
Vellvm formalizes LLVM IR semantics in Coq, extracts an OCaml interpreter that runs real .ll files, and implements a verified register‑promotion pipeline (a… | ||
| A Little Taste of Dependent Types | David Christiansen | 39m |
Builds a tiny language called Pie, shows concrete definitions of plus and double using eliminators because Pie forbids raw recursion, and constructs a… | ||
| A Funny Thing Happened On The Way To Reimplementing AlphaGo | Xuanyi Chew | 37m |
A reimplementation of AlphaZero in Go uses the gorgonia family (a Tensor-like library) and ships a playable engine with MCTS and CUDA flags; distributed… | ||
| Understanding TypeScript's Structural Type System | Drew Colthorp | 38m |
Claims that TypeScript is a structural type system not nominal, that it runs as an NPM package plus compiler and language server, and that teams use it at… | ||
| Type-Driven Program Synthesis | Nadia Polikarpova | 40m |
Claims an automatic, SMT-backed refinement type checker that turns specifications into code and produces machine-checked guarantees. Synquid synthesizes… | ||
| Algorithms for DNA Data Storage | Ruthie Nachmany | 30m |
Claims: Microsoft encodes 35 files totaling 200 megabytes in ~2 billion nucleotides, later demonstrates random access from a library of >10 million… | ||
| The bots that help run Wikipedia | Niharika Kohli | 27m |
Bots make about 50,000 edits every day on English Wikipedia and the ecosystem includes tools like the Internet Archive bot that replaces dead links, ClueBot NG… | ||
| Freeing the software that runs our elections | Roan Kattouw | 35m |
Claims that open-source election software cuts costs and increases auditability are backed here by concrete moves: San Francisco allocates 1.7 million dollars… | ||
| The Search for a New Visual Search, Beyond Language | Bryan Minor | 43m |
Shutterstock deploys a launched system called composition aware search that claims faster, more precise image retrieval across 150 million assets by combining… | ||
| Software Performance: A Shape Not a Number | Kay Ousterhout | 32m |
Claim: measure latency as a shape not a number, using unsampled histograms instead of averages or lone percentiles. The talk shows Lightstep-style distributed… | ||
| Isolation without Containers | Tyler McMullen | 32m |
Claims that WebAssembly plus an ahead‑of‑time compiler and runtime can isolate thousands of sandboxes in a single process and hit production scale: seven… | ||
| Moving from 1 to N regions: an open retrospective | Andrew Bloomgarden | 37m |
Project turns New Relic from a one-region rollout into an N-region pattern by changing 500 services across ~50 teams to run anywhere, avoiding doubled ops. The… | ||
| You are a Program Synthesizer | James Koppel | 40m |
Claims that program synthesis lessons make programmers better are supported with concrete methods and demos: deductive synthesis and constraint-based synthesis… | ||
| Designing Augmented Reality Systems for Speed | Diana Hu | 38m |
Niantic-era systems push concrete choices: a peer-to-peer mesh between phones and cell towers yields round trips in the tens of milliseconds so 30 fps budgets… | ||
| Hazel: A Live Functional Programming Environment with Typed Holes | Cyrus Omar | 44m |
A web-based live programming environment implements an Elm-like language that automatically inserts typed holes so every editor state has both a static type… | ||
| How we've made a global search engine for genetic data | Miro Cupak | 35m |
A federated search called Beacon Network maps queries across over 100 beacons from 40 institutions in 18 countries, touching an estimated 2 million samples and… | ||
| Musical Steganography: Hiding Things in Music | Scott Fradkin | 38m |
Shows concrete methods and working demos: implements substitution ciphers (German and French alphabets) and encodes text into notes using TidalCycles and… | ||
| Git from the Ground Up | Safia Abdalla | 34m |
Shows concrete internals: actual commands and outputs (git clone, git cat-file, git add/commit/push), prints SHA-1s and object contents, and inspects… | ||
| Flare: Optimizing Apache Spark for Scale-Up Architectures and Medium-Size Data | Gregory Essertel | 36m |
Flare is an accelerator module for Apache Spark that compiles DataFrame/SQL plans into low-level C code generation binaries that bypass JVM/RDD iterator… | ||
| For AI, By AI: Freedom & Evolution of the AlgoPoetic Avant-Garde | Connor Walsh | 33m |
A live system called New Yorken Poesry Magazine has AIs that write, critique and optionally retrain themselves, running as Docker containers on a cloud… | ||
| Scala DSLs and Probabilistic Programming | Joe Wingbermuehle | 33m |
ScalaStan is an embedded DSL that generates Stan models from Scala and enforces correctness via the Scala type system, implicits and implicit evidence. It… | ||
| Of Data Dropboxes and Data Gloveboxes | Clay Baenziger | 37m |
Claim: isolate sensitive data while still letting analysts compute on it. Uses Hadoop primitives—HDFS REST with checksums for Data Dropbox put only semantics… | ||
| Building Senior Engineers | Dalton Mitchell | 40m |
Argues that interviews are the highest-leverage place to build senior engineers and gives concrete practices: define clear hiring values, ask questions that… | ||
| "It's Just Matrix Multiplication": Notation for Weaving | Lea Albaugh | 38m |
Claim: weaving drafts are literally binary matrix arithmetic, where treadling × tie‑up^T × threading produces the final interlacement using AND-like logic and… | ||
| nothing matches | ||