Strange Loop 2014
2014-09-17..2014-09-19
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]
| title | author | length |
|---|---|---|
| The Mess We're In | Joe Armstrong | 46m |
A sequence of concrete failures and numbers drives the argument: desktop tools break workflows (OpenOffice loses images, Keynote versions conflict, unable to… | ||
| Our Shared Joy of Programming | Carin Meier, Sam Aaron | 47m |
Claim: simple code becomes real music and performance. Sonic Pi and Overtone get ported to Raspberry Pi, funded by Arts Council and schools work, letting… | ||
| Inside the Wolfram Language | Stephen Wolfram | 01h 09m |
A large, practical tour: the Wolfram Language unifies Wolfram|Alpha knowledge with a symbolic programming core, shows 5,000 built-in functions, runtime cloud… | ||
| Programming Should Eat Itself | Nada Amin | 48m |
Argues that interpreters can be stacked and mutated so programs describe and change their own semantics, and demos a reflective language called Black… | ||
| Transducers | Rich Hickey | 45m |
Claims that Clojure’s transducers make map/filter/mapcat into context-free transformations that compose left-to-right, avoid creating no intermediate… | ||
| Shenandoah: An open source pauseless GC for OpenJDK. | Christine H. Flood | 31m |
Shenandoah implements concurrent evacuation for OpenJDK by doing marking and copying while Java threads run, using regioned heaps, work‑stealing parallelism… | ||
| React: RESTful UI Rendering | Pete Hunt | 36m |
Claims that React reframes UI rendering as a RESTlike architecture and shows concrete wins: a virtual DOM diffing engine that computes minimal DOM ops, event… | ||
| Scaling League of Legends Chat to 70 million Players | Michal Ptaszek | 39m |
Claim: League chat serves ~67 million monthly users, ~7.5 million concurrently, and routes 1 billion events a day. Implementation uses XMPP on a heavily… | ||
| Testing Distributed Systems w/ Deterministic Simulation | Will Wilson | 40m |
Claims a deterministic simulation replaces disks, links and machines with transparent software so failures replay exactly; implements a custom concurrency… | ||
| The Sociology of Programming Languages | Leo Meyerovich | 42m |
Empirical claims: analysis of 600,000+ open-source projects plus surveys totaling 15,600 responses shows a clear long tail of languages — a few general winners… | ||
| Type Systems - The Good, Bad and Ugly | Paul Snively, Amanda Laucher | 38m |
The claim "not all type systems are good" gets unpacked into a concrete comparison framework: an informal hierarchy and the Lambda Cube framework, tradeoffs… | ||
| Idris: Practical Dependent Types with Practical Examples | Brian McKenna | 41m |
Idris compiles executable dependent‑type code and shows concrete outcomes: proved associativity of bitwise or using tactics and proof search, implemented typed… | ||
| Typed Clojure in Practice | Ambrose Bonnaire-Sergeant | 42m |
An optional type system called Typed Clojure claims to catch real bugs and document code and is implemented as core.typed with features like occurrence typing… | ||
| Consistency without consensus in production systems | Peter Bourgon | 41m |
Argues that provable consensus‑free consistency is practical: CALM, ACID 2.0 and CRDTs yield real guarantees; SoundCloud builds Roshi, a production CRDT-backed… | ||
| Write the Other Half of Your Program | Jason Hemann, Daniel Friedman | 40m |
A tool converts carefully written functions into mini canron relations by systematically adding an output argument, replacing conditionals with coni/cond-style… | ||
| DOMStep: Audio Synthesis, AI and a JavaScript Dance Party | Jamison Dance | 37m |
A live browser dubstep band is built using the Web Audio API (AudioContext, oscillators, biquad filters, gain nodes) plus buffer loading and scheduled play via… | ||
| Vulpes: A functional approach to deep machine learning on the GPU | Rob Lyndon | 44m |
Open source Vulpes is written in F# and uses QuantAlea's CUDA monad to push matrix work to the GPU, composing kernels so launches stay cheap and memory copies… | ||
| A core.async Debugging Toolkit | David McNeil | 42m |
A library reimplements core.async primitives to run asynchronous functions inside a controllable step machine that records thread and channel state, captures… | ||
| Highly Concurrent Services with Finagle & Clojure | Sam Neubardt | 36m |
Finagle is an open source library developed by Twitter for building highly concurrent RPC systems on the JVM. Essentials such as service discovery and… | ||
| Liberating the Smalltalk lurking in C and Unix | Stephen Kell | 41m |
Claims an actual toolchain extension and runtime rather than vague philosophy: a wrapper that captures DWARF metadata at compile time, an LD_PRELOAD runtime… | ||
| Nashorn: implementing a dynamic language runtime on JVM in 2014 | Attila Szegedi | 45m |
Nashorn compiles JavaScript to JVM bytecode, uses invoke dynamic, and ships as ECMAScript 5.1 in OpenJDK; it passes the 11,500‑test suite. It implements… | ||
| Art.js: Transfigure Data to Create 21st Century Art | Sarah Groff Palermo | 36m |
Claims that data-as-art communicates experience not just facts and shows how to make it with concrete tools: JavaScript, d3,js, Mapbox/Leaflet and Node… | ||
| Building Analog Displays for Your Data | Larry Ogrodnek | 36m |
The tick tock of an antique clock. The click and whir as the odometer in a classic car rolls to the next mile. There’s something comforting and familiar about… | ||
| Democratizing Hardware | Chris Williams | 43m |
Argues that hardware programming is stuck in the 1980s and shows concrete fixes: JavaScript plus node.js and node-serialport with johnny-five and live REPL… | ||
| Analyzing Rap Lyrics Using Python | Julie Lavoie | 31m |
Counts profanity to approximate sexism using a scraped Rap Genius corpus of 2700 songs, gathered for 32 artists by dumping HTML with a Firefox plugin to dump… | ||
| Practical Fractals in Space | Michelle Brush | 38m |
Argues that space‑filling curves truly map multi‑dimensional keys into a single order that preserves locality and gives concrete implementations: bit… | ||
| Web Apps without Web Servers | Richard Feldman | 40m |
Demo shows a full writing app called dreamwriter.doio built with only static files on Amazon S3 and the HTML5 appcache, letting new documents, drag‑open files… | ||
| Distributed SWI-Prolog Development | Anne Ogborn | 35m |
Claims that Pengines gives clients an ultra‑lightweight Prolog VM over HTTP, not more endpoints, and shows a working JavaScript client and Prolog client… | ||
| Retaking Rules for Developers | Ryan Brush | 39m |
Argues for treating rules as a host-language control structure rather than a business-only DSL, combining functional ideas with a production-style engine: uses… | ||
| Production Prolog | Michael Hendricks | 40m |
Prolog powers a production system at PriceCharting for 18 months and delivers concrete wins: the execution model is unification plus backtracking, a reversible… | ||
| Building Real-time Systems with Open Source Technologies | Gian Merlino, Fangjin Yang | 32m |
Claims a working real-time analytics stack built with Kafka Storm Druid Hadoop that handles over 10 terabytes daily and trillions of events, where most queries… | ||
| Concurrency Options on the JVM | Jessica Kerr | 42m |
Contains concrete details: which thread pools (single, cached, fixed, ForkJoinPool), how to set keepAlive and daemon threads, when to call shutdown and… | ||
| Controlling Time and Space: understanding the many formulations of FRP | Evan Czaplicki | 41m |
Clear claim: FRP splits into concrete designs with tradeoffs — Elm's static signal graphs (signals tied to the world, synchronous, efficient), higher‑order FRP… | ||
| PureScript (Maybe This Time We Get JavaScript Right) | Bodil Stokke | 45m |
Builds a compact game engine for tiny browser ads, first trying TypeScript + RxJS then switching to PureScript and Bacon to meet strict size limits; PureScript… | ||
| EventRacer: Finding Concurrency Errors in Event-Driven Applications | Pavol Bielik | 32m |
We have recently shown that event-driven applications such as Web pages and Android applications are susceptible to concurrency errors. Perhaps… | ||
| The challenges and benefits of a functional reactive frontend | Ian Davis | 38m |
Claims that a frontend built with ClojureScript with core.async and Om (React) centralizes a single app state and makes UIs purely functional are supported by… | ||
| All of this has happened before, and it will all happen again. | Mark Allen | 40m |
Using primary sources the talk traces concrete claims and artifacts: the first automatic compilers that become FORTRAN in 1957 and whose compiled output… | ||
| Function Passing Style: Typed, Distributed Functional Programming | Heather Miller | 42m |
Claims a concrete programming model called Function-Passing: typed, serializable closures (spores) travel to stationary, immutable data containers (silos)… | ||
| The Eight Fallacies of Distributed Computing | Stephen Asbury | 33m |
A compact list of eight concrete claims — latency is zero, bandwidth is infinite, the network is secure — backed by specifics: a backhoe and sharks severing… | ||
| Visualizing Persistent Data Structures | Dann Toliver | 37m |
Claims that interactive animations clarify persistent structures and serve as profilers get tested by a tiny JavaScript visualizer that flattens snapshots into… | ||
| Turning the database inside out with Apache Samza | Martin Kleppmann | 48m |
Claim: turn the database inside out by making the immutable commit log the primary data model and building materialized views from it. Implementation uses… | ||
| Coder Decoder: Functional Programmer Lingo Explained, with Pictures | Katie Miller | 39m |
Seven concrete Haskell concepts get explained with code and pictures: seven terms (referential transparency, higher‑order functions, currying, closures… | ||
| Benchmarking: You're Doing It Wrong | Aysylu Greenberg | 35m |
Benchmarking that starts measuring immediately on one image accessed 1,000 times, takes three runs and reports the mean is misleading: caches (L1/L2/L3, app… | ||
| Taming the 9s | Ariel Weisberg | 46m |
Claim: hit a product goal of Five 9s under 5 ms for an in‑memory ACID datastore but finds it hard to reach; work reduces long‑tail latency by applying… | ||
| Fast, secure, safe: the web that can still be | Chris Morgan | 36m |
Claims that switching from dynamic languages to Rust cuts bugs and server count with concrete examples: Twitter expects ~10x throughput from replacing Ruby… | ||
| Cap'n Proto and Rust: Type Systems for Sharing | David Renshaw | 41m |
Claims that Cap'n Proto + Rust deliver a zero-copy message format with identical memory and on‑the‑wire representation, a Rust library that enforces lifetimes… | ||
| How types can turn a SQL interpreter into a SQL compiler | Tiark Rompf | 41m |
A 3,000–4,000 line Scala prototype called LegoBase generates low-level C and achieves up to >10x (peak) speedups versus commercial DBs and up to 20x versus… | ||
| Deterministic Memory Management for Managed Runtimes | Aaron Bedra | 40m |
Following close on the heels of heartbleed we have seen a resurgence in questioning C as the implementation choice for critical infrastructure. With… | ||
| The Road to Akka Cluster, and Beyond | Jonas Bonér | 44m |
Grounding distributed theory (FLP, CAP, Lamport clocks) into an implemented system, Akka Cluster uses epidemic gossip with vector clocks, a SWIM-like failure… | ||
| Simulation Testing | Michael Nygard | 42m |
Simulation testing treats testing as a search for failing trajectories through state space, using controlled randomness to generate repeatable scripts and… | ||
| Jepsen II: Linearizable Boogaloo | Kyle Kingsbury | 45m |
Jepsen runs generative tests and a nasus verifier checks histories for linearizability; an automated 48-core moon laser lab consumes 97% CPU to stress… | ||
| Dynamic programming at ease - with Grammars, Algebras, Products | Stefanie Schirmer | 37m |
Claim: dynamic programming for sequences becomes index-free and modular by describing candidates as tree grammars, scoring/choice as evaluation algebras, and… | ||
| Time Series Data With Apache Cassandra | Eric Evans | 34m |
Whether it's statistics, weather, astronomy, finance, or network management, time series data plays a critical role in analytics and forecasting… | ||
| etcd: distributed locking and service discovery | Brandon Philips | 42m |
etcd claims to give reliable distributed locking and service discovery via an accessible HTTP+JSON API and a Raft-based consensus core. It shows a working… | ||
| Ludicrous Speed: Designing For Performance on the JVM | Cliff Moon | 40m |
Claims JVM now outperforms C++ in many low‑latency domains and a real system processes 2 trillion metrics per day. Concrete tools and results: use hppc to… | ||
| Shen: A Sufficiently Advanced Lisp | Aditya Siram | 40m |
Shen claims a full Lisp in under 5000 lines with a macro system, embedded Prolog and an optional type system the uploader calls more powerful than Haskell’s… | ||
| Towards "annex", a Fact Based Dependency System | Mark Hibberd | 44m |
A dependency system called annex implements a fact store and logic query language (built in Haskell) that stores immutable worlds in content-addressable… | ||
| Spreadsheets for developers | Felienne Hermans | 39m |
Argues spreadsheets are real code by implementing a Turing complete machine and a working selection sort purely with formulas, using OFFSET/INDIRECT… | ||
| You can be a kernel hacker! | Julia Evans | 34m |
Claim: kernel hacking is approachable and immediately useful, not mystical. Concrete tools shown include strace for watching system calls, perf and ftrace for… | ||
| Mesos: The Operating System for your Cluster | David Greenberg | 42m |
Mesos claims to act like an OS for a data center: tens of thousands of CPUs cluster-scale deployments, Docker-based packaging, and an offer model that inverts… | ||
| Haste: Full-Stack Haskell for Non-PhD Candidates | Erin Swenson-Healey, James Cooper | 41m |
Haste compiles Haskell to JavaScript and demonstrates concrete, usable features: DOM manipulation, HTML5 canvas animation, localStorage, XHR, and type-safe RPC… | ||
| Clojure in Unity 3D: Functional Video Game Development | Ramsey Nasser, Tims Gardner | 46m |
An open-source Clojure runtime is grafted into Unity 3D so Clojure runs inside the Unity editor and exports with the engine; a REPL lets code mutate the scene… | ||
| Writing a game in Haskell | Elise Huard | 30m |
A working 2D game prototype in Haskell that actually runs and shows a little alien resurrecting creatures using OpenGL + GLFW for graphics, OpenAL sound for… | ||
| The Internet of Things in Practice | Yodit Stanton | 39m |
We are at the dawn of an age of connected things, Internet of Things (IOT), some predict that there will be 25 billion new connected devices over the new few… | ||
| FRP In Practice: Taking a look at Reactive[UI/Cocoa] | Paul Betts | 46m |
GitHub Desktop apps for Mac and Windows migrate UI code to Functional Reactive Programming using ReactiveCocoa + ReactiveUI, turning events, network calls and… | ||
| Elixir and the Internet of Things | Doug Rohrer | 45m |
Claims that Elixir/Erlang handle IoT scale are backed by code and numbers: a proof of concept of about 500 lines of code runs 40–50k processes per node and… | ||
| How to make error handling less error-prone | Daira Hopwood | 48m |
Argues for language support that provides automatic rollback of caller state so failures cannot leave objects inconsistent shows how that yields a strong… | ||
| Onyx: Distributed Workflows for Dynamic Systems | Michael Drogalis | 36m |
Onyx is a Clojure distributed computation system that reifies workflows as maps and plain functions, uses a catalog + plugins to swap inputs like core.async or… | ||
| Aeron: Open-source high-performance messaging | Martin Thompson | 43m |
Aeron is an open-source, Java-first messaging stack (C++ interop planned) that builds a persistent replicated log in mapped log buffers and uses a… | ||
| nothing matches | ||