Bored programmer exploits ATM loophole to withdraw over $1 million