Senior Software Engineer at Microsoft. Posts are not endorsed in any way by my employer. Use any code at your own risk.