. How do you know if a code base is an application? A release?
. What differentiates an application from a library application?
. What can be said of processes under a one_for_all scheme for supervision?
. Why would someone use a gen_fsm behaviour over a gen_server?
Download the code at https://github.com/ferd/recon_demo. This will be used as a test bed for exercises throughout the book. Given you are not familiar with the code base yet, let’s see if you can use the tips and tricks mentioned in this chapter to get an understanding of it.
. Is this application meant to be used as a library? A standalone system?
. What does it do?
. Does it have any dependencies? What are they?
. The app’s README mentions being non-deterministic. Can you prove if this is true? How?
. Can you express the dependency chain of applications in there? Generate a diagram of them?
. Can you add more processes to the main application than those described in the README?