https://www.sans.org/reading-room/whitepapers/scripting/coding-incident-response-solving-language-dilemma-36107