Erlang Factory SF Bay Area 2014
2014-03-06..2014-03-07
San Francisco Bay Area, United States
who it's for
erlang developers, elixir developers, backend engineers, platform engineers, site reliability engineers, embedded developers, tooling engineers
topics
ETS concurrency patterns; DTrace-based profiling; Erlang VM scheduler tuning; N2O web framework; Cowboy websockets with MessagePack; Elixir macros and pipes; RefactorErl semantic analysis; Riak Ensemble Paxos framework; RabbitMQ telematics pipeline; Lucene interop via Erlang-Java
| title | author | length |
|---|---|---|
| Comparison and Commentary on "Application Operating System" | C. Thomas Stover | 40m |
Argues that Erlang/BEAM is less about magic and more about tradeoffs: Erlang uses hundreds of thousands of lightweight fiber-like processes to mitigate… | ||
| RefactorErl supports your Daily Work! | Melinda Toth | 52m |
RefactorErl parses Erlang at compile time, builds a semantic program graph and runs data‑flow to resolve mfa/applies and conservative side‑effect analysis… | ||
| Memory Management: Battle Stories | Lukas Larsson | 42m |
Explains concrete allocator changes and measured effects: synthetic e-stone runs faster with allocators disabled while a 4G telecom benchmark shows ~50%… | ||
| LFE from 0 to 120kph... in 45 Minutes | Duncan McGreggor | 42m |
LFE is a Lisp that runs on Erlang/OTP and uses rebar and an lfe-tool to generate scripts, libraries and OTP services; the demo creates AWS and Rackspace… | ||
| Profiling Applications using DTrace | Mark Allen | 42m |
DTrace provides external, non‑instrumenting visibility into the Erlang VM and OS: Erlang ships 41 Erlang DTrace probes (spawn, exit, send, BIFs, scheduler… | ||
| VM Tuning, Know Your Engine - Part III: The Scheduler | Erik Stenman | 48m |
A real debugging story about the Erlang scheduler: a single scheduler falls asleep and then runs term_to_binary on 600 megabyte rows while that function only… | ||
| N2O - The Most Powerful Web Framework | Maxim Sokhatsky | 43m |
N2O is a fork of Nitrogen that trades Nitrogen’s heavy process registry for removed process registry and runs entirely in Cowboy worker contexts, switches to… | ||
| Erlang + CZMQ: Scalable, Secure, Cross Language Messaging | Garrett Smith | 54m |
An Erlang wrapper around CZMQ (a C binding for ZeroMQ) is shown by building a tiny JSON pretty‑printer: a Python process binds a REPLY socket on TCP:5555, the… | ||
| Eliminating Single Process Bottlenecks with ETS Concurrency Patterns | Jay Nelson | 46m |
Describes concrete ETS-based concurrency techniques: use partitioned keys and table sharding, avoid supervisor-as-router bottlenecks with a rest_for_one… | ||
| D3 + Websocket for Live Web Applications | Loïc Hoguin | 46m |
Combines D3 data binding with a Cowboy websocket + MessagePack stream to build a live monitoring UI called shaman fed by an event probe library alien; current… | ||
| A Backpack to Go the Extra-Functional Mile | Laura M Castro | 52m |
A set of Erlang tools aims to make testing concrete: Smother (MCDC coverage) reports which decision combinations hit a line instead of just which lines ran… | ||
| Distributed Robots with Elixir | Robby Clements, Josh Adams | 27m |
Repositories show Sphero and Parrot ports lifted from Ruby into Elixir using structs/maps and gen_server clients that emit serial or UDP bitstreams. An Android… | ||
| Erlang IDE done right | Sergey Savenko, Sergey Ignatov | 38m |
Two-year IntelliJ Erlang plugin with several thousand users shows concrete features: navigation, intentions and refactorings that introduce/extract variables… | ||
| Lucene Server: From Erlang to Java and Back Again | Fernando Brujo Benavides | 36m |
Builds an OTP application that runs Lucene inside a Java node and talks to it from Erlang via JInterface, shipping a Java gen_server-like behavior so Erlang… | ||
| Connecting the Internet of Things | Bryan Hughes | 49m |
Claims Erlang is ideal for IoT because fine‑grained processes, supervisors and hot code upgrades let a platform scale and tolerate failure while routing… | ||
| An Open Erlang PaaS Done Right | Vladimir Kirillov | 31m |
Aims to make Erlang deployments reproducible by shipping apps as single immutable images and minimizing third‑party moving parts, using voxels plus containers… | ||
| Software Defined Networking | Stuart Bailey | 50m |
Claim: a pure-software OpenFlow stack written in Erlang can match useful packet rates and low latency. Implementation details: an Erlang soft switch link (and… | ||
| Intro to Haskell for Erlangers | Bob Ippolito | 53m |
Haskell claims practical advantages over Erlang: lightweight threads use half the size of an Erlang process, GHC applies cross-module rewrite rules that fuse… | ||
| Bitcoin & Elixir: Living the Cutting Edge | Yurii Rashkovskii | 48m |
Built a native Elixir bitcoin parser alongside a bitcoind reference node; basic protocol works after one night, confirmation logic takes four months of work… | ||
| Write Less, Do More (and Have Fun!) with Elixir Macros | Chris McCord | 52m |
Claims that macros let code write code are demonstrated by building an assert macro and mini testing DSL that pattern matches quoted AST (three-element tuples)… | ||
| Pipe Dreams - Getting More out of Elixir Pipes | Bruce Tate | 51m |
Shows macros that rewrite Elixir pipes at compile time to handle real problems: implements pipe_while to stop piping when a pattern (like an error tuple)… | ||
| Sneaking Erlang in Through the Back Door | Bernard Duggan | 44m |
Company adopts Erlang gradually starting 2007 to handle 10,000 phones per server, replacing brittle C++ hotspots with services that actually work in… | ||
| Real Time Performance at Massive Scale | Francois Orsini | 40m |
Machine Zone describes an Erlang-based realtime stack that handles spikes from 5M to 40M DAU, sustaining ~100–500k concurrent users and broadcasting to 3.5M… | ||
| Building an IP Network Camera | Frank Hunleth | 46m |
A working IP camera streams at about 45 fps using Beaglebone + PRU real-time capture feeding a C external port that JPEG-encodes frames with motion JPEG via… | ||
| mod kazoo Crossing Language Barriers for Fun and Profit | Karl Anderson | 40m |
Shows how a bottleneck in the original mod erlang event forced a rewrite into mod kazoo that splits control RPCs from one-way event streams, moves event… | ||
| Finding the Needle in the Haystack or Troubleshooting Distributed Systems | Anthony Molinaro | 41m |
Claims that cross-language tracing fixes hard-to-find application errors by attaching two injected IDs to a request, logging structured JSON events, and… | ||
| Performance Optimization 101 | Louis-Philippe Gauthier | 36m |
An HTTP server example shows the real bottlenecks and fixes: the acceptor loop suffers from expensive controlling process switches so worker processes accept… | ||
| That's 'Billion' with a 'B': Scaling to the Next Level | Rick Reed | 49m |
WhatsApp runs Erlang R16B01 with about 400–500M monthly users, ~19B messages in and ~40B out per day, peaks near 150M concurrent and 230k connects/sec… | ||
| Live Distributed Spying | Brian Mitchell | 46m |
Live Erlang code can be spied on without changing it by using match specs and the built-in trace machinery to attach to new pids, follow spawn/link, and… | ||
| On the Scalability of the Erlang Virtual Machine and its Term Storage | Kostis Sagonas | 52m |
Benchmarks use the open benchErl suite and real apps to show which VM changes actually move the needle: lock‑free scheduler queues, a new allocator… | ||
| From delayed polling to Real-Time Telematics with RabbitMQ and Erlang | Brett Cameron, Natalya Arbit | 47m |
Lucid Logistics replaces slow polling with a PubSubHubbub-style pipeline built on RabbitMQ and Erlang using the rabbit_hub plugin to push SBD telemetry (10–20… | ||
| Cuttlefish Easing the Pain of Configuration | Joe DeVivo | 47m |
Cuttlefish is a schema-driven config tool that turns a simple human file (react.conf) into Erlang app.config and vm.args, validates types (durations, sizes… | ||
| Star Trek: revisited in Lua and Erlang | Kenji Rikitake | 50m |
Porting BSD Trek, the project uses gglobal to analyze the original C, ports core logic to Lua, then reimplements the game in Erlang (R16B03-1) as a… | ||
| Step By Step Guide to Building an Application Analytics System | Anton Lavrik | 41m |
An internal analytics pipeline called WAM ingests events from ~0.5 billion users (roughly 0.5 trillion events/day, ~5 TB/day before compression), stores… | ||
| Keynote Catalyse Change | José Valim, Dave Thomas | 48m |
Erlang/Elixir adoption stalls on practical friction: confusing web docs and search results, rebar commands that overwrite source, console error dumps printed… | ||
| Scaling ACID SQL | Henning Diedrich | 42m |
Describes using VoltDB with native Erlang driver (no C) and Java stored procedures, horizontal partitioning by a customer-centered snowflake primary key, and… | ||
| Caching Strategies for an Erlang Based Web Stack | Enrique Paz Perez | 36m |
Two open source caching tools are presented: a memcached client layer that pairs with mcashd + Moxy for distributed, restart-surviving caches, and an in-node… | ||
| Erjang With the JVM under the Hood | Kresten Krab Thorup | 49m |
Erjang compiles BEAM modules to JVM bytecode at load time and runs OTP (shell, inet, distribution, NIFs) on Java 7, using Kilim bytecode rewriting for… | ||
| Riak Ensemble A Paxos based Framework for Scalable, Consistent Systems | Joseph Blomstedt | 47m |
Riak Ensemble is a Paxos‑based library that gives per-key atomic updates by treating each key as a microstate and running multi‑Paxos with leader leases, so… | ||
| Planning for Overload | Fred Hebert | 44m |
Argues that overload must be planned for not treated with bigger limits alone, and shows concrete tools and results: use po_box / batch_io at Heroku to buffer… | ||
| SumoDB a Clean Persistence Layer for Erlang OTP | Marcos Almonacid | 19m |
A lightweight Erlang persistence layer that turns entity modules into database records by implementing three callbacks (sumo_schema, sumo_sleep, sumo_wake_up)… | ||
| Centralized Counters in a Distributed World Event Based Realtime Statistics using eTally | Martin Kristiansen | 40m |
Claims a real‑time sliding‑window counter system that handles ~10 million events/day in ~2.5 GB RAM, implemented as an eTally C++ core with an Erlang bridge… | ||
| 10 Billion a Day,100 Milliseconds Per: Monitoring Real Time Bidding | Brian L Troutwine | 48m |
AdRoll bids for 42 billion requests/day with a firm 100 ms deadline, using Erlang VM instrumentation and exometer piped to statsd + DataDog and long term… | ||
| Scaling HTTP Connections | Benoit Chesneau | 39m |
Built an HTTP resource proxy and replaced a Python proxy with an Erlang client stack, then rewrote the client to store per-request state in ETS-backed request… | ||
| Verified Vector Clocks An Unexpected Journey | Christopher S. Meiklejohn | 46m |
Coq extraction to Core Erlang generates runnable code and an explicit Coq extraction to Core Erlang pipeline plus a glue adapter for Basho’s database, but the… | ||
| Catch me if you Can Processing Terabytes in Secs | Jon Vlachogiannis | 42m |
Custom in‑house stream database processes crash reports from half a billion devices using only 19 cheap Azure VMs, built as Erlang front end plus an in-memory… | ||
| Thursday Keynote -- What Programming is Really About | Mike Williams | 43m |
Argues programming is an iterative, trial and error process, not a waterfall script: three project types (new development, productization, maintenance) require… | ||
| nothing matches | ||