Heh - I remember Beej's guide. I thought it was pretty cool way back in the mid-1990's. (-:
I did a similar thing learning about the gen_server and gen_tcp modules except I thought I would re-implement the finger daemon. I got all the way through the network and server code and finally discovered that Erlang doesn't have an interface to all the POSIX user and group functions so no getpwnam().