[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
Settings Mobile Home
/g/ - Technology

Name
Options
Comment
Verification
4chan Pass users can bypass this verification. [Learn More] [Login]
File
  • Please read the Rules and FAQ before posting.
  • You may highlight syntax and preserve whitespace by using [code] tags.

08/21/20New boards added: /vrpg/, /vmg/, /vst/ and /vm/
05/04/17New trial board added: /bant/ - International/Random
10/04/16New board for 4chan Pass users: /vip/ - Very Important Posts
[Hide] [Show All]


Janitor acceptance emails will be sent out over the coming weeks. Make sure to check your spam folder!


[Advertise on 4chan]


File: J-RPG wizard.png (3.28 MB, 2858x1225)
3.28 MB PNG
>A modular Bash TUI framework that boots into a terminal menu or dispatches to registered module entrypoints for managing home-lab services (audio, mesh networking, voice control, identity, DNS, SSH, etc.), using a plugin-like module system with dependency resolution.
Lemme explain...
---
I was running into the issues like "where the fuck was X command again? -> search .bash_history" or "shit, what are the regex quirks here?" or "X works on Y distro but works differently on Z". For instance, I'm using the Terminal on Android based devices as well as x86 Alpine or Arch. If you've ever used a mobile device as a reliable addition for your main device, you'll notice there's the random MAC address and a dynamic IP. Even if that issue is solved, there are certain things you might want streamlined.
>Practically
SST/TTS is integrated directly in the terminal or even as a background process. If I'm on the go, I can still take notes, query LLM APIs and manage agents without ever having to look at my screen or even have a laptop on at the time. Whenever I turn my laptop on, notes and work done in the meanwhile is rsynced. Because of the automated integrated smart device on local networks, I'm regularly using the smartphone as audio input, which means I wouldn't use the weak smart device for transcription in case of a more performant device being available.
The TUI framework generally allows for better Termux support in general. For instance, I've create a bottom bar for mouse support, which allows users to browse the menu without the annoying Android keyboard.
>tldr: TUI for every distro. Modular, so I can easily extend it. Hands-free. Integrates devices and syncs automatically.
>>
File: project.png (226 KB, 1058x996)
226 KB PNG
Actually, this is it. Going to make a more compelling TUI still though. I already have breakpoints added, so it'll recognize row/columns. This allows for a minimal design on mobile devices, whereas wide/tall windows include more additional info and allows for bigger buttons.
---
>Identity: Static identity, independent of IP & MAC. Used for identification using mDNS among other things.
>Host & Peers: SSH, key management and related stuff. Got some rsync and autodiscovery stuff too.
>Voice control: Setting all types of bindings, setting voice recognition settings, setting voice model for TTS, RVC model, etc.
>Python: Just managing multiple venvs for various tasks. I really hate archiving, managing and activating venvs as well as remember wtf the point of every single one was. I'd continuously update the YT downloader but I'd use python 3.11 for local LLM stuff
>Documentation: I'm too lazy to actually update documentation but ever since I can do it while taking a walk, cycling or driving, that shit is actually fun to update. Great way to sum up whatever you remember and figure out what hasn't been remembered in detail.
>Styleguide: All TUI elements get collected and applied. Never again do I have to tediously re-invent shit; Just improving it.
>Music Player Daemon (and MPC): This is honestly just practical IRL. Combined with snapcast, you can share audio with every device connected on a local network. Rather than having one speaker blasting music, you can have multiple interconnected ones and it's more spread out and synced.
>DNS Server: IF you have a rooted device, you can easily make a little mini-router. Local domain names and shit.
>Security & Permissions is basically the command & function whitelist for voice commands.
>Project introspection: Various export functions. Single modules, every header, diffs, lines per file, calling/called by, function overview, comment block extraction, unused function detection, menu export, etc.
Just stuff to get better organized.
>>
Okay, keep me posted.

But unironically, this seems more interesting than the usual /g/ sloppa.
>>
>>109137632
To be honest, I'm probably trying to solve way too many things at once... In its most basic form, I just wanted to streamline the shell scripts I'm creating. That's it. Just having a nice TUI. But you know how things go...
>What if it had TUI...
>What if it had programmatic access...
>What if agentic AI has a designated area in the project, so human/bot cooperation feels more natural...
In fact, I think this can serve as a basis for a human to define skills, set safeguards, allocate space or even give access to an entire device, which is only connected through a secure tunnel to the rest of the network. Honestly, I'm not sure what I'd use it for precisely. Just glad I made this shit, so I don't have to get frustrated making stuff like this in the future (when I'm in a hurry to organize it neatly).
Thanks for the nice remark. Was already expecting some cynical post.
(just as an aside: This can probably be used for people with 0 tech skills but who you'd like to share something with. MPD + Snapcast is basically a lifehack to avoid buying Sonos crap speakers)
>>
There are actually so many things I haven't mentioned. Another reason to streamline a TUI like this is that I'd simplify things I just really don't like.
>perl regex / grep -P
Not available on all grep versions or devices. One just has to stumble upon that shit, realize it's not supported and find a way around it. All these damn dependencies and quirks break my balls on a weekly if not daily basis.
I've added search.sh to the core lib files so I can easily forget about grep, sed, awk and other text processing quirks. It's just a top-of-my-head example. Obviously, I could just "read the manual" all the time until I remember 10k commands and arguments but ain't nobody got time for that. Hot take but remembering arbitrary seeming arguments for countless utils seems like a waste of brain space.
---
So like I said: It's about using all devices in a smart way. There are also device limitations (Android sandboxing) but there are workarounds, if you know how to make a bridge app. For instance, it's tedious/hard to access the Camera2 API, even if you have root access. Using a bridge app though, you can send the camera output to another device with ease. This in turn opens the door for new possibilities like using your smartphone for audiovisual input and using a server or laptop to process said data (machine vision).
>>109137632
>usual /g/ sloppa
I really don't understand why barely anyone is enthusiastically talking about their side projects.
>>
lmao fucking hell this nigga llm summarized it way better.
>>
File: file.png (48 KB, 400x220)
48 KB PNG
>>109137798
>I really don't understand why barely anyone is enthusiastically talking about their side projects.
Because before aisloppa, /g/ turned into picrel. Now that aichads can actually make things, people following internet celebrities, incels for short, felt threatened, and began complaining that it's not real progressposting. Like fa/tg/uys complaining that they only produce shit, while being the most prolific board on this site (or so I heard).

Progressposting is cool as fuck, OP. Keep it up. I'll read the whole thing in the morning, it does sound interesting. *beat* There's also this. Most of us have our brains too fried from dopamine overload that reading long texts is difficult so "I'll read it tomorrow" until we don't.
>>
>>109137822
Yeah, I'm actually fucking bad at explaining things in general.
>aichads can actually make things
My legit criticism of _some_ AI users is them not _understanding_ the things they make. But that's also the thing that prevents them from actually finishing a project, hence it wouldn't be real progress posting (meaning unfinished forever). The real AI chads are those who know how to code and use AI to cut corners. If you don't know how to code and are unable to learn, it will be a pointless endeavor. Like... I know how to use Regex and I used to take a regex editor, paste a text and tediously check whether my regex is valid and actually marks the right characters. It's a corner worth cutting because I know I'd take the cheatsheet every time anyway. What's the point of remembering it now when I didn't 5 years ago, lmao.
Honestly: LLM support changes a lot. For better and for worse. People "picking" sides are just people that are incapable of nuance. You've made a profound point about internet celebrities and their influence on people's mindset. It just lays bare how most people are tribal as fuck. Like... I honestly believe most people don't realize the things they internalize and believe despite lack of experience and insight. Hence the weird AI polarization, like people are incapable of seeing useful tech AND seeing dodgy companies/nations. It's just this polarized public square, filled with retards, shouting inane shit.
>>
>>109137885
>this polarized public square, filled with retards, shouting inane shit
Yep, the whole world, the internet, even 4chan is like this now. Welcome to the future.
>>
>>109137822
>Most of us have our brains too fried from dopamine overload that reading long texts is difficult so "I'll read it tomorrow" until we don't.
Yeah. I might upload a simplified version. Let the code speak for itself. That's the same as a long text but after a quick check, one can just run it and then slowly take it from there. I've attempted to establish a "canonical project structure". It just means forcing myself to have lib/, modules/, data/, tmp/ and use them in exactly the same way moving forward. I used to do it so chaotically and however it fitted best at the time. But this current structure creates repetition and reliability. It's good to know the patterns but it's pointless to have to repeat them manually like a robot. See it as boilerplate.
Again: IMO this sets some AI users apart from others. One can "just" use openclaw or opencode or whatever the cool kids use these days. Or you can build your own setup. Langchain or querying the APIs directly or through Openrouter.
>btw, I'm not using agentic AI yet. I think it backfires too often and I'm focusing on a safe environment before unleashing it. Also, I think a TUI project manager would REALLY help the cooperation with agentic AI. Because it's modular, it can improve itself with human support.
(I've already tested langchain. Easy to use and understand. Probably what I'd include as module too.)
>>109137920
Yeah. But you aren't. And I'm not. Plenty of people are tired of this shit. We should probably migrate to eepsites and the onion network, lmao...
>>
>>109137948
>migrate to eepsites
I do have a backlog of making some cool eepsite infra to make it easier for /g/entoomen (hopefully not easier for normalfags) to host stuff there. But I'm still dipping my toes in aigen. I think I might be finishing my first vibed project this week, if all goes well. Main goal was to nail the AI workflow.
>>
>>109137994
>I do have a backlog of making some cool eepsite infra to make it easier for /g/entoomen (hopefully not easier for normalfags) to host stuff there. But I'm still dipping my toes in aigen. I think I might be finishing my first vibed project this week, if all goes well. Main goal was to nail the AI workflow.
Sounds hella interesting. What's your current workflow? Github? Some local solution? Opencode? Also, what models (local/api)?
Feel free to share whatever you want or obstacles you're facing. Maybe context windows issues or something like that.
>>
>>109137994
Like, are you using a vector database or something like that? How are you handling short/long term memory/context? Skills? MCP? I have taken a pause from agentic stuff but wondering what your next steps are and in what context you're operating it.
>>
>>109138036
Opencode, with default zen. Testing migrating to pi with openrouter later. I was building a custom solution to manage context by writing it to files, very bureaucratically, but I'm testing some skills that could do 90% of what I wanted, if it works. I'm talking about it mostly on good ol' /vcg/. When I get results in a few days, this thread will probably be gone, but I'll post progress over there.
>>
>>109138067
I tried building a wrapper around it and thought it was pointless. Then moved to Langchain. Way easier building something custom using that.
---
Here is my search query I used to show an example: "langchain bash script"
https://how.wtf/create-and-run-bash-programs-with-langchain.html
It's a decent example. But obviously you can already see more options. We can circle back to the OP topic and say: These types of applications show the NEED for a solid TUI. It's so damn easy to just write a small module for Langchain and integrate it. Already made the logic of "dep=module:python" so it only loads if python is present. All of this is programming wisdom that (imo) separates the boys from the men; good software from bad. Just modular design, separation of concerns, lazy loading, all of that shit.
AI is nice and all but you gotta force it to use best practice straight away. Or else it fucks your project long term. Just my 2 cents and personal experience.
>>
>>109138153
(remark about opencode could've been a skill issue on my end or maybe limitations in earlier versions. Any software can be as good as you want it to be/able to make it, taken that you've thought your idea through and roughly know all the steps to at least get to a workable version)
---
The problem with AI isn't how it makes programmers lazy but rather how it gives managers the illusion they understand all aspects of software development, just because they're able to find "the happy path". Yeah, no shit, Sherlock. If that's the goal, all software would take like 10-20% of the time it does. Probably also insecure and unreliable.
>tldr: A Bash-Fu master wields AI proficiently like a master swordsman, whereas the tech manager wields it like a butterknife. I'm in the middle but strive to become a sensei.
>>
>>109138247
>The problem with AI is how it gives managers the illusion they understand
Combine someone that sound authorithative with a sycophant and it's hard to expect any other outcome.

Yeah, opencode felt hard to extend, but was the first tool I started with, evaluating others to switch. Some anon suggested pi. I'll add lagchain to "things I'll test" too.
>>
File: example1.png (316 KB, 1759x602)
316 KB PNG
>>109138266
>>Combine someone that sound authorithative with a sycophant and it's hard to expect any other outcome.
100%
Ok, what about this... I'll make a random github account because I like cooperation as anons, not as egos with names attached. You've mentioned a project on eepsites. Sounds awesome and makes me think you're at least close to my wavelength on this.
I have a pretty much unshared solution and think it could help people in the same boat as you, i.e. it satisfies your desire for custom projects while creating common ground for potential cooperation. The baseline consists of the CORE + TUI, which modules can rely on. I'm only adding things that are certainly shared, so we can avoid duplication in the modules themselves. If it has to be extended, best is to just create a wrapper function inside the module.
Easy. If pi is preferable, it's easy to make a separate module for it. The main point is really creating a type of bash framework and make it as modular as possible. I haven't given it a lot of thought but the eepsite approach creates an opportunity to create decentralized hub/marketplace.
>Warning: All of this could be very susceptible to security risks. People _really_ have to understand the code they're forking.
(I'll elaborate more in the next post. Then I'll probably clean up the project and share it.)
>picrel: It's the project info module. Exports custom comment blocks, headers, unused functions, paths, constants, optional resources, dependencies, calling/called by overview, etc.
I swear I wasn't this organized ever but at some point the chaos was becoming a real mental hurdle. Some people are naturally inclined to structure everything neatly. I'm not like that. I wish I was. Takes effort and perseverance...
>>
File: example2.png (130 KB, 613x683)
130 KB PNG
Anyway, besides skills, there are other ways to use LLMs more effectively. Some agents use bash and there are lots of ways to scope it. Creating this streamlined approach can help both processing and improving the debugging process.
>imo LLMs aren't thorough if you don't explicitly instruct them
>the more you standardize by your own rules, the less an LLM can go down its own random path
The debugger in pic (incomplete pic) could probably be improved in the sense that it could output a machine readable version too.
https://codeberg.org/mrmonkesir
Will share here. Going to be 40C where I'm at. Shieeeet. Anyway, current project has all kinds of local connections and residual files from testing, so need to clean it up before sharing. Anyway, you can bookmark it and check whenever you want.
>>
Good night, fren. Thanks for the chat. I'll read everything "tomorrow", because it's 6am, the sun is about to rise, I need to get some shut eye.
>>
Oh right, totally forgot to mention. IF this helps you out and IF it saves you time (I'm sure it could, hearing what you're planning to do), you could fork and add your own modules. This would keep the ball rolling and maybe more people would add their own creative modules. I mean... Two termux capable devices = sonos alternative. That's practical to some as is. One doesn't need this boilerplate to achieve it but it just makes it a lot easier and predictable.
---
My long term plan is to create a type of terminal accessibility tool. People with limited hand mobility struggle to use a terminal without expensive equipment. If we can get them to use it, then we might get them to contribute. But to do so, I need to get it way more reliable (SST). Then make it work for both wayland and xorg as well as mobile devices.
I don't know man... I'll just share and you can have a look at it.
>>109138517
All right, good night bro. You got the URL now so if you want to use the project, feel free to fork. I'm just ranting about it. Will start cleaning it up a bit.
>>
>>109138536
oh wait, I'll finish the STT module before sharing. Why did I call it SST before? 40c/104F degrees bro, im dying lmao.
In short: Voice binding/STT already works but desktop (xorg/wayland) automation isn't working yet AND a way to do the same on a non-rooted droid is missing too. Works perfectly if rooted though. Besides that, I really need to clean it up and separate a few more things to make it perfect.
All right, cheers. Would probably bump it once or twice. Just bookmark the link and it's going to be there later.



[Advertise on 4chan]

Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.