Earlier quoted context omitted.
Are you sure? https://hpjansson.org/chafa/
It's cool stuff but unfortunately I need icons.
Bubble Tea: fun, functional and stateful way to build terminal apps
81–90 of 116 posts
Re: Bubble Tea: fun, functional and stateful way to build terminal apps
#82I've been using dialoguer [1], indicatif [2], and colour [3] for the rust ecosystem. Really high quality libraries: [1] https://docs.rs/dialoguer/latest/dialoguer/ [2] https://github.com/console-rs/indicatif [3] https://docs.rs/colour/latest/colour/
Re: Bubble Tea: fun, functional and stateful way to build terminal apps
#83Earlier quoted context omitted.
Why not? There's a lot to hate about every language, but one advantage about Go is that it's fairly easy to context switch in/out of, which makes it great for side projects, because it's cognitive load while using it is really low. Unlike say, Rust. I do love Rust though.
What exactly is hard to switch in/out of Rust, context-wise...?
Re: Bubble Tea: fun, functional and stateful way to build terminal apps
#84Earlier quoted context omitted.
I bet you HATE the Go language name.
I myself just don't understand why any reasonable person would pick an existing common word for a project in 2022 instead of using the plethora of name generators that can give you something original without even trying. But like, people that work for Google surely know something about search term collision. Or just don't care about making anything else that has "Go" in the query gets confusing results. Which is an o…
People are also pretty good at disambiguating things. Fewer than 7% of people ordering from Amazon have ended up in Brazil on accident.
Re: Bubble Tea: fun, functional and stateful way to build terminal apps
#85I spent a good chunk of time last week looking for a solid cross-platform GUI toolkit. I came to the conclusion that the terminal is the most portable GUI platform available. You can create an app that has windows, buttons, mouse support, etc, statically compile it for Windows, Linux, and Mac, and run it over SSH. The closest you can get to that with real graphics is using a toolkit built on OpenGL, and you'll be for…
The real achilles heel is they're not accessible. There is no terminal protocol for denoting actual objects being drawn in the window such that they can be exposed to accessibility APIs. Standard CLI tools are usable, but TUIs are not.
I have previously seen someone state that for this reason, every TUI program should have an optional CLI mode.
Also, if every UI is a TUI then the OS task switcher becomes useless, terminal programs don't have access to the full set of key modifiers, mouse support is spotty, etc.
Re: Bubble Tea: fun, functional and stateful way to build terminal apps
#86Earlier quoted context omitted.
It's not exciting but it is pleasing. The ecosystem is refining well (e.g., $GOPATH deprecated and workspaces just added). Now with generics there's even less to complain about.
It's not really very pleasant if you are used to modern type systems. It feels antiquated in a limiting way, for no good reason. With C at least it's clear to me that it's literally (very literally) a 50 years old language, and I've gotten used to it after decades. It's far from ideal, but at least there's some deep familiarity, and that coupled with the fact that it's everywhere makes me feel more tolerant of it. Bu…
It is simple enough to learn quickly so the investment isn't that demanding. I'd like to learn Rust but the learning curve is much steeper and it seemed to be subject to changes. I'm not shitting on it, just lazy with too many distractions to hunker down and do a real investment of time into it. Someday.
Re: Bubble Tea: fun, functional and stateful way to build terminal apps
#87Earlier quoted context omitted.
Lately I'm all in on LÖVE ( https://love2d.org ). No dynamic linking required, cross-platform, less bloat than mainstream toolkits. Anything it can't do I just accept as a constraint I can't change.
Game engines (at least the lightweight ones) seem good for cross-platform graphical apps in general but the idea of redrawing a static GUI at 30 FPS just sounds too inefficient to me.
Re: Bubble Tea: fun, functional and stateful way to build terminal apps
#88Earlier quoted context omitted.
> for no good reason When a language has some property that surprises you, consider whether it might have been designed that way on purpose, not simply because the creators were ignorant/lazy/negligent/drunk/lost a bet/etc.
> creators were ignorant/lazy/negligent/drunk/lost a bet/etc. This is not a well-intended comment, but then why didn't they add generics at the start? It's not like it was a surprise to anyone even remotely familiar with PLs that they will have to retrofit it sooner or later. Also, function-scoped defers instead of surrounding braces-based one? Come on...
Re: Bubble Tea: fun, functional and stateful way to build terminal apps
#89Earlier quoted context omitted.
Why not? There's a lot to hate about every language, but one advantage about Go is that it's fairly easy to context switch in/out of, which makes it great for side projects, because it's cognitive load while using it is really low. Unlike say, Rust. I do love Rust though.
I'm only really interested in learning a language if it excites me, or if I'm getting paid to do it. I don't hate Go, and would be fine to learn it on company time for company projects, but there is no spark that would lead me to learn the language on my own. I've written some basic Go, but if I'm using it in personal projects, I'd would have to invest time to understand the ecosystem, runtime, standard lib, best pra…
you just said you wanted to write SSH apps. is that not enough of a spark?
Re: Bubble Tea: fun, functional and stateful way to build terminal apps
#90I spent a good chunk of time last week looking for a solid cross-platform GUI toolkit. I came to the conclusion that the terminal is the most portable GUI platform available. You can create an app that has windows, buttons, mouse support, etc, statically compile it for Windows, Linux, and Mac, and run it over SSH. The closest you can get to that with real graphics is using a toolkit built on OpenGL, and you'll be for…
Some terminals have custom protocols for displaying images. The real achilles heel is they're not accessible. There is no terminal protocol for denoting actual objects being drawn in the window such that they can be exposed to accessibility APIs. Standard CLI tools are usable, but TUIs are not. I have previously seen someone state that for this reason, every TUI program should have an optional CLI mode. Also, if ever…
Its amazing how one persons perspective can completely disagree with anothers.
What did you mean by the "OS task switcher becomes useless" ?