Live data from Hacker News

How I'm still not using GUIs in 2019: A guide to the terminal

lucasfcosta.com

151–160 of 248 posts

Re: How I'm still not using GUIs in 2019: A guide to the terminal

#152
post #97

What are the chances that teletype simulation is the best possible way to interact with computers? This is what command line emulates: https://www.youtube.com/watch?v=AIWZ_pbLYqQ Yes, this was way better than punch-cards. But it was incremental and used completely arbitrary technology simply because it was available from somewhere else. UI as a concept was poisoned by Windows and its shitty derivatives. Like, there i…

Visit the Emacs land. Embrace the joke that it's an operating system (truth be told, it's not really a joke). What you'll see is something combining the best features of CLI, TUI and GUI. A 2D canvas with various UI primitives, made of text. There's no separation - like in traditional GUIs - between what's accessible to user and programmer (the contents of editable fields) vs. what's just dumb pixels (everything else). If it's displayed, it can be used as an anchor for navigation. It can be copied or interacted with, either manually or by code. The depth of interoperability this enables is unseen in the GUI world.

I wish GUIs would learn from that, but I don't think there's any GUI framework attempting this, besides maybe CLIM (Common Lisp Interface Manager, see[0], and that's not because of being inspired by Emacs, but because of shared historical roots of Lisp philosophy.)

--

[0] - https://common-lisp.net/project/mcclim/excite.html

Re: How I'm still not using GUIs in 2019: A guide to the terminal

#153
post #35

terminals unfortunately are a complete no-go for "all" Asian languages. to my knowledge right now no terminal emulator properly handles * cjk- specially so called double width chars * Indic- dependant vowels * west asia- rtl that's the entire breadth of Asia for you who cannot use terminals if hey want to write a letter in their own language.

Terminal.app on the mac appears to handle cjk characters as expected (both lines output are the same length):

    $ printf "1234\n谢谢\n"
    1234
    谢谢

Re: How I'm still not using GUIs in 2019: A guide to the terminal

#154
post #109
post #15

Title is a bit misleading. Not sure this is "I'm not using GUIs" but rather "I'm using a terminal-based dev environment". I was hoping to find some nice terminal-based tools for browsing and e-mail and all the other annoying real-life things I need to use

I use eww to browse simple web pages when programming, and notmuch-el to read my email. For git I use Magit, and for Slack I use emacs-slack. As you might imagine, that all runs within emacs rather than vim. In my own case, emacs is running in a GUI frame most of the time, but I often use terminal-displayed frames as well.

> but I often use terminal-displayed frames as well.

Fun trick: if you run your terminal in 256 colors, the resulting terminal frame is nigh-indistinguishable from GUI Emacs for like 95% of the tasks. This works amazing over SSH, and allows me to work on heavy applications with full productivity even on a bus, with el-cheapo netbook and a mobile connection.

(I really need to write a blog post about this.)

Re: How I'm still not using GUIs in 2019: A guide to the terminal

#155

Earlier quoted context omitted.

When comparing vim and intellij, vim is a lot closer to the chisel, while intellij is closer to the chainsaw.

I think you're missing the point I'm making, they're different tools that serve different purposes: IntelliJ is really great at managing large, statically typed, Java/Scala/Enterprisey frameworks. I have never seen a vim setup that effectively generates and manages javabeans. I have never seen a vim setup that manages an xml spring configuration file correctly (or even understands how to resolve xml namespaces and va…

No, I believe I understood the point you're trying to make, but I disagree with it.

I've worked directly with several VIM devs on Enterprisey frameworks who were not held back by their lack of Intellij.

Re: How I'm still not using GUIs in 2019: A guide to the terminal

#156

Earlier quoted context omitted.

Only a sith speaks in absolutes. I have known several vim purists who are extremely productive in Java/Scala/Kotlin. I both understand and respect your preference for Intellij. But, your dismissiveness of others is misguided.

"Only a sith speaks in absolutes" Do you recognize the irony in that statement?

OP must have been quoting the King James version, a more accurate translation would be:

"In general it's usually a Sith that speaks in absolutes."

Re: How I'm still not using GUIs in 2019: A guide to the terminal

#157

Earlier quoted context omitted.

Just wait for the vim guy who will be like "but muh java plugins make it more efficient then IntelliJ"... I think i am more productive in an IDE, faster. Sure if you have this insane VI/EMACS setup that you have tuned for years. Good for you, you probably are a fucking wiz. My standard right now is a terminal & IDE combo. Working in the cloud era as a data person, you need to be comfortable with terminal & vi/emacs (…

> Sure if you have this insane VI/EMACS setup that you have tuned for years. Good for you, you probably are a fucking wiz. To share a glimpse of the mindset of us on the editors side: that insane Emacs setup I've been tuning for years enables me to be "a fucking wiz" not just with Lisp. The very same setup lets me work efficiently with Python, Shell, configs, SQL databases, HTML+CSS+JS, running a personal Wiki, organ…

> The very same setup lets me work efficiently with Python, Shell, configs, SQL databases, HTML+CSS+JS, running a personal Wiki, organizing tasks, tracking time spent on those tasks, billing customers for that time, reading/writing mail, and a bunch of other things. We love our editors because of compound interest.

I think that's really the takeaway here. Spending time in your environment allows you to accumulate skills that let you solve pretty much any text based problem you can think of.

Whether that's using emacs with elisp or vim with shell scripts and Unix tools isn't important. It's having that playground of an environment to solve arbitrary problems.

Re: How I'm still not using GUIs in 2019: A guide to the terminal

#158
post #18

I'm a game developer mainly writing/reading/debugging C++ on a codebase that's well over a million lines of code. As with most game-dev I'm developing almost entirely using Visual Studio, and I can't imagine trying to navigate code using a terminal based editor. Maybe it's just because this is what I'm used to, however I just don't see how some of the tools would even be displayed in a terminal (parallel stacks windo…

On the other hand I have worked on code bases in the 50M lines of code that would bring VS on its knees; people ended up just using it as a glorified text editor.

Note I'm not knocking down on IDEs; as an Emacs user I would love reliable semantic indexing and navigation, but all the solutions that I have tried (rtags was the best) consume a lot of time and CPU indexing and switching branches often forces a rebuild. Currently, on a 1M lines code base I get around with projectile (which uses the project git as a file index) for file discovery and ag for brute force search, which at least on linux can search the codebase quickly.

Re: How I'm still not using GUIs in 2019: A guide to the terminal

#159
post #132
post #97

What are the chances that teletype simulation is the best possible way to interact with computers? This is what command line emulates: https://www.youtube.com/watch?v=AIWZ_pbLYqQ Yes, this was way better than punch-cards. But it was incremental and used completely arbitrary technology simply because it was available from somewhere else. UI as a concept was poisoned by Windows and its shitty derivatives. Like, there i…

"still don't have"? For many years we did . "no longer have" is more correct. * http://xahlee.info/kbd/i/kb/sun_keyboard_left.jpg

You're right, I should have said "still don't have on PC". I believe Xerox Star also had all those keys and then some.

This might not seem like a big deal for some. But there are two important points to consider:

1. A lot of inexperienced user still go to mouse menu for copy-paste. This is horrible, but kind of natural, since a lot of UIs don't teach shortcuts.

2. Cut/Copy/Paste/Undo/Redo should be treated as fundamental building blocks of user interaction, not some "shortcut" that happens to do a thing. They aren't even UI-specific. You can do all of them in a command line app (although the semantics would much poorer).

When I saw the demo of Xerox Star on YouTube I was both enlightened and depressed by the current state of things. Most people have no idea that icons were supposed to be objects and that interacting with them was supposed to be a way to send and direct messages to and between them.

Re: How I'm still not using GUIs in 2019: A guide to the terminal

#160

I always find the benefits of portability to be a rather funny one: It's always immediately followed by 800 lines of dotfiles that do an incredible amount of customization. The IDE vs. vim/emacs purist debate is always crazy to me. There are some places where IDE's are almost certainly better: Java in a large project in IntelliJ has to be 100x better than in Vim. For new languages or languages where there isn't subst…

Just wait for the vim guy who will be like "but muh java plugins make it more efficient then IntelliJ"... I think i am more productive in an IDE, faster. Sure if you have this insane VI/EMACS setup that you have tuned for years. Good for you, you probably are a fucking wiz. My standard right now is a terminal & IDE combo. Working in the cloud era as a data person, you need to be comfortable with terminal & vi/emacs (…

> Compare this to spamming down arrow 30 times and then right arrow 80 times to get to a character in your editor

Or uses the mouse to get there. I don’t get that part of vim. Weirdly I do like Vim. The thing is you see something in sublime, you just click on it and you there. You don’t have to solve some vim puzzles to get the cursor on the right spot.

Post reply on HN