#Erlang
24 notas · última:
Pesquisa Viva: Distributed Systems Patterns
General patterns for building distributed systems, one pattern at a time, using krishnadaspc's Elixir series built on raw BEAM primitives as the main thread.
Elixir's Secret Weapon
Explains Elixir's with special form as the fix for nested case statements when chaining dependent operations that each return a tagged {:ok, _} / {:error, _} tuple.
Rick Reed, Software Engineer at WhatsApp
Rick Reed's 2012 Erlang Factory speaker profile: his path through SGI, Metaphor and Yahoo to WhatsApp, and a talk on tuning Erlang's BEAM and FreeBSD to scale to millions of connections.
Functionally Solving Problems
A Learn You Some Erlang chapter that solves an RPN calculator and a shortest-path puzzle with folds and pattern matching instead of hand-rolled recursion.
Beyond Functional Programming with Elixir and Erlang
José Valim argues that functional programming was never the goal of the Erlang VM, only the means to fault-tolerant, concurrent, maintainable distributed systems.
OTP (Open Telecom Platform)
OTP is a collection of middleware, libraries, and design principles for building applications in Erlang. The name stands for Open Telecom Platform — a branding attempt from Ericsson — but neither…
A brief introduction to BEAM
This primer explains BEAM as the virtual machine that executes Erlang code, distinguishes it from ERTS, and shows how registers, calls, tuples, exceptions, and receive are represented in BEAM instructions.
Why OO Sucks by Joe Armstrong
Joe Armstrong argues that OOP binds data and functions together, turns everything into objects, scatters type definitions, and hides state in the wrong way. He says OO grew popular through hype and industry incentives.
A Simple CEP Processor in Elixir
The post shows a simple CEP setup in Elixir that simulates stock ticks, routes them through a broker and worker factory, keeps a timed window per symbol, and prints hourly averages through a sink.
Introduction to Distributed Messaging with Elixir
The article shows how Elixir’s Erlang heritage lets nodes connect, make remote calls, and exchange messages across machines while handling latency and failure in distributed systems.
See all messages in process's mailbox with pid XY
The thread shows how to inspect a process mailbox with :erlang.process_info(:messages), notes that Observer can display a queue snapshot, and warns that copying messages can be expensive.
Simple Sliding Windows in Elixir
The post builds sized and timed sliding windows in Elixir, then refactors them behind a Windowable protocol and Enumerable implementations so both types share a common API.
Elixir Native Interoperability – Ports vs. NIFs
The page compares two Elixir/Erlang interoperability mechanisms for serial device access. NIFs are faster and simpler but can crash the VM; ports are safer and more flexible but use awkward STDIN/STDOUT messaging.
Round-up of Elixir Books and Resources
A curated, subjective list of Elixir books and learning resources, ordered from introductory to advanced, with extra recommendations on Erlang, OTP, functional programming, and community channels.
Installing Erlang
Riak built from source requires Erlang, and Basho recommends a patched Erlang version for Riak 2.0 so security features work. The page lists kerl, source, and package-based install paths by platform.
Erlang VM Tuning
Riak exposes Erlang VM settings in riak.conf, while older versions used vm.args. The page lists tuning options for SMP, schedulers, ports, buffers, ETS, crash dumps, tick time, and shutdown time.
Elixir - The Love Child of Ruby and Erlang
The article tours Elixir’s core features: the IEx shell, functional tools, immutability, recursion, streams, the pipe operator, processes, message passing, and Erlang interoperability.
Pseudo Random Number Generation in Elixir
The post explains why Elixir relies on Erlang for pseudo-random numbers, how deterministic seeds affect :random.uniform, and why :crypto can provide better seeds than timestamps or :erlang.now.
Thoughts About Elixir
The author argues that Elixir is now a viable choice for server software because it keeps Erlang's runtime and OTP while offering clearer syntax, easier nested data handling, better tooling, documentation, and seamless Erlang interop.
Damien Katz: What Sucks About Erlang
Damien Katz argues that Erlang’s syntax, control flow, string handling, records, memory failure behavior, code organization, and uneven libraries make it awkward for some application work, even though it shines in systems like CouchDB.
Why we are excited about Elixir
The post says Elixir is promising because it sits on Erlang’s mature runtime, adds Ruby-like syntax, supports macros and DSLs, and comes with solid tooling and documentation.
Converting Erlang code into Elixir
The post shows a simple port of a Cowboy WebSocket example from Erlang to Elixir, with notes on atoms, modules, string differences, and a few details that can break the code.
9 Erlang Pitfalls You Should Know About
The post lists nine Erlang mistakes that can slip past compile-time checks and tests, covering state updates, pattern matching, guards, records, process shutdown, and boolean operators.
Programação funcional e escalabilidade: o que uma coisa tem a ver com a outra?
O texto liga programação funcional à escalabilidade ao destacar a ausência de estado mutável, a facilidade de testar e depurar, e a vantagem para concorrência, paralelismo e passagem de mensagens.
