<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 25, 2013 at 4:46 PM, David Welton <span dir="ltr"><<a href="mailto:davidnwelton@gmail.com" target="_blank">davidnwelton@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div id=":nu" style="overflow:hidden">Erlang, in our project, sits in the middle: it offers a web interface<br>


that uses lots of Javascript via Chicago Boss, manages some web<br>
sockets, talks to a database (Postgres), interacts with several C<br>
nodes, and also manages various external programs via erlexec and<br>
open_port.  To add some complexity, specialized hardware is involved<br>
and dealt with via the C programs/nodes.</div></blockquote></div><br>I am a fan of building virtualized environments rather than mocking. That is, you take something like</div><div class="gmail_extra"><br></div><div class="gmail_extra">

<a href="http://www.vagrantup.com/">http://www.vagrantup.com/</a><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">and then you build up the parts which your system consists of and make sure you can deploy code inside your virtual environment. For Postgres, look at pg_virtuelenv. Most of the C-nodes can perhaps be pushed into the virtual environment. The specialized hardware is usually nasty and you may have to mock that in order to get correct operation.</div>

<div class="gmail_extra"><br></div><div class="gmail_extra">But I usually hate mocking with a passion and much prefer to run virtualized setups. It also forces you to think about ease-of-development in general as it forces you to have an environment on a box.</div>

<div class="gmail_extra"><br></div></div>