What’s the best way to demotivate an engineer? Request a written documentation. I have been procrastinating long enough, but late realisation came, I am repeating myself too often, explaining the same concepts. Instead of preemptively documenting and then referencing the documentation.Continue reading “erlperf 2.2 improvements”
Erlang VM provides outstanding observability. It takes just a few lines to question VM about any process it runs. It is safe and performant enough to be used in production, given due diligence.
Two major features available in the BEAM are sequential tracing (younger runtimes call that distributed tracing) and function call tracing. In this article I am going to talk about the latter.Continue reading “The Power of Erlang Tracing”
What is faster in Erlang, maps or records? Should I use lists:filter or a list comprehension to remove odd elements from the list? How fast is my random number generator?Continue reading “erlperf 2.0: benchmarking Erlang code”
Erlang’s virtual machine, BEAM, is incredibly stable. It’s not often that I see SIGSEGV or something more elaborate. But when it happens, what options do I have other than analysing code dump? How do I debug the BEAM itself, when I have a test case crashing the emulator?Continue reading “Debugging the BEAM”
peer: a new module in OTP 25, designed to facilitate multi-node testing with Common Test.
Erlang distribution is one of the most important features of the VM and runtime. Transparent message exchange between processes running on different nodes is incredible. But how do I test it?Continue reading “peer: distributed application testing”
loop(0) -> ok; loop(Count) -> loop(Count - 1).
My first Erlang engagement was brief and fierce. I still remember shaking my head with “How do I do a loop” and “it’s better than a Makefile”.