HN user

kkapelon

1,140 karma

Developer advocate at Octupus Deploy

Posts14
Comments311
View on HN
Iroh 1.0 1 month ago

The goal posts keep moving.

First iroh was marketed as "solves communication behind NAT". Then we went to application level NAT busting vs node level NAT busting. Then we went to distributed vs client-server, then we went to stable IPs for non-server devices (your original comment). Now we moved to "true peer to peer" and "public keys".

This just tells me that the marketing site doesn't explain what Iroh actually does.

The fact that so many other people (apart from me) asked about the connection to Tailscale is also interesting.

Iroh 1.0 1 month ago

but if I am shipping a video conferencing application (where I control both the client and the server) I don't need nat traversal anymore. My clients will have outgoing connections to whichever co-ordination server I choose.

Tailscale is great for bringing devices/apps into a secure network when I cannot modify them in any way. If I have full access to the source code for everything, the story changes completely.

Iroh 1.0 1 month ago

but what exactly is the use case? I was responding to the nat traversal topic..

If I wanted to share something internal with a friend I would use ngrok or any of the million alternatives.

Anyway, this is exactly why my top-level comment says that this project needs a "versus" page in the docs.

Iroh 1.0 1 month ago

Congrats on shipping

You need urgently a "versus" page that talks about tailscale/netbird/netmaker/zerotier/twingate/openziti

Looking at the use cases, right now I don't see anything that cannot be done with Tailscale...

You can get a 4g dongle with $20 for basic failover. There are also many other companies that sell cheaper 5G routers. Zte has several models.

Starlink only makes sense as a last resort if LTE coverage is not available in your area.

Again this is location specific. I have a mini ups on my router/ont. And I assume that my provider also has a UPS, because even when power is out my landline connection just works.

Using a 4g/5g router is much easier and probably cheaper/power efficient.

Depending on your area you don't even need an external one. A simple 4g dongle would do.

Your circuit breakers don't talk to each other.

Doesn't this suffer from the opposite problem though? There is a very brief hiccup for Stripe and instance 7 triggers the circuitbreaker. Then all other services stop trying to contact Stripe even though Stripe has recovered in the mean time. Or am I missing something about how your platform works?

It is answered in the FAQ at the bottom of the page

"The SDK is fail-open by design. If our service is unreachable, it falls back to the last known breaker state.

If no state has ever been cached (e.g., a cold start with no connectivity), it defaults to closed, meaning your protected calls keep executing normally. Your app is never blocked by Openfuse unavailability."

It is still baffling to me why we need AGENTS.md

Any well-maintained project should already have a CONTRIBUTING.md that has good information for both humans and agents.

Sometimes I actually start my sessions like this "please read the contributing.md file to understand how to build/test this project before making any code changes"