Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Reticulum is a production-ready full network stack. Cryptography and anonymity are first-class citizens there. It is transport-layer agnostic, not just tailored for LoRa. I like it, but is see two main problems that prevent the wide adaption, and they are related:

1. The library is written in Python. If you want to design phone apps, Linux server daemons in C, or embedded software (for example for the Lilygo T-Deck) this is a bad choice. Somehow doable (execpt for embedded), but no fun. A small lib with C API and C ABI would be better.

2. Most of the end user software has a horrible UI. But it gets better with software like the Android messenger Columba (https://github.com/torlando-tech/columba).

If we would solve 1., we would have more end user software.

Currently, there are 4 project who try to solve 1. by writing a Reticulum lib with a low-level language, everybody does it in their favorite language and on their own, of course: C++, Zig, Rust, Go

The Rust implementation from Beechat seems the most mature. But I did not see it used in the wild, outside of Beechat's own devices.



Surprisingly, the Rust impl is Std only, so it doesn't solve 1


I took a deeper dive in Reticulum-rs. It is std. It implements 20% of Reticulum functionality. And it has 2 major protocol incompatibilities (like a different size for the MTU / Maximum Transfer Unit).

It looks like a quick vibe coded hack to implement a subset, tailored only for Beechat's own devices.

If someone would want to implement a full no_std Reticulum lib, they would need to start from scratch.


My surprise level at your finding is low. I regularly start from scratch in embedded rust for precisely this scenario. A typical response is "Why not use [reticulum-rs] etc.". Your elegant description could be described with the "But we have McDonald's at home" meme.

There are many cases where a library will be posted online, be mentioned in a blog post, and demonstrated in a demonstration workflow. If you try to use it for practical means, it becomes immediately clear it is "totaled" or easier to start over than fix or adapt it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: