Eloquent JavaScript, 2nd Ed.: A Modern Introduction to Programming