Load site modules...
lade...

Mark@federated.channel

Mark@federated.channel

an avatar

mark@federated.channel

Creator of weird and wonderful things. There is another world, but it is in this one.

👤 Visit Marks profile 👤 Marks Profil besuchen

✍️Write rieview ✍️Rezension schreiben 🏷️Get Badge! 🏷️Abzeichen holen! 📰News 📰Neuigkeiten

Webfan Website Badge

Tags: wonderful

Rieviews

Bewertungen

not yet rated noch nicht bewertet 0%

Be the first one
and write a rieview
about mark@federated.channel.
Sein Sie der erste
und schreiben Sie eine Rezension
über mark@federated.channel.

Mark@federated.channel News

> At times one of the adolescent girls or boys who go to see the child does not go home to weep or r...

https://federated.channel/displa...

At times one of the adolescent girls or boys who go to see the child does not go home to weep or rage, does not, in fact, go home at all. Sometimes also a man or woman much older falls silent for a day or two, and then leaves home. These people go out into the street, and walk down the street alone. They keep walking, and walk straight out of the city of Omelas, through the beautiful gates. They keep walking across the farmlands of Omelas. Each one goes alone, youth or girl man or woman. Night falls; the traveler must pass down village streets, between the houses with yellow-lit windows, and on out into the darkness of the fields. Each alone, they go west or north, towards the mountains. They go on. They leave Omelas, they walk ahead into the darkness, and they do not come back. The place they go towards is a place even less imaginable to most of us than the city of happiness. I cannot describe it at all. It is possible that it does not exist. But they seem to know where they are going, the ones who walk away from Omelas.

- Ursula K. Le Guin, The Ones Who Walk Away From Omelas (1973)

After reading this, you might feel like you owe it to yourself to read the whole story. If so, you would be right. It is only four pages long, but it will probably have a larger impact than anything else you will come across today. You can easily find a PDF version by searching online.

The name Omelas is a semi-anagram of שָׁלֵם, the biblical Salem, and shares the common root with שָׁלוֹם (shalom), or simply "peace".

3.4.2025 10:29> At times one of the adolescent girls or boys who go to see the child does not go home to weep or r...
https://federated.channel/displa...

That time, some seventeen years ago now, where the construct glitched and accidentally spawned the e...

https://federated.channel/displa...

That time, some seventeen years ago now, where the construct glitched and accidentally spawned the exact same guy two times in a random bus I was riding.

31.3.2025 21:52That time, some seventeen years ago now, where the construct glitched and accidentally spawned the e...
https://federated.channel/displa...

First #LXMF message delivered to a standalone ESP32-based device over a #Reticulum link! This was ju...

https://federated.channel/displa...

First message delivered to a standalone ESP32-based device over a link! This was just posted by stumpigit over on the RNS dev forum, who's been working on getting the microReticulum library up to date with full support for LXMF messaging.

Very cool to see this taking shape. Native LXMF messengers for small, embedded systems and micro-controllers are a step closer.

31.3.2025 19:49First #LXMF message delivered to a standalone ESP32-based device over a #Reticulum link! This was ju...
https://federated.channel/displa...

If you want to keep up to date with everything going on with #Reticulum, #LXMF, #Sideband, and other...

https://federated.channel/displa...

If you want to keep up to date with everything going on with , , , and other related projects, I'll invite you to follow the Reticulum community channel I've set up over here:

hub.federated.channel/channel/…

31.3.2025 10:22If you want to keep up to date with everything going on with #Reticulum, #LXMF, #Sideband, and other...
https://federated.channel/displa...

I love a good caRNode build, and this is a great vehicle-based #Reticulum #RNode build solution by @...

https://federated.channel/displa...

I love a good caRNode build, and this is a great vehicle-based build solution by @adingbatponder!

@adingbatponder@fosstodon.org:

loramesh.org/subpages/carrnode…

rnode lights up the boot's under-roof compartment
antenna on car roof
cables running from 12 V car socket to the under-roof compartment where the rnode is
under-roof compartment with Geekworm UPS Raspberry Pi 5 rnode

31.3.2025 10:07I love a good caRNode build, and this is a great vehicle-based #Reticulum #RNode build solution by @...
https://federated.channel/displa...

Going Fast And Slow

https://federated.channel/displa...

A post about where we are, and where we're going, in terms of performance and scalability, and some new experimental features.

Experimental Performance Features
In the latest commits to master (version 0.9.3) of RNS, there's a few interesting (and pretty experimental) features that I think some people might want to play around with already, even though it hasn't been released yet.

First of all, a long-standing TODO has been implemented in AutoInterface, which will now sub-interface each discovered Ethernet/WiFi peer for much better performance and path discovery. AutoInterface now also supports dynamic link MTU discovery. These updates improve performance significantly.

Most "experimentally", and perhaps most interestingly, RNS now includes an optional shim for on-demand transpilation of the entire RNS implementation to C, and then compiling that to machine-local object code at run-time. If requested, this happens dynamically at daemon initialisation via Cython (and only once, of course, if no locally compiled version exists already).

The on-demand compilation step, by itself, provides an instant performance increase of around 2x in the Reticulum transport core, cutting per-packet processing time approximately in half, due to the much decreased need for context switches between the Python VM and C-based backend. Notably, this is without any of the many potential optimisations added yet, such as static typing of variables in the transport core, object property slotting, logic vectorisation and so on.

These optimisations, together with link MTU discovery now pushes the Reticulum transport core packet processing above 1.4 gigabits per second on my (relatively modest) test hardware, while still running on a single CPU core.

Faster Snake, Faster
I've never really expanded much on how I envision the path to truly massive scalability for Reticulum before, and understandably most of the community has been focusing efforts in this regard on the tried-and-true approach of developing parallel implementations of Reticulum in compiled languages such as C, Rust or Go. That approach is something I very much support and value, and even a necessary one for wider availability and adoption, so please keep up the good work! But, it is not the area I will be focusing my own efforts on, and there's some interesting, but non-obvious reasons for that, so it's probably time to expand a bit on that.

One of the most critical components in the continued evolution of Reticulum right now, is keeping the reference implementation readable, understandable, accessible and auditable. Without those qualities present, creating alternative implementations - and systems on top of Reticulum - are just too tall an order to expect anyone to care about. At the same time, Reticulum targets very demanding requirements, both in terms of security, privacy and performance (both in the context of very fast links and very slow links). Actually resolving those requirements into a real, functional system is bizarrely complex, to say the least, and honestly I do occasionally wonder how I even got this far.

From the outside, it's understandably difficult to appreciate just how much design, testing, re-evaluation, validation and implementation work it has taken to get to the point we're at now. It's taken me ten years, and let's just say that it truly has been a complex journey. For solving tasks like this, a high-level language like Python is an absolutely excellent tool, and had I started out in C (even though that is my personal "favourite language"), I don't think I'd have succeeded.

Scaling, Massively
Before discussing any further, I should clarify what massive scalability actually entails in regards to Reticulum. The current implementation is capable of handling throughputs in excess of 1 Gbps, which is definitely "good enough" for the foreseeable future. But down the line, and in the relatively near future, I think we need to start moving the target to transport capabilities of 100+ Gbps and network depths of millions (or even billions) of active endpoints.

There's a common misconception that Python is "slow", whatever is meant by that. From a more nuanced perspective, that assumption is incorrect. What can cause significant performance penalties in Python are the context switches between the Python byte-code VM and native machine code. But as I've already hinted at, those can be eliminated almost entirely by using the Python source code as a blueprint for deterministically generating machine-code, that run at native speeds. I'd estimate that simply implementing static typing, property slotting and locking the memory structures for various lookup tables will provide a further 30-50x increase in performance.

With the recent release of Python 3.13, we're also finally starting to be see the end of the notorious Global Interpreter Lock, allowing us true multi-core concurrency, and this along with the new Python JIT will speed up things even further.

But going beyond that, we're going to start needing to get a little creative. It's well-known that the TCP/IP stack is fast, but one of the primary reasons that this holds true in practical reality is a little less well-known.

On commercially available IP routers, be that consumer products or ISP-scale hardware, almost all of the packet processing doesn't actually occur on the CPU, but is hardware accelerated on custom ASICs, embedded in the router chipset. If you've ever tried bonding IP interfaces or inserting software based VPNs in your routing path on systems that provide no hardware acceleration for those operations, you will have seen your previous line-rates drop to significantly less impressive numbers.

There's not any real possibility of hardware vendors starting to design, fab and ship Reticulum-specific acceleration ASICs any time soon, so we can't rely on that approach. What we can rely on instead, is another type of general-purpose parallelisation solution, that has seen massive improvements in the recent years, and which is now more or less ubiquitous in all compute devices, the GPU. Even mobile chipsets and embedded SBCs include capable GPUs with quite ample memory and shader core counts.

By leveraging existing, general-purpose acceleration frameworks (such as OpenCL or Vulkan Compute), a truly general-purpose Reticulum packet-processing accelerator can be designed and deployed on more or less any existing system, essentially for free - at least in the sense that no new hardware has to be invented.

If active path tables and other transport-essential data structures are shipped off to GPU memory, and the internal states of the Reticulum transport core is made completely vectorisable, packet processing can truly be massively parallelised. The transport logic was already designed with such vectorisation in mind, but of course it will take some work to get there.

The beauty of this approach is that it will still work on any type of CPU as well, even if no acceleration hardware is present on the system. This allows for a single implementation that will dynamically adapt to whatever resources are available on the system, from a single-core SBC, to an accelerated core transport node capable of handling tens of millions of packets per second.

While all of this is immensely interesting, and something I'd love to sink myself into right now, realistically it's still something a ways off into the future, since there's plenty of other important work to do first. Still, I thought it would be good to share some of thoughts that form the basis of the current optimisation work, and where it is ultimately going.

This post is also available on unsigned.io

30.3.2025 08:43Going Fast And Slow
https://federated.channel/displa...

My talk from the latest edition of the Chaos Communication Congress:

https://federated.channel/displa...

My talk from the latest edition of the Chaos Communication Congress:

Reticulum: Unstoppable Networks for the People

ftp.fau.de/cdn.media.ccc.de//c…

While there's quite a bit of technical details in this one, I also go into some of the underlying reasons behind why we really need something like Reticulum, ideally yesterday.

Please feel absolutely free to download, share, re-post and upload this video wherever you find it relevant!

29.3.2025 19:27My talk from the latest edition of the Chaos Communication Congress:
https://federated.channel/displa...
Subscribe

🔝

⬆️

⬇️