This simple function is extremely useful if you have simulations that take an indeterminate amount of time to finish. I put a call to this function at the end of my neural network training scripts and go get coffee while it runs. It is also easy to modify to send yourself an e-mail instead. The one thing I still need to try is using this to send variable status updates as a code runs, but I think it provides the architecture to do so.