While the overall focus of the book is on programming with Notcurses[2], the author shares a wealth of related info and history throughout its pages. Note also that Notcurses has evolved quite a bit, but the book is still a nice resource.
While the overall focus of the book is on programming with Notcurses[2], the author shares a wealth of related info and history throughout its pages. Note also that Notcurses has evolved quite a bit, but the book is still a nice resource.
Check out his youtube channel it's a wild ride! Good example video from it. https://www.youtube.com/watch?v=fq963c6Fl5E
(I know it sounds like I could be Nick with all this praise but I'm just a guy that appreciates people with interesting obsessions that may benefit me some day).
Boy, what did I just see—and especially hear?!
But never mind.
Still the main question remains regarding this kind of TUI stuff: Why?
I see that it's a impressive demo and great hack, sure. But why should we use a glorified virtual line-printer to display all those things? It's just layers of craziness (like I started to call such stuff).
In the end our hardware will render pixels! (In big contrast to the original hardware for which this stuff was invented in the first place.)
Misusing our glorified virtual line-printers should be finally replaced with something that acknowledges our current reality (which is: HW based on pixel framebuffers) instead of fighting this reality. It's a complete joke that I need a multi-GHz computer and an expensive GPU with many TFLOPs only to be able to scroll somehow "smooth" in an UI form the 60's…
A local PC or phone may be your only experience but it is far from the current reality in computers. most computers these days are embedded devices or remote servers, neither of which have pixel framebuffers, or even "video displays". Heck, even inside your PC are computers that only have serial connections: I once had a flaky consumer-grade hard drive that required me to hook up a serial line to its control console from time to time and issue text commands to clear its error buffer (not buying a Seagate ever again).
In the end our hardware gets its input from sensors, operates actuators, and performs arithmetic transformations from its input to its output. A very few of those actuators result in coloured blobs on a large LED matrix. Don't get confused with that as a single universal use of computers.
Even the interaction with your HDD through its serial interface ended up on, no big surprise, your display.
I don't question TUIs as such!
I question how we implement them.
The whole "terminal emulator dance" is imho strictly unnecessary.
You could also talk to your HDD through its line interface by, for example, some proper RPC mechanism. (With the help of some adequate client software, which could be a CLI application, but also a GUI tool). The HDD doesn't have to provide a framebuffer based user interface, of course. Your client does.
Someone else pointed even already to something baking my assumption that getting rid of all the layers of emulation of more than ancient hardware would be not only possible but is even desirable: