[HN Gopher] Charm - tools to make the command line glamorous
       ___________________________________________________________________
        
       Charm - tools to make the command line glamorous
        
       Author : hillcrestenigma
       Score  : 438 points
       Date   : 2022-01-23 17:46 UTC (5 hours ago)
        
 (HTM) web link (charm.sh)
 (TXT) w3m dump (charm.sh)
        
       | csharpminor wrote:
       | I love CLI tools, and I think we're just scratching the surface
       | of what's possible. It's really neat to dig into the UI
       | components that charm has available.
       | 
       | It feels as though many GUI-based web / chromium applications are
       | collapsing under their own weight. They're slow and
       | discoverability is bad. Maybe worst of all they're always
       | distracting me with a popup / modal / alert that's unrelated to
       | my current task.
       | 
       | A lot of these issues go away in a CLI, and I think there's a
       | back-to-basics movement forming that could extend beyond the HN
       | crowd.
        
       | jayniz wrote:
       | Glamorous? More like glorious!
        
       | z3t4 wrote:
       | I wonder if the vt-100 terminal emulator will be used to surf the
       | next "web"... Instead of web sites, the nerds will run their own
       | ssh servers, then you can run programs and read files on their
       | "web site" (ssh shell). This has many advantages over the current
       | web, for example built in user management - you can allow anyone
       | access by their public ssh key. Now you say what about graphics ?
       | Text only might be a break from the ad ridden web today, but you
       | could also ssh -X to run GUI apps.
        
       | rossmohax wrote:
       | Reminds me of BBS.
        
       | [deleted]
        
       | maxwell_xander wrote:
       | This is what I come to HN to see - what a masterful and cool
       | project. I'm literally dropping my plans today to make a project
       | using this.
        
       | u-rate wrote:
       | These tools make me want to build command line tools!
        
       | dvtrn wrote:
       | These apps look wonderful, only taking a casual glance at the
       | repo, has anyone used, or would one recommend using Skate
       | (https://github.com/charmbracelet/skate) as a personal PW manager
       | or even keychain?
        
         | thoughtpalette wrote:
         | Also curious on how/what that would look like.
        
       | simooooo wrote:
        
       | tcldr wrote:
       | No idea if the tools are any good, but I absolutely love your
       | branding. Opinionated, but perfect for the demographic.
        
         | Lio wrote:
         | What is the demographic you think this is perfect for?
         | 
         | Just curious who this appeals to. It's not for me but that's OK
         | I like opinionated things and recognised that that this is
         | aimed at someone who probably will love it.
        
           | angio wrote:
           | /r/unixporn users
        
           | bostonsre wrote:
           | Perfect is a strong word, but it definitely seems to target a
           | younger dev demographic and more specifically, maybe one that
           | likes Japanese style animated cartoons.
        
           | hhh wrote:
           | Not the parent, but I find it wonderful. The spring library
           | is one I love.
           | 
           | There's some _charm_ to spending the time to challenge
           | preconceived notions of CLI output. I find something very
           | beautiful about picking up a new tool and being surprised by
           | the output in a way that piques your curiosity or brings a
           | smile.
           | 
           | It's the greatest form of learning to be able to just play.
           | Should you be implementing these into your enterprise
           | internal tool to monitor your platforms support tooling?
           | Probably not.
        
           | lowercased wrote:
           | Perhaps it's developers who are looking for some validation
           | from and engagement with their eight year old daughters?
        
         | [deleted]
        
         | amelius wrote:
         | https://blog.prototypr.io/are-we-designing-for-children-an-a...
        
         | zepto wrote:
         | I am the demographic in that I love using the command line and
         | want to see it get modernized.
         | 
         | I thought the design was terrible. Noisy and pointless and
         | frankly hard to see what is on offer.
         | 
         | It's _pretty and stylish_ but absolutely awful if you care
         | about the content, and that makes me worry that the components
         | themselves will be similar.
        
           | skavi wrote:
           | `ssh git.charm.sh` is maybe more your style?
        
             | zepto wrote:
             | Considerably better
        
           | majkinetor wrote:
           | I am of the same opinion. I closed it although CLI screens
           | look nice, as I couldn't stand the arbitrary attention
           | stealing noises all around.
        
           | bostonsre wrote:
           | Maybe it's aimed at a younger demographic and not just all
           | devs that use cli tools. The design doesn't appeal to me but
           | the several animated examples and quick blurbs about
           | functionality seemed to showcase what was on offer pretty
           | well.
        
             | zepto wrote:
             | Do you know what language the libraries are written for?
        
               | [deleted]
        
               | achileas wrote:
               | From the first line of the readme of the first listed
               | lib:
               | 
               | > The fun, functional and stateful way to build terminal
               | apps. A Go framework based on The Elm Architecture.
        
         | halfdaft wrote:
         | same, breath of fresh air
        
         | ncpa-cpl wrote:
         | I really liked their web design.
        
           | Shared404 wrote:
           | Side note on web design: uBlock blocked _nothing_. Usually
           | when a page that looks like this comes up, I notice 10 's to
           | 100's of blocked requests.
           | 
           | On top of that, I disabled JS out of curiosity, and the site
           | worked completely fine, sans expected failures (the only
           | thing that stopped working was the little videos by the
           | libraries)!
           | 
           | I think this is the first site with this level of "Design"
           | (Which I usually hate, but they did a really good job of here
           | here) where both of these things are true.
        
             | ncpa-cpl wrote:
             | Great observation. I had opened it on my old mobile browser
             | and it loaded super fast too!
        
               | Shared404 wrote:
               | I feel kinda compelled to run a torture test now.
               | 
               | Just tried w3m on desktop and it was decent, anyone have
               | IE sitting around?
        
               | ncpa-cpl wrote:
               | I have a celeron pc with xp nearby!
        
             | seanw444 wrote:
             | Agree. I'm generally a fan of the more simplistic websites
             | (sometimes that means them not looking modern at all), but
             | they did a fantastic job here.
        
           | wpietri wrote:
           | Could you say a bit more about your demographic and what you
           | like about it?
           | 
           | It's definitely not for me, and I'm entirely ok with that.
           | But I'm really curious about who it works for.
        
       | camgunz wrote:
       | I love Charm; doing `ssh git.charm.sh` is a lot of fun and really
       | sparks the imagination about SSH apps. They also have usable
       | solutions for auth and storage, which like, if you're thinking of
       | writing something like this are the first things you'd start
       | reaching for. They also work hard to enable you to run all your
       | own services, so you don't rely on the Charm cloud for
       | everything. Definitely a good model for future punk projects IMO.
        
         | hillcrestenigma wrote:
         | It really does. I wonder if these SSH applications can be
         | linked and used like web applications where it's delivered to
         | the end-user over the network with terminal + SSH being used as
         | a browser. The only problem for these applications (and
         | Charmbracelet) would be that there isn't much audience that
         | could use these.
        
           | qbasic_forever wrote:
           | ttyd is a nice little web terminal:
           | https://github.com/tsl0922/ttyd Just a small, fast, low fuss
           | C-based executable.
           | 
           | wetty is another good option if you want to run a nodejs
           | server: https://github.com/butlerx/wetty
           | 
           | Both use xterm.js for the client terminal, which is these
           | days the only game in town for a web terminal (it's what VS
           | code and many other electron apps use too). It's quite good.
           | 
           | Do be aware though that running a web-accessible terminal is
           | a huge security headache. You're opening up a websocket to
           | effectively allow commands and code to run on your server.
           | Pay attention to security and authentication options any web
           | terminal gives you, and use them. Most are not very secure
           | out of the box or just following their readme examples.
           | 
           | And watch out as many rootkits use web terminals as payloads
           | so smart organizations and security policies will be looking
           | for them or their traffic and you might get a very concerned
           | IT person asking you questions if you use these on a network
           | or machine you don't control.
        
             | [deleted]
        
           | colecut wrote:
           | Good point on the small target audience.. It really is a
           | shame because this is a great looking project.
           | 
           | I think I should write a web app that handles the SHH
           | connection on the backend and renders the SHH app into HTML
           | so that they can be enjoyed by the masses.
           | 
           | =)
        
             | Shared404 wrote:
             | If you do this, please mention that using a proper terminal
             | + ssh will work better(This is based on my understanding of
             | technologies used, but I could be wrong), and you may be
             | responsible for a lot of people taking their first steps
             | into knowing computers a lot better!
        
         | cdiamand wrote:
         | Looks cool! Are there any security risks posed by ssh'ing into
         | an unknown server?
        
           | matthewaveryusa wrote:
           | You potentially send all your key IDs (ie public keys) your
           | agent has. there are command line options to force your ssh
           | not to use your agent in which case, barred any bugs in the
           | ssh client, it's like browsing to a domain in your browser.
        
         | divbzero wrote:
         | The dynamic intuitive interface provided by `ssh git.charm.sh`
         | is a wonderful example of how text-based user interfaces do not
         | need to be limited to REPL. I wonder if there is space for a
         | new text-based web browser that adopts some of the design
         | features showcased by Charm.
        
           | digisign wrote:
           | A Gemini client might benefit:
           | 
           | https://gemini.circumlunar.space/
        
             | viraptor wrote:
             | Aren't Gemini pages static-by-design? It would be hard to
             | do something really interactive / state-preserving with
             | them if I'm not mistaken.
        
           | capableweb wrote:
           | > I wonder if there is space for a new text-based web browser
           | that adopts some of the design features showcased by Charm
           | 
           | Not sure if you're aware, but older protocols are still
           | around to be used for this use case, and Gopher has even had
           | a bit of a resurgence as of late
        
       | enriquto wrote:
       | I'm at the opposite end of the cli taste spectrum (my PS1 is a
       | single character), but I love this site.
        
         | quasarj wrote:
         | Do you just have a super good memory, remembering where you are
         | all the time? lol
        
       | bmitc wrote:
       | Damn. I am generally not a fan of command line applications, but
       | these libraries look amazing. I'm definitely going to be checking
       | out Bubble Tea.
       | 
       | And the design of everything is really great. It's unique but not
       | outlandish. Just clean, simple, and cute. Really impressive stuff
       | here.
        
       | maaslalani wrote:
       | I've been using Charm tools and libraries for a while now, truly
       | some of the coolest stuff I've ever experienced on the command
       | line.
        
       | aftergibson wrote:
       | For a command line library, this site is really fun and well put
       | together.
        
         | kingcharles wrote:
         | I upvoted for the web design...
        
       | sdze wrote:
       | Gross candy-store like website. I can not believe that the start
       | page is nearly 14 MB big.
       | 
       | And I still don't understand what they sell.
        
       | brailsafe wrote:
       | Really effective use of colour. I like the aesthetic
        
       | catern wrote:
       | This looks cool!
       | 
       | But: These mostly aren't command line applications, they're
       | mostly terminal applications. They're no more "command-line" than
       | running "firefox" from your shell is "command-line".
       | 
       | There's a big difference... a terminal application takes over
       | your terminal and doesn't have all the usual advantages of
       | command-line applications used from the shell, like history and
       | easy scripting.
        
         | hunter2_ wrote:
         | Upon connecting to the demo, they seem to use TUI for what
         | you're talking about and CLI for what you're not talking about.
        
       | sva_ wrote:
       | When you open the site on some mobile resolution, the ice cream
       | cone looks like a pile of poo in the bottom left as the rest is
       | cut out. Kind of funny considering the promise of a "glamorous
       | cmd line".
        
       | zmmmmm wrote:
       | I love the general renaissance of terminal UI tools we are seeing
       | in the last few years.
       | 
       | I can't quite put my finger on what I like about it so much.
       | Something to do with the simplicity and directness of these UIs,
       | guaranteed optimised for efficient keyboard nav, widespread
       | adoption of vim-like navigation keys, and the fact that they link
       | directly with my terminal shell so I can stay entirely in a
       | stream of thought while working through complex series of tasks
       | that weave in and out of these apps and shell interactions.
       | 
       | I do wish it was easier to select text from the terminal screen
       | without using the mouse. It is supported in terminals to place
       | text onto the system clipboard, but rarely implemented in most of
       | these apps. It's the main reason my hands leave the keyboard.
        
         | jck wrote:
         | You can configure kitty to open the entire scrollback buffer in
         | an editor or a pager(less/nvim etc).
         | 
         | https://github.com/kovidgoyal/kitty/issues/719
        
         | Syonyk wrote:
         | > _I can 't quite put my finger on what I like about it so
         | much._
         | 
         | I can.
         | 
         | Doesn't require a 1.5GB build directory to make a 500MB binary
         | that uses 3GB of RAM to display a chat client/music player/etc.
        
       | zkader wrote:
       | Charm's libraries for the CLI are just awesome. I think these
       | guys are really breathing new life into the CLI and make it look
       | appealing for all kinds of applications. Chose their bubbletea
       | library for a CLI file transfer tool
       | (https://github.com/ZinoKader/portal) and found it a delight to
       | work with. Super easy to make something that looks and works
       | great.
        
       | bgorman wrote:
       | I looked at their UI library. How did we get to a place where
       | "The elm architecture pairs nicely with Go".
        
         | skavi wrote:
         | Do you object to that idea?
        
       | ncpa-cpl wrote:
       | I liked their contact email: vt100@charm... :)
        
         | eurasiantiger wrote:
         | Everything there is worded so that sysadmins and devops kind of
         | persons will love it. All the product names are cute and
         | innocuous. This is a huge red flag and the entire operation is
         | highly suspicious.
        
           | tom_ wrote:
           | Yup, it's that old classic again! Goes something like this:
           | 
           | Step 1: Produce cutesy web site clearly aimed at a specific
           | demographic
           | 
           | Step 2: ???
           | 
           | Step 3: ???
           | 
           | I've seen it so many times now that I can't believe people
           | are still falling for it.
        
       | rr808 wrote:
       | While we're on the subject (and from Rich the other day) is there
       | a library to do pretty command line apps for Java?
        
       | a-saleh wrote:
       | , I like it, but I am not sure about diving into Golant again.
       | 
       | Any way to use it in other languages?
       | 
       | Or do I just keep poking at Rich[1] in Python?
       | 
       | [1] https://rich.readthedocs.io/en/latest/
        
       | nathias wrote:
       | Wow, this is really cool.
        
       | eurasiantiger wrote:
       | This seems highly suspicious in light of recent supply chain
       | attacks. Offering everyone a nice CLI experience, and so well
       | branded and 1337 too.
       | 
       | According to Crunchbase, the company has two employees and
       | receives millions in funding.
       | 
       | Something doesn't add up here.
        
         | achileas wrote:
         | More often than not, it's the Crunchbase DB. Especially for
         | early companies it can be pretty out of date quickly. My
         | current employer had its entry badly merged with a similar
         | named company that wasn't even close to what we did, so we had
         | the wrong description for over a year.
         | 
         | Also it lists two employee profiles, but a size of 1-10. This
         | is common too, again at my current employer we've got a
         | headcount in the 20s but only 1 or 2 employee profiles on
         | crunchbase. $3M is also not a massive seed round by any means,
         | I've seen plenty of early startups with 2-4 employees raise
         | $9M+.
        
       | friend-monoid wrote:
       | # Arch Linux (btw)         yay -S glow
       | 
       | Heh, nice take on the whole "I use Arch btw" meme.
       | 
       | This is really cool.
        
         | encryptluks2 wrote:
         | What I don't understand is with the recent adaptation of GPU-
         | accelerated terminals, why not create something that actually
         | renders Markdown like you'd expect in the browser, but in the
         | terminal? It would have to be significantly faster than the
         | bloat of a typical browser, but just with limited features...
         | like no JS engine.
        
       | Noumenon72 wrote:
       | Is this like, a framework for making command line apps, the way
       | Spring is a framework for making web apps?
       | 
       | Is Soft Serve for people who don't want to use GitHub?
        
         | qbasic_forever wrote:
         | > Is Soft Serve for people who don't want to use GitHub?
         | 
         | There's no web UI for soft serve, it's strictly a command line
         | and config driven git repo manager. It's more of a direct
         | comparison to look at gitolite (also a script/CLI driven repo
         | manager).
         | 
         | If you're looking for a run your own web UI for git, check out
         | gitea.
        
       ___________________________________________________________________
       (page generated 2022-01-23 23:00 UTC)