Disclaimer The views, opinions and thoughts in the published articles are the views, opinions and thoughts of the writer of the articles and do not represent the views, opinions or thoughts of any past or current employer of the writer or any other third person. The articles are provided 'as is' without warranty of any kind. Use at your own responsibility. The softwares and articles are provided for educational purposes only.