Towards machine independence: From mechanically programmed devices to the internet of things