I think docker for Mac is the way to go but, until disk performance is not up to scratch, I suggest you have a look at dinghy (https://github.com/codekitchen/dinghy) it just works too and it's 10x faster than docker-machine with vmware/virtualbox shares (uses NFS).
A base module inside the house instead of using the wireless directly. The doorbell would talk to the base module over some type of encrypted connection using a separate wireless network or bluetooth, and the module in the house would be plugged into the network, either over ethernet or wireless. The connection between the base and the doorbell would be configured to only allow for the voice/video/doorbell functions and that's it.
By A. Appel? I heard that the ML version is better since much of the code apparently isn't very idiomatic (It was supposedly translated directly from the ML book). I would probably recommend both that and The Dragon Book, as they cover roughly the same material but in a slightly different manner.