Okay, I read up on iroh. It has some really interesting stuff in it but I see an uncanny valley here.
It’s not simple enough to debug a connection failure easily, but it’s not magical enough to guarantee connectivity. Straight tcp with dns can be hard to debug; and no magical networking stack can really guarantee connectivity. I guess iroh’s strength is connectivity but I don’t know what happens if you can’t find a path.
The third dimension is privacy and anonymity, and I can’t tell if the story there is stronger than other p2p+relay protocols.
So it’s in the middle but at a different point in the space.
Edit: actually, that's a Node.js-specific API. For browsers, it seems like they should have a platform-independent JavaScript/TypeScript API that includes a WebAssembly file (if needed) instead of expecting you to compile WebAssembly yourself.
While this is neat, it strikes me as the software developer's idea of a "smart fan". The engineer in me says that an actual "smart fan" would be one whose blades are designed to produce maximum airflow with minimum noise (variable pitch? avoiding turbulence?)
Iroh is probably one of the best shots we have at making IoT finally secure with the built-in endpoint-to-endpoint encryption. The only thing that is missing is an embedded QUIC stack, the setup described in this article sees a little bit too hacky (4 MiB of PSRAM, really?).
11 comments
[ 3.3 ms ] story [ 38.5 ms ] threadThere’s a lot that comes for free by adding all these libraries and crates and steps. But from what I can tell it comes down to:
let _ = if fan_on { fan.set_high() } else { fan.set_low() };
It’s not simple enough to debug a connection failure easily, but it’s not magical enough to guarantee connectivity. Straight tcp with dns can be hard to debug; and no magical networking stack can really guarantee connectivity. I guess iroh’s strength is connectivity but I don’t know what happens if you can’t find a path.
The third dimension is privacy and anonymity, and I can’t tell if the story there is stronger than other p2p+relay protocols.
So it’s in the middle but at a different point in the space.
https://docs.iroh.computer/languages/javascript
Edit: actually, that's a Node.js-specific API. For browsers, it seems like they should have a platform-independent JavaScript/TypeScript API that includes a WebAssembly file (if needed) instead of expecting you to compile WebAssembly yourself.
It links to my Google Home installation and responds to voice commands.
https://us.store.tapo.com/products/tapo-h110-smart-ir-iot-hu...
Someone with too much time on their hands might benefit from the iroh solution....
Now I am not sure it is feasible but it would be interesting to have it available in esphome. I feel this is really where real adoption happens.