-
Jun 5, 2024
Elixir Syntax Series
Data Types and Collections
Variables
Control Flow
Functions
-
May 8, 2024
Elixir Cluster Series
Leveraging CRDTs for eventual consistency
Elixir: Resilient distributed systems
Elixir: Running a cluster of nodes
Elixir: Running a cluster of dynamic nodes
Elixir and Mnesia: Running a cluster with state
Elixir and Raft: Running a cluster with state
-
Mar 12, 2024
WebSockets facilitate real-time, bi-directional communication with low latency but introduce inherent challenges with concurrency. They lack guaranteed message delivery, where messages can arrive out of sequence or not at all. This can lead to inaccurate data presentations on the client side, which is reasonable in non-critical contexts but unacceptable in...
-
Jan 7, 2024
Software designed to solve real-life problems must effectively address the issue of concurrency, where the order of operations cannot be trusted due to the unpredictability of timing, distance between interactions, and the potential for missed or delayed messages. To prevent corruption of data or application state, it is crucial to...
-
Nov 20, 2023
“I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object-oriented language (ALGOL W). My goal was to ensure that all use of references should be absolutely safe, with...
-
Nov 15, 2023
In complex systems, such as those managing millions of concurrent phone calls, some bugs are transient or rare, making them inherently elusive and impractical to trace and resolve. Erlang keeps this in mind, prioritizing robustness to ensure systems can continue operating smoothly despite individual failures. This approach is encapsulated in...