Gabriel Ortuño — Staff Engineering Notes
Subscribe
Sign in
Home
Notes
Archive
About
Latest
Top
Discussions
When BEAM Is the Right Runtime
A practical guide for engineers evaluating Erlang and Elixir for resilient systems
Jun 7
•
Gabriel Ortuño
February 2026
Is Elixir’s Observability Ready for Production? A Guide for Skeptical Engineers
From BEAM introspection to OpenTelemetry: how Elixir actually behaves in production
Feb 1
•
Gabriel Ortuño
3
1
January 2026
Elixir’s Gradual Type System (1.17–1.20): How the Compiler Finally Understands Your Code
How the compiler now reasons about your code and how to take advantage of it
Jan 18
•
Gabriel Ortuño
1
1
Elixir’s Tooling: What You Get Out of the Box
A practical tour of the core tools, developer experience, and the trade-offs shaped by the BEAM.
Jan 9
•
Gabriel Ortuño
3
1
December 2025
A philosophy of software design
Techniques to reduce the complexity on software
Dec 26, 2025
•
Gabriel Ortuño
2
May 2020
The best code you can write
Code is read many more times than it is written, and its ultimate cost is often very high and paid by someone else.
May 3, 2020
•
Gabriel Ortuño
1
April 2020
DRY
Don’t repeat yourself is a principle of software development aimed at reducing repetition of code and replace it with abstractions.
Apr 23, 2020
•
Gabriel Ortuño
2
How to Refactor
When you have to add a new requirement to an existing code, first you should check if the code is open to the new change.
Apr 14, 2020
•
Gabriel Ortuño
2
When to Refactor
Refactoring is not an activity you should set time aside to do.
Apr 12, 2020
•
Gabriel Ortuño
Refactoring
Refactoring is a technique for restructuring code in a way that you improve the design, but don’t change the its external behaviour.
Apr 11, 2020
•
Gabriel Ortuño
2
Zero Bug Software Development
Zero Bug Software Development is a policy to archive an state of zero known bugs.
Apr 7, 2020
•
Gabriel Ortuño
2
Flocking rules
The flocking rules are an small set of rules for refactoring code.
Apr 5, 2020
•
Gabriel Ortuño
1
This site requires JavaScript to run correctly. Please
turn on JavaScript
or unblock scripts