Best of Erlang2025

  1. 1
    Article
    Avatar of bytebytegoByteByteGo·1y

    How WhatsApp Handles 40 Billion Messages Per Day

    WhatsApp manages to handle nearly 40 billion daily messages by utilizing a robust backend architecture with simplicity, asynchronicity, and isolation at its core. Erlang is pivotal, offering lightweight concurrency, fault isolation, and efficient message routing. The architecture benefits from smart partitioning, resiliency under failures, seamless upgrades, and focused quality control, all managed by a small engineering team. Database design favors speed with in-memory key-value stores and async writes, while backend systems are structurally isolated to ensure reliability.

  2. 2
    Article
    Avatar of elixirstatusElixirStatus·27w

    Elixir → JavaScript Porting Initiative

    Hologram needs community help porting 171 Erlang standard library functions to JavaScript to enable Elixir execution in browsers. The project is 34% complete for Phase 1, which focuses on full-stack web applications. Contributors don't need deep Erlang knowledge - just basic JavaScript and Elixir skills to follow existing patterns. Tasks range from 15 minutes to a few hours, and AI tools are encouraged. Each ported function unlocks multiple Elixir stdlib functions, creating a multiplier effect for the community.

  3. 3
    Article
    Avatar of gleamGleam·32w

    Formalising external APIs

    Gleam v1.13.0 introduces formalized external APIs for JavaScript interop, allowing safer integration with external code through dedicated functions for constructing and accessing Gleam data types. The release includes significant compiler improvements: enhanced bit array exhaustiveness checking with interference-based pruning, unused argument detection in recursive functions, and better fault-tolerant analysis. The language server gains multiple new code actions including extract function, collapse nested cases, and pattern matching helpers. Additional improvements include better error messages for common syntax mistakes from other languages, dependency version change notifications, and enhanced type display in documentation.

  4. 4
    Article
    Avatar of gleamGleam·43w

    No more dependency management headaches

    Gleam v1.12.0 introduces significant improvements to dependency management with clearer conflict resolution error messages, major version update notifications, and enhanced debugging capabilities. The release includes code generation optimizations that reduce output size, better list formatting control in the automatic formatter, JSDoc support for JavaScript compilation, and various developer experience enhancements like improved error messages and language server features.

  5. 5
    Article
    Avatar of elixirElixir·32w

    Elixir v1.19 released: enhanced type checking, broader type inference, and up to 4x faster compilation for large projects

    Elixir v1.19 introduces significant improvements to its type system with enhanced type inference across all constructs, type checking for protocols and anonymous functions, and better error detection at compile time. The release delivers up to 4x faster compilation for large projects through lazy module loading and parallel dependency compilation. It adds official support for Erlang/OTP 28, includes OpenChain compliance with Source SBoM attestation, and brings various quality-of-life improvements including better documentation access via Mix commands.

  6. 6
    Article
    Avatar of gleamGleam·1y

    Improved performance and publishing

    Gleam v1.7.0 introduces performance enhancements such as faster record updates through monomorphisation for both Erlang and JavaScript targets, a new code action to generate dynamic decoders, and improved credential handling for the Hex package manager. It also includes better namespace and package version management, the ability to deprecate individual custom type variants, new installation hints for missing components, and significant language server updates with new hover information and code actions.

  7. 7
    Article
    Avatar of lobstersLobsters·26w

    We Rewrote Our Startup from PHP to Gleam in 3 Weeks

    A startup successfully migrated their knowledge base management system from PHP/Laravel to Gleam in three weeks, despite no prior Gleam experience. The rewrite was motivated by personal preference for functional, statically-typed languages and Gleam's compilation to Erlang/BEAM. Key challenges included learning the use keyword and result module, decoding/encoding data types, and building a custom query builder. The migration simplified infrastructure by replacing Laravel queues with BEAM VM processes, and the system has run reliably in production for one month with zero issues.

  8. 8
    Article
    Avatar of gleamGleam·1y

    Global rename and find references

    Gleam v1.10.0 introduces several enhancements including the project-wide call reference graph, improved exhaustiveness analysis, better binary operator analysis, and support for new bit array literal features. It also boosts JavaScript code generation performance, offers more robust cross-platform deployment artifacts, and introduces various new code actions for the language server. Additionally, there are significant improvements for security and compliance with the inclusion of Software Bill of Materials (SBoM) and SLSA Provenance information.