Back

An iroh powered smart fan

43 points4 daysiroh.computer
shermantanktop2 hours ago

This is interesting as an example of just how complicated and elaborate a toolchain you can use to build something dead simple.

There’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() };

klooj1 hour ago

iroh is a peer to peer networking technology so the project example of controlling a fan isn't so much about the fan but rather that it's controllable from anywhere through an esp32 microcontroller that can maintain a resilient connection endpoint even through power cycles and so on. I think iroh was posted about on HN a few weeks ago and I had a similar reaction of like...what in the world is this blog post even saying haha. But I found their docs page and found it pretty fascinating learning! https://docs.iroh.computer/what-is-iroh

skybrian1 hour ago

It's unclear to me why they needed to compile Rust to WebAssembly to write a website. It looks like iroh has a JavaScript API:

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.

nine_k1 hour ago

Not touching JavaScript might be a reason enough. (Though I bet it has a Typescript API, and Typescript is great.)