Is the code for that open sourced? Perhaps my biggest frustration with Dash buttons was that they were only for specific products from specific brands and it would be great to hook an IoT button to ANY product of my choosing.
"Control", though, doesn't mean source code for the device, but rather, programmatic control over the endpoint (Lambda, etc). "You can code the button's logic in the cloud "
The first gen STM32 based Dash buttons were hackable[1], but Amazon changed to a different platform (ATMEL[2]) and locked them down.
Well it's more about the language being needlessly complicated and having 10x different ways to do the same thing, not to mention the language (Perl 5 that is - 6 is a different story) lacks essential concepts like object orientation and exceptions (you have to get "shims" like Moose or Try::Tiny from CPAN to fill those gaps). Why would you choose something like this instead of Python or Ruby?
>lacks essential concepts like object orientation and exceptions
Perl does OO without Moose. There is a tiny bit of boilerplate, but it's essentially bless() and 1 or 2 lines in the constructor.
Try/catch blocks are indeed an add on. The traditional pattern is more golang like, returning an error code, then using Carp or similar for stack traces.
>Why would you choose something like this instead of Python or Ruby?
That might be an interesting discussion for a large codebase, but for something limited in scope like this, I just don't see the problem.