Live data from Hacker News

Go Terminal_ Elegant and Efficient Linux Terminal

rungoterminal.com

41–50 of 84 posts

Re: Go Terminal_ Elegant and Efficient Linux Terminal

#41

Just what I've always wanted from a terminal - things I can only do with a GUI and mouse. /sarcasm This product seems to fundamentally misunderstand people that use terminals. Perhaps it would do better to instead become more of a thing that puts quick GUI wrappers around terminal commands and tries to parse the output and present it in a pretty GUI way for people who'd prefer not to get their hands dirty? Otherwise,…

> why is there a group of people that [want to wrap everything] in HTML/CSS/JS

I believe you already know the answer to your own question, because to be honest I think the answer is pretty obvious; but in case you are actually curious about the answer here is what I think (mostly sarcasm, don't expect much):

The majority of people making these applications are web developers who are frustrated by the difficulty of learning one or more of the popular GUI libraries available in the market (Cocoa, QT, GTK, etc), they found Node-Webkit and then Electron and realized that they could target desktop users using the same stack they have been using so far (HTML + CSS + JavaScript). Since they are web developers and many of them were originally designers, it is makes sense to think that they can make shiny websites to attract people into trying their projects.

I think most of these programmers just want to show up, try this new Electron thing, and get acknowledged by other people. I don't think they believe their applications are actually good because it is obvious that they are not (as in this case). As much as I hate this trend of web applications disguising themselves as (native) desktop application I have to agree that Electron have allowed some people to... Hmmm, you know what? I don't think Electron has allowed anyone (with the exception of GitHub) to accomplish anything, fuck that trend.

Re: Go Terminal_ Elegant and Efficient Linux Terminal

#42
In my experience, terminals like xterm and rxvt ran extremely efficiently on machines 23 years ago, like, oh, a 66 MHz 486 DX2 with 8 Mb RAM. I can't say that I ever had a complaint with the speed of scrolling, or rendering of characters, or general responsiveness.

Re: Go Terminal_ Elegant and Efficient Linux Terminal

#43

Earlier quoted context omitted.

I have several devs in the office that have to use the terminal a grand total of 2 times a month, and even then I installed some shortcuts for them to make using adb easier. Being able to build a simple interface on top of the few commands they use, so they don't have to remember flags, argument orders, etc., would be advantageous to us all (and require less support on my part). Also, what is possibly wrong with some…

There's nothing inherently wrong with wanting to make money for your work. The problem, honestly, is that a good terminal is a solved problem (c.f. urxvt, which is perfect in every way). Charging people for one would be like charging people for a vim clone. Why charge for an inferior product when someone's already created perfection? ;) Second of all, learning shell scripting is an almost ridiculously important skill…

While I agree with you that urxvt is a great tool, I disagree with the suggestion that the terminal is "a solved problem" (or that vim is perfection). There is a lot of room for innovation, though not necessarily in the direction that Go Terminal is going.

Re: Go Terminal_ Elegant and Efficient Linux Terminal

#44

Earlier quoted context omitted.

It's not that simple. The shell for you and me is muscle memory. For someone who takes a "boot camp" and then doesn't use what they've learned for 3 weeks, the boot camp was a waste of time. Haven't you ever come back to a piece of code from a month ago and had to reacquaint yourself with it? (I know I can't be unique in that... ;) ) We cram an awful lot into our heads as devs, there's no room for things we barely us…

Here's what you do: in the middle of the night, sneak into all of your devs' offices and fuck with their xorg.conf's. Make them drop to command line only for a couple weeks (because we all know it takes at least that long to diagnose an xorg.conf....) and they'll learn. Oh they'll learn ;)

But I like them.

Re: Go Terminal_ Elegant and Efficient Linux Terminal

#45

Just what I've always wanted from a terminal - things I can only do with a GUI and mouse. /sarcasm This product seems to fundamentally misunderstand people that use terminals. Perhaps it would do better to instead become more of a thing that puts quick GUI wrappers around terminal commands and tries to parse the output and present it in a pretty GUI way for people who'd prefer not to get their hands dirty? Otherwise,…

> why is there a group of people that [want to wrap everything] in HTML/CSS/JS I believe you already know the answer to your own question, because to be honest I think the answer is pretty obvious; but in case you are actually curious about the answer here is what I think (mostly sarcasm, don't expect much): The majority of people making these applications are web developers who are frustrated by the difficulty of le…

Well there's Slack and VS Code just off the top of my head

Re: Go Terminal_ Elegant and Efficient Linux Terminal

#46

Earlier quoted context omitted.

> what language it was made in HTML + JavaScript + Electron Just download that archive, extract its content, and you will find the "goterminal" script that is basically an ASAR archive [1] with a copy of CEF [2] as the webview for the web application that they (for some unknown reason) decided to create. [1] https://github.com/electron/asar [2] https://bitbucket.org/chromiumembedded/cef

> HTML + JavaScript + Electron flips over table

Actually, let me unflip that table.

I am desperate for someone to come along and realize that the current terminal interface is a perpetual train wreck, and that if we can break compatibility but end up with something better we should.

Consider for a moment what a monumental task it is to make a simple ncurses menu and status bar in bash script. Consider for a second how trivial that could be made if each command line entry were a small flexible webview.

Imagine if you typed netstat and it showed the results, but there was also a field where you could key in text narrowing queries as part of the standard presentation for all very long input. No more appealing to grep or more and losing context or blasting your scrollback buffer.

Consider for a moment if we could move away from trivial line interfaces for SSH and towards a protocol that actually handles sessions and works over SSL in every conceivable network environment. Hell, most people I know have migrated to mosh and only type ssh when they're provisioning fresh cloud instances (usually to get mosh on there as fast as humanly possible).

The entire idea that "text is a superior interface" is correct as an input mechanism, but not necessarily as a data presentation mechanism. HTML and some basic es2015/typescript/whatever isn't just flat out better than bash for this sort of thing, but it flows from a long history of tools like tcl/tk trying to make the shell a more efficient and effective place to visualize trivial data.

I've been using terminals since 80 characters was a luxury and amber was the fancy new color, and for at least 20 of those years I've been hoping we'll see something that keeps the composability of shell scripting but introduces a non-line oriented protocol that could also offer presentation logic when appropriate.

We could preserve all of that if we just pretend all existing shell commands return a (forgive the templating syntax, it'll be understandable by a wide audience) Map> where {'stdout': } and additional data can be offered around that with trivial API additions.

Please, let's not pretend we'd not benefit massively from richer tooling here.

Re: Go Terminal_ Elegant and Efficient Linux Terminal

#47

Earlier quoted context omitted.

> what language it was made in HTML + JavaScript + Electron Just download that archive, extract its content, and you will find the "goterminal" script that is basically an ASAR archive [1] with a copy of CEF [2] as the webview for the web application that they (for some unknown reason) decided to create. [1] https://github.com/electron/asar [2] https://bitbucket.org/chromiumembedded/cef

Yikes. Thats a great way to make a terminal into a memory hog and unresponsive under load.

Oh?

Historically most terminal implementations have been fraught with performance issues. We'd moved off xterm to aterm and then back. We'd been hesitant to adopt gnome-terminal because of the GTK+ chrome then saw its font kit actually rendered faster.

What most people don't get is how absurdly well-optimized the text rendering and reflowing is for web browsers. With care, people can get modern cellphone browsers to hit 60fps animations and reflows while pushing huge volumes of text through them.

Take any 3 GUI toolkits you can name and ask yourself, "Do all three of these combined have a maintenance budget that equals that of even Firefox by itself, let alone any TWO modern web browsers?" Hell, some of the most cutting edge research into interpreters and garbage collectors is coming out of Google making V8 fast.

Quite frankly, I'd bet that with care and foresight this could be faster than iTerm.

Re: Go Terminal_ Elegant and Efficient Linux Terminal

#48
post #21
post #6

I might not see a developer using this, but an administrator I could. Needing to run one-off scripts and server management. However only if it would work remotely, and with host specific configuration and command options.

The proper response to seeing a systems administrator using one-off scripts from his workstation to manage systems is to fire him immediately and hire someone competent.

Right, because any sysadmin worth his salt is going to embed that ugly hack right into the infrastructure for all eternity.

Re: Go Terminal_ Elegant and Efficient Linux Terminal

#49

Just what I've always wanted from a terminal - things I can only do with a GUI and mouse. /sarcasm This product seems to fundamentally misunderstand people that use terminals. Perhaps it would do better to instead become more of a thing that puts quick GUI wrappers around terminal commands and tries to parse the output and present it in a pretty GUI way for people who'd prefer not to get their hands dirty? Otherwise,…

> Just what I've always wanted from a terminal - things I can only do with a GUI and mouse. /sarcasm

Just what this conversation needs - someone who fundamentally doesn't get that web browsers and their derivatives have more affordances for accessibility than a native terminal interface ever did.

> This product seems to fundamentally misunderstand people that use terminals.

> Either way, why is there a group of people that seems to think we desperately need to take applications that we are already running natively, wrap them in HTML/CSS/JS, throw them inside of a webview, embed that webview into a separate Chromium instance, and string it all together using a tool and execution environment designed to take a client-side single threaded web scripting language and use it for making servers? (Mugatu: I feel like I'm taking crazy pills - does nobody see this?!?)

In part because this could offer secondary visualizations for data that is better without breaking anything at all, if people would stop making elaborate nose-pinching brow arching gestures every time the idea of a web browser came up.

Oh, and it'd be the basis for a more robust and usable SSH option. SSH is a horrible protocol and Mosh works in very few network environments. An HTTP/2 connection and decoupling of input from user response (without appealing to line mode) would be demonstrably better.

Re: Go Terminal_ Elegant and Efficient Linux Terminal

#50
post #9

This appears superficial, and that this is paid as well with no (visible) published open source turns me off. The mistakes in the GIF communicate that this was a slapped-together product. Additionally, requiring mouse clicks for a visual replacement of the alias command with a few extra bells and whistles is not the greatest appeal to a community of developers. I hope that the fact that this was written in Go does no…

Don't be fooled by the name, this application is not written in Go, that is just a random word that they chose for the name. The application was written in HTML and bundled with a webview powered by CEF (probably Electron). Just download the application and execute `strings goterminal | grep chromium` and you will see what I am talking about; again, this has 0% Go code. EDIT: Here is the list of 720 NPM packages used…

> this thing is ~620MB of HTML + JS + Electron

Is it 620MB of source text? I'm not a web guy, so I literally I can't understand this, unless, since it's a web tech, 30 minutes of cat videos are required in the source.

Post reply on HN