Usually when I think about the spacetime in which we occupy in relation to the advancement of technology, it’s a negative thing. Why don’t we have flying cars? Why haven’t we bred trees that don’t shed leaves in the fall that have to be raked? Can’t we make emo grass (that cuts itself)? Etc. But. No more. You can buy a WiFi enabled MCU for about nine (9) USD on Amazon, including one day shipping (if you’re a Prime member and spend enough and live in certain areas probably). The possibilities are endless.
For my less-tech oriented readers, this is what people mean when they say “Internet of Things.” The idea that you could make things more intelligent and responsive to real world inputs isn’t particularly novel, but the nutty low cost of the components required to do this makes it actually financially viable. If you can add WiFi to your dryer so it dings your phone when it finishes and it only costs an extra $10, why wouldn’t you want that? At least that’s the thinking. My personal thoughts on the matter is that yes, this is happening and yes, it’s kind of neat, but a) security is a big issue and b) if you don’t make things continue working like they always have, there will be an uprising. So whenever I make something in my house smarter, I’m making sure to leave the old way of using it intact. I want to be able to turn lights on and off with the switch on the wall no matter the state of my house’s internet connection. There’s even an entire Twitter handle dedicated to the failings (warning: language) of IoT devices.
So what am I going to do with my nine dollar MCU? Well, awhile back I bought a little marble runner desk toy thing. I figured Iver would find it entertaining (he did) and there’s nothing like the smell of freshly lasered MDF. It’s neat, but how much cooler would it be if you could turn it on and off with the internet? So much cooler! And, since I make software for a living, and making software should include running integration tests, why wouldn’t I want a real life machine doing some work to represent a build in progress? So that’s my plan. Get Jenkins to POST to my little WiFi MCU whenever a build starts, then POST again when it finishes and the machine will crank away during the build and then do some sort of fancy signal at the end depending on whether the build passed or failed. Software testing can be fun?