current read time: 8 days

Basically new stuff(TIL) updated as I encounter.

https://www.erlang.org/doc/design_principles/des_princ.html

error handling via defensive programming for kernel modules or functions try/rescue.

runtime errors: throws, errors and exits.

try do
  File.open(”./whatever.json”)

rescue Error
  # oh no!
after
  # cleanup
end

processes can capture the stack trace of another process with Process.flag(exit_code, true)

you can have:

  1. bidirectional linked processes link(pid_or_port)
  2. unidirectional monitors → Process.monitor(pid)