I honestly don't get the point of TUIs...
A real command-line interface is extremely useful - it's trivially scriptable, works direct or with ssh, scroll-back buffer logs what happened, commands stay in my shell history, I can copy-paste commands to a friend over chat system, or into shell script, and it's easy for app authors too. Its my first choice for my apps.
If low-color fixed-width character grid is not cutting it, then native app or web app is a great second step, or even intermediate solutions, like generating HTML files from CLI tool and opening them in default browser. You have to invest some effort, but you have infinite ways to design your interface, and it's still in user's familiar environment.
But those charm.sh TUI applications seem utterly useless and highly annoying. They give up all of the terminal advantages: my shell's history is useless, my favorite ways to edit commands does not apply (as they have their own editor), I cannot scroll back and see what the program just printed, I cannot script it, I cannot log it, I cannot search it, I cannot redo the previous action, the color scheme is not the one I've picked... At least with web apps I can parse html and/or hit underlying API directly - no such luck with TUI apps.
At least the good news is that TUI apps are not getting any traction, and I can completely understand why.
Also, TUI's have their place. I haven't looked much at GUI alternatives, but k9s is really great.
Would also assume that interactive apps are simpler to implement if it's a TUI.
Ok, lie down. Relax muscles, sinking down, good breathe...
Bored.
Bored bored bored OMG this is so boring!
Breathe, breathe, try not to think of how boring this is!
Bored bored bored oh a bird is chirping. Chirp chirp chirp and gone.
Bored bored bored bored bored holy shit when does this end?
My fingers are flicking now. Bored bored bored bored fuck it I'm done. Waste of an hour.
My friend: wasn't that awesome?
Uhh.. let's just go build something.
I use
Fujitsu D3417-B1
Xeon e3-1225v5
32GB DDR4 ECC
Samsung 980 Pro 2TB (with up-to-date firmware)
Pico PSU 150w
and it is using 9.3W in Idle and about 12W running my daily services. It can even run a macOS VM for experimenting / software development, USB-Passthrough, Replication, etc. etc.It is rock solid stable, not too power hungry, can run nearly ANYTHING and I never looked back.
We ended up using the REST API for automated provision management and there are certainly warts. It's a far cry from being a turn-key solution, which I'd argue is preferred by a large enterprise.
It's great for click-ops if that's your use case, but that also wouldn't qualify as an enterprise use case.
It's fine, I guess. But it did take a while to learn the new ways.
I think this is the main complaint from users with decades of experience. Their scripts and old knowledge stops working.
A lot of maintainers don't pay attention to excluding test cases and artifacts from their packages, leading to ridiculous package size growth.
Last I checked numpy was close to 100MB, a huge chunk of that being test case artifacts.
Django packages all translations for all languages to ever exist.
Pandas bundles pre-built dynamic libraries with debug symbols.
Etc.
Most of my "production" virtualenvs are close to a GB nowadays, which is insane.
I did have a look at numpy and on my machine the tests did not bloat it as much as you made me believe. The `core/tests/` modules are 3MB and the `__pycache__` doubled it to 6MB. What do you refer to as "test case artifacts"? The modules, pycache, or both?
Also, wrt you statement on pandas; is it the debug symbols that account for the bloat, or the libs themselves?
While I'm generally all for minimalism and like reading plain text documents that follow some simple formatting scheme, the one thing that annoys me about it is links not being clickable, at least on mobile. I think on desktop there's actually a "visit url" Item in the right click menu, but no such thing on mobile (Firefox). You long-press the url, then it selects part of the it, manually fiddle with the markers left and right to get the full url selected, Copy, tap into address bar and paste. Is there a better way?
0. Give up the expectation of figuring it out quick
1. Read the official manual instead of tutorials
2. Read example configurations from public repos
> By default, `args` is a set of derivation names denoting derivations in the active Nix expression. These are realised, and the resulting output paths are installed.
?? - I think the author really hits the nail on the head with this point.