Helpful commands for the erl shell

Show all processes
pman:start()
Show all applications
appmon:start()

Useful code snippets

Managing erlang build process

Erlang builds using Makefile

Code Pitfalls

Correct PID assignment
The code fragment spawn(fun() -> something(self()) end) does not pass the current PID in to the fun function, but instead creates a new PID that is used. To achieve the correct behaviour, the PID has to be assigned first: P = self(), spawn(fun() -> something(P) end)

Analyzing erlang programs

The Dialyzer, a DIscrepancy AnalYZer for ERlang programs