3 ms·
If your IoT platform is even _capable_ of exceptions, you’re doing it wrong and at too high a level.
by 0xbear 9y ago
If your IoT platform is even _capable_ of exceptions, you’re doing it wrong and at too high a level.
- optimuspaul 9y agoI'm not sure I understand this comment at all. What do you mean "_capable_ of exceptions"? And why would that be doing it wrong. I can't tell if you are saying anything at all or just being inflammatory.
- 0xbear 9y agoIf you’re not doing minimalist bare metal (which will not support exceptions), you’re burdening your users with greater power requirements, bugs, and required firmware updates (or security holes) for the life of the device. Don’t put Linux on there. Make it do the bare minimum it has to do, expose minimal interfaces, and flash it into your MCU forever. Folks who design IoT should be planning for a mean lifetime of 20 years for their products. And no, I’m not going to buy shit that requires me to update firmware on three dozen different things in my house.
- optimuspaul 9y agothe firmware update angel is orthogonal to wether or not you have linux or bare metal. I don't have a strong opinion about Linux on IoT, but I do think that if you really want a mean lifetime of 20 years then your IoT device is going to need to be upgradeable, the internet is going to change and you are going to have to make changes. Also I'm not insane enough to think that I could write network drivers for bare metal and DNS resolvers without pulling in libraries, and HTTP code, etc. At some point you will realize that you will save yourself a lot of headaches with Linux and be far more likely to get your 20 year life out of your IoT devices.
- 0xbear 9y agoWell, if I were to speak as a homeowner and not an engineer, I don’t give a rats ass what’s going to change. At most, I’d agree to upgrade _one_ device in my house, not every single little IoT trinket embedded in the walls. And then not too often, say once every 5 years or so. That necessitates simple, well tested code that does the bare minimum it has to do, and runs on a low power MCU where Linux in its full form can’t run.