The Difference Engine: A Novel