Introducing PRNs: High-Performance Reticulum built to run on any Device (And how you can help)
Started by KenAKAFrosty ·
OMG! This would be the perfect final of this conversation! :D XD
Good one, Sage!
Anonymous wrote:
There is another thing that bothers me about this whole discussion, and it should be my last post about it.
The use of AI to write code is not something you can reliably establish simply by looking at the end result. People on these forums may already be using AI to write bits and pieces of code without you even knowing it.
Perhaps you used AI to write the code for this forum. It still hasn’t been released, after all… are you busy making it look like a human wrote it? OK, sorry. That was inappropriate and sarcastic. But admit it: it is incredibly easy to make that kind of accusation when this is the standard of evidence we are willing to accept.
More seriously, projects you love, praise and use every day may already contain code written with the assistance of AI, without you having the slightest idea.
And that is precisely my point.
Unless there is actual evidence or disclosure, there is often a blurred line between human-written, AI-assisted and AI-generated code. Trying to determine authorship from the code itself quickly becomes speculation.
As long as that uncertainty exists, I find it largely pointless to spend so much energy arguing about who or what wrote the code.
Judge the code. Is it maintainable? Is it correct? Is it secure? Can people understand it? Can it be reviewed? Does the project have people willing and able to maintain it?
Those are questions we can actually discuss based on evidence. And frankly, I find them far more interesting than trying to guess whether Claude or any other stochastic parrot was sitting behind the keyboard.
I have re-iterated over, and over, and over again it's not merely the presence of LLM generated code. It's the fact that this entire project is. Literally 100% of it. And likewise for dozens of other Sloppulus AI vibed Reticulum "ports" that are sitting on the Internet that don't even work with the reference implementation or are actively hostile to the network due to broken transport logic. There is a slopcoded LXMF Rust "port" where the fields are fucking flipped backwards that makes it absolutely unusable with anything else.
This is the file list for everything tagged with the .rs extension. Read my post earlier back in the thread. It is genuinely IMPOSSIBLE to do this. There are 1500 files tracked. How am I going to judge if its secure to run on my computer? Or the quality of the code? Outsource that to yet another LLM? Great idea. And eventually I'll just outsource everything to Claude.
AI coding should not be a black/white issue. Its really a spectrum. There is dogshit code, good code, and everything in-between.
The fact that people point out the absurdity of this codebase should not be a polarizing issue. Shit code is shit code. People get all tribal about defending the AI agents that created it.
AI is super useful for people that know how to code, those that are careful and understand what they are doing.
AI is super damaging to people that do not know how to code properly. Dunning-Kruger is real folks.
People have pointed out that this code is most likely shit, with sugar coating on top. Why not just accept that?
Someone pinch me when there's a good rust implementation that I can trust to not break, leak my ssh keys and be maintained after 3 months.
All of these accusations about quality are not pointing to anything about the actual code itself, as it is today.
It's about the notion that its size means it's fundamentally impossible for a human to review, therefore it MUST be machine vomit.
Is it, though?
I won't ask you to believe me. I'm just asking you to critically think about the claim.
The soundbite is "4.1x the size of War and Peace".
All put together, the implication is that in 10 weeks, reading War and Peace 4.1x is unthinkable; so absurdly beyond human limitations that it's laughable.
But how long does it take to read War and Peace?
For an average adult, the silent reading rate is 238 words per minute; 183/minute when reading aloud.
English translations of War and Peace (using these because the cited study was English readers) seem to average around 580,000 words. That lands around 40 hours of reading time, which aligns in the ballpark of this audiobook version at ~61 hours (the reading aloud vs silent ratio above)
40 hours. One typical work week.
So "4.1x the size of War and Peace" would mean a little over 4 weeks. Out of 10.
And that's at a pace where you're taking 2 whole days off per week, and strictly limiting yourself to a normal workday's 8 hours.
Not to mention this is the reading rate of an average adult. Nothing to say of a skilled professional reading work that exists in their domain.
Not only is that very humanly possible, that leaves nearly 60% of the time beyond just reading. 6 entire work weeks of surplus.
Working on architecture, data modeling, API design, and correcting the inevitably stupid outputs, all fit comfortably in that surplus. Especially considering my efforts weren't limited to the typical 9-5 work week.
It is not absurd. Far from it.
The adjacent implication is that I have no idea about Reticulum, nor the codebase.
The work I've done is deeply human-in-the-loop. This is not "Black box, fuck it, YOLO, ship it.".
The constant human review is what brought it to where it is today.
That same constant human review is why I was able to catch, verify, build a minimal repro, outline the fix, and report on the vulnerability that became Mark's 1.3.8 update of RNS. That vuln gave a single person to ability to DoS virtually everyone on any network they connect to, with trivially crafted malicious packets. Mark took the email I sent to him seriously, and got it fixed extremely promptly which was very much appreciated.
Hell, you don't even have to leave this website to see the traces of my caring and understanding.
The same constant human review is why I had the understanding to help with this breakage reported by another user, which became part of RNS's 1.4.2 update.
The same constant human review is why I was able to engage in this rich and meaningful technical discussion in service of solving the real problems of Reticulum users.
The same constant human review is why I could contribute to a community discussion about a shared standard for a BLE interface.
The same constant human review is why I had the understanding to create a video for non-technical folks to better understand the basics of how announces & routing work in Reticulum.
You might notice some of these were posted before the Prns repo even began. My engaged learning about Reticulum, and deep care about understanding it well, had already started quite a bit before the port started.
The message that I have no understanding of Reticulum, or my own code, is simply wrong.
The message that I want to fragment the ecosystem is also simply wrong.
4 pages, 63 replies, inside of 3 days on this thread. Many long replies.
And yet, from everyone telling you this codebase is pure slop, there was only one (1!) actual technical concern about this codebase.
It was basically "Commands are dumb, why would anyone do that instead of methods". That post that was quickly deleted by its author, which is telling.
But regardless, it was immortalized in someone else's reply to that post. So I responded clearly why that was chosen.
If you disagree with that technical decision, that API decision, then right on! That's a good discussion.
When it was then implied that LLMs involved meant the crypto primitives were in question, I responded explaining precisely which implementations of the primitves are used.
When the goalpost then shifted to implying that this codebase fucks up the order of crypto operations in Reticulum, I addressed those as well. I laid out 25 different crypto operations and how Prns handles them. All compliant with the reference implementation. I asked, "What are the specific Reticulum crypto operations that you believe Prns is misassembling?"
And as you can see for yourself, I got silence. Well, more like a Wattpad for ranting about AI with a bonus of industrial-grade projection cast onto me and others.
But, critically, no response to the items of that technical question. Not one.
One side's giving you a bunch of flowery viscious language, filled with generalities and "probably"s, telling you how you should feel about this project based on their vibes, while dodging any real technical discussion.
Meanwhile I've continued to explain the process, the decisions that went in, while citing sources, and respectfully presenting information & resources to everyone so they can make their own decisions.
Of course, it's your choice who to believe.
It is cheap to spew bullshit. Making things up costs very little time. It doesn't have to be accurate, or even internally consistent. When challenged, you can just misdirect and spew more.
Correcting that nonsense is extremely time consuming.
This is the last time I engage in that asymmetry.
Just like Mark quotes on his contact page:
Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. You have done violence to him, consumed his energy.
To those who are excited about the project (or at least were until you read the onslaught of falsehoods spammed into this thread), the code is on GitHub.
Good-faith discussions, issues, and PRs are extremely welcome. If you're equally tired of all the yapping and just want to solve problems, the doors are open.
I'm just going to assume you are using Claude to write these posts now. You are genuinely deluded and this scary to see. You did not write any of this code, let alone read it. LLMs are giving people some type of actual psychosis.
I am absolutely tired of your gaslighting bullshit, and the same bullshit from every other techbro who gets their hands on Claude Code or Codex or Cursor or whatever.
There are like 20 files for the WeaveInterface in your project that doesn't even exist yet. There is a 800 line unit test for it. How are you testing something that hasn't even been released?
I could go on and on.
. That vuln gave a single person to ability to DoS virtually everyone on any network they connect to, with trivially crafted malicious packets. Mark took the email I sent to him seriously, and got it fixed extremely promptly which was very much appreciated.
Yeah, 10 billion tokens later I guarantee it could find at least one real issue.
Why not go fuck off and bother some other project with this. I heard Meshtastic needs a 🦀blazing 🦀 fast🦀 entirely vibecoded Rust port of their firmware and I'm sure they would love to hear about your nonsense.
Your right actually everytime I look at this it gets worse
Some entirely vibecoded entropy functions
https://github.com/KenAKAFrosty/Prns/blob/main/personal-hopspot/embedded/nrf52840/src/runtime/entropy.rs
You better pray the AI didn't mess these up
@aetherlab If you care about my opinion: I'm very angry myself. A
good friend of mine is literally only talking about AI any more. At
this moment in time I would not trust any piece of software that has
primarily been created with AI. I hate what AI does to the software
environment, how much additional work it causes, etc. etc. etc.
But what's the use of it? You will not change it with fecal language.
You will not convince anyone. You will rather invite trolls. That's
at least my fear. Maybe I'm wrong - maybe not. But yes: fecal
language will not repel machines, but it will repel humans. I had
hoped to find a nice community here, but this thread partly looks like
a scene in a grotesque Ionesco theater piece. In this moment it looks
to me like it's extremely easy to sobatage discussions in this forum.
Not good!
If you want to change something: we need clear guidelines (I think we
already have something close to that - isn't it pinned?). You could
just say: "ok, listen, maybe even there are good AI written pieces of
software - we don't care. Because we don't have the resources to
check that and the risk is too high that this causes harm. At least
large parts of the suggested project look like generated code (here
are some examples), we consider it as not acceptable here. We are
sorry but there are no exceptions. These are the rules of this
community, or the original creaters." You can even use a boring and
extremely annoying standard text and point to it. And good it is.
This is even more or less what had happened. Then people started
wasting their time.
I did not express my opinion about the suggested software because I
did not look at it. Instead I wanted to avoid that we are only
getting distracted by a long discussion that leads to nothing. And
yes, this is my conviction: if there are people in this forum that are
undecided - maybe very, very young people - they will surely not say
"ok, this guy with the red head insulting everybody - I will have a
closer look at his arguments!" No. They will have the impression
that "normal" human developers are terrible people and the nicest
person in this thread is an AI. Terrible!
And I'm very sure that there are good, valuable people that are
disgusted by your language. You may call them naive etc., but your
opinion doesn't matter here, nor does mine, it is a fact (just look at
the votes).
Because I value Reticulum and think that your language is of no use or
even harmful, I decided to intervene. And no, it's not fun, I rather
would have gotten some other things done.
And, dear moderators, this is a forum for humans. If you really changed the title: this is not a good solution, IMO. If you think you need to do this, please consider finding a more appropriate way like moving the discussion to a different category. Thank you.
All I ask is that this implementation, and all other implementations, be thoroughly vetted to be wholly compatible with the reference implementation and does not introduce vulnerabilities or cause mesh disruption (unintentional or otherwise).
@KenAKAFrosty, based on previous posts it seems to be that you're very familiar with the reference implementation and that you're very enthusiastic about the Reticulum project. I hope this means that you've been able to get Claude/Gemini/whatever to produce something that works as intended and is easily maintainable by others when you are no longer able to maintain it. I'm far from being the right person to make that judgement, so I'll let others with more experience and knowledge to speak to that.
Hopefully we can move on from the let's-see-how-much-more-I-can-piss-into-the-next-guy's-cheerios-than-the-last-guy-pissed-into-mine contest.
As for myself, I will likely stick with the reference implementation for the foreseeable future on computers. I understand Python, I work with it often enough, it's just what is best for me.
Rudi Mentaire wrote:
You could
just say: "ok, listen, maybe even there are good AI written pieces of
software - we don't care...
Thanks for the reply, Rudi. We all could have. We did so many times in the Matrix channel and in here in the beginning. All of these threads start peacefully or at most cheaky. This has never stopped slop-barer's to rush in with pompous titles and flashy claims. Because no one reads neither pins, nor searches the forum history - sloppers just post and users, well they just get click-baited to try. I want to be civilized and maturely diplomatic, trust me. It doesn't feel good to act as some kind of monster in the basement. And though "fecal language" is an gross overshoot of a description for what I have written, at least in my world, I prefer to not have to and I admit it is better for everyone, that no one does.
But again, Rudi - they come in waves, all the same, same talks, same bullshit, same crap. In the end what's better and more energy conserving - to waste a ton of energy and chips off your dignity to try to prove, like Zenith did so eloquently, that this is shit and no one should touch it (vibecoded entropy functions?! holy crap...), to be civilised and waste a week on trying to educate all others WHY it is a hugely bad idea AGAIN AND AGAIN (roughly every couple of months the same thing happens), or just tell the llm-saturated punk to get lost? And eventually to fuck off, because they don't listen, they don't care about anything or anybody else, don't read guidelines, do no know about others before them, that got to the same dead ends both with their projects, and their community presence, they are writers, not readers.
You have just so much nerve and time and patience, especially with age. You have lived enough to have been trough so much bullshit, that wasting time on gentle methods to fend it off just doesn't cut it anymore. You just bang face-front onto some and you react directly. Because life is too short to be nice and civilized all the time. Look where this got our societies. On the verge of total collapse.
Thanks for your elaboration. Ok, I see and understand your frustration, and where it comes from. I didn't know it has been that frustrating all the time. I must think about what you said.
Well said, Rudi. I too understand the frustration, and I know this is the interwebs where flame wars are inevitable, especially around divisive topics in polarized times like these. But you can't win a flame war. It's self-defeating, the outcome is net negative. Good arguments get drowned out by personal attacks and insults, and people are more likely to side with your opponent.
I just want to say that I have never doubted Ken's understanding of Reticulum or his good intentions. Even though I agree with many of the arguments made, I'm embarrassed (on behalf of the community) by how he's been treated. Whether we like it or not, vibecoding is here to stay. There are more constructive ways to deal with it than flaming.
#5
the seven slops of hell
I've now thought about this discussion and talked about it with my
girlfriend.
As others already mentioned, I think the net result of this kind of
war has been negative for all participants, and it gave a terribly bad
impression to anybody else. It would be good if this could be avoided
in the future.
My assumption for the following is that the original circle of
reticulum authors and contributors, including the admins of this
forum, agree more or less 100% about their position: that certain
kinds of contributions are not what is wanted as a subject of
discussion here. And: that they are also the ones that provide and
maintain this forum.
Then they have some kind of authority and do not necessarily need to
be neutral to every opinion if it crosses the borders they defined for
this forum. They have a kind of householder’s right I would say - no
one is forced to come and discuss here. Everybody can go to a
different forum or create a new one. This role of that team is
justified because their private time and ability to work on reticulum
suffers if they lose too much time and energy here.
The rules must be fair (not a problem here, IMO), they must be
discoverable, and: when there are actions by maintainers or
aministrators, they must be communicated. In a way that makes the
action visible and comprehensible for everybody. Else, since even
admins don't appear without partiality in the discussion and take
part, they lose their authority. A failed communication was one part
of the problem in this thread.
An even bigger part to me, as an outsider, seems to be that the "core
circle" is very stressed and burdened, and it doesn't have a proper
mean to end such discussions. They should have. They need to be able
to protect themselves from this kind of stress, as much as possible.
If all my assumptions are correct, and IF (and only then) all people
responsible for this forum agree 100% that, for example, this
contribution should not be discussed longer here, then it would be
better and ok (for me) if they would finally completely stop the
discussion, after giving an explanation. By some form of closing or
moving the thread, some technical mean. This needs to be communicated
clearly and calmly.
Not everybody will be happy of course, but it would still be much
better than what happened. Futher distraction of core programmers or
admins should be impossible to happen afterwards.
If they, for example, were able to move the whole thread to a kind of
"anything else" category, the discussion could even be continued, but
it should be clear that maintainers don't read it and nobody
representing this forum necessarily reads it or cares about what is
said. It is then a purely private exchange similar to discussions
somewhere else.
An alternative would be to force a complete stop of the discussion.
This might seem very radical and unfair, but if I consider how
stressed people are here, and that nobody wants the original team to
burn out (hopefully) - this looks like an appropriate measure. Nobody
can expect that everybody gets a personal feedback from maintainers if
they lack the time to do that.
I don't know if my suggestions are currently realizable (technically)
and how, but from what I have seen and understand, something should
change! There are probably other and maybe even better ways. I'm
also sorry for the long message, I'm not good in writing terse. I
also didn't want to give useless tips but.. hopefully it makes some
sense and is a bit helpful. This experience really made me thoughtful
and sad. Else I would not annoy you with such a long reply.
Anyone seen Groundhog Day (https://www.youtube.com/watch?v=nHSTc9Ydtds)? Zenith is like Phil Connors on day four when Ned Ryerson runs over all excited and Phil just smacks him in the face. Day-one-Ned was annoying but tollerable however by day four, Phil was done playing nice. Ultimately though, it was Phil, not Ned who changed and left everyone in a better place.