this post was submitted on 19 Dec 2025
-20 points (35.7% liked)
Selfhosted
60281 readers
655 users here now
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil.
-
No spam.
-
Posts are to be related to self-hosting.
-
Don't duplicate the full text of your blog or readme if you're providing a link.
-
Submission headline should match the article title.
-
No trolling.
-
Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Why put all the Python code in the script?
Apparently it was all ai generated and the author doesn't actually know how to program. Just look at their responses in the .ml cross-post, that's not someone whose software I would trust.
And it's worse because they hide the Python code, which means that they can't use tools like uv or ruff to check that everything works properly. I don't understand why people do this.
Charitably: AI turbocharged dunning-kruger
Less charitable: Malware delivery.
There is no good reason why they couldn't have a normal source tree, that they pack into a single shell script in CI.
Here is the source tree.
Sorry, but a photo of a directory structure is not a source tree.
Your git repo consists of 4 files, a readme, a licence, and two packed shell scripts.
If you have an actual published source repo, link people to it.
So just a expanded file structure directory is what you want? The script executable expands to each individual piece once run.
What do you mean a actual published source repo? I do not understand how its not that. Everything is packaged into one script.
Yes. Separate out each part out. You are currently publishing the equivalent of of a compiled binary. Split it up, and use a script to "compile" it back into the mega shell script.
It means that changes to each file can tracked (and audited) individually, you can conditionally compile bits in or out, and most usefully, you can write tests for the individual components.
Ok I'll work on it and share when I am done
You can still have that script, but put it on the releases page. Git works best with actual source code and it doesn't belong there. You should also add an extra script that generates one of those 'compiled' scripts to the git repo, so that people can do it themselves.
Also the normal and rpi versions are two completely independent implementations of the same software. So now the LLMs have twice the maintenance load.
I didn't diff the two files but even the startup and control code appears to be custom for each version.
Better? https://gitlab.com/here_forawhile/nanogram-termux
Dedicated expanded pi version coming later.
They are different environments, and so there are many changes that take place in order for it to work on a PI.
The core app and features are a mirror.
What do you mean?
that post is now deleted, but you can see their modlog here
That's wild that the mod thinks it's off topic. Thanks for shareing that I didn't even realize I had been censored by the mods.
AI generated I guess.... with love, time, money, and care from me. Take it or leave it lol.
I made this on mobile, and one monolithic file was how I can quickly iterate and test each feature.
Every time I added a new feature I had to test it's function to test if it was properly implemented and exactly what I wanted. Keeping it all one file means I could copy paste it into the terminal. Running it overwrites all the home directory instantly with all my updates across the python, db, html, css.