[HN Gopher] Emacs is special regarding UIs
       ___________________________________________________________________
        
       Emacs is special regarding UIs
        
       Author : signa11
       Score  : 416 points
       Date   : 2020-09-10 08:25 UTC (14 hours ago)
        
 (HTM) web link (lists.gnu.org)
 (TXT) w3m dump (lists.gnu.org)
        
       | code-faster wrote:
       | unix is also User Interface Independent, but unlike emacs, it's
       | actually used on a wide variety of interfaces: Mainframes,
       | microcontrollers, web servers, phones (touch screen) and PCs.
        
         | neolog wrote:
         | Pretty sure emacs is used on all of those
        
         | pjmlp wrote:
         | It is also the reason why the only desktop based UNIXes that
         | achieved any commercial success have full stack frameworks that
         | make their UNIX underpinnings irrelevant.
        
       | Cthulhu_ wrote:
       | Emacs and org-mode is frequently mentioned on HN as being
       | awesome, but I don't feel like I could ever switch; I've got
       | enough issues with vim already.
       | 
       | For one, all the keyboard shortcuts and commands that you have to
       | learn; I don't know if I have the capacity to learn all that
       | anymore, not without deliberate practice, while in modern editors
       | you can get by with keyboard + mouse and slowly learn some new
       | shortcuts here and there.
       | 
       | Second, it feels like you have to spend a lot of time to set it
       | all up.
       | 
       | Third, will it replace an IDE? Error checking / linting,
       | autocomplete, fast navigation, auto-imports, loads of things like
       | that that seem to just work out-of-the-box in e.g. idea.
        
         | sreevisakh wrote:
         | In the past, I have used Emacs and then switched to Neovim. I
         | just switched back to Emacs again. I am enjoying both - without
         | any friction. To get the best out of both Emacs and (Neo)Vim,
         | you have to treat them as different types of software.
         | 
         | > For one, all the keyboard shortcuts and commands that you
         | have to learn
         | 
         | That's a valid concern. But if there was one keybinding every
         | programmer should learn, it's probably Vim's. And while emacs
         | has a default keybinding, it is not tied to it. Vim keybindings
         | using evil-mode uses the same elisp interface as the default
         | binding. Evil-mode feels very native and at par with Vim user
         | experience. (Kakoune's bindings are derived from Vim's and is
         | said to be better. But it's immature now. Hope it catches on.)
         | 
         | Emacs is a programming platform and not an editor as such. You
         | should simply forget the key bindings (use what you are
         | comfortable with- evil or even the Windows bindings) and focus
         | on what the platform has to offer. Packages like Org-mode,
         | Magit, restclient and a lot of others have no other
         | alternatives. Emacs GUI also acts like a terminal emulator far
         | more advanced than VT-100 emulators.
         | 
         | (Neo)vim is useful as an editor when you are setting up new
         | systems or administering via SSH. Emacs is useful as a personal
         | programming environment. With evil-mode, there will be no
         | problem using either in the respective context.
         | 
         | > Second, it feels like you have to spend a lot of time to set
         | it all up.
         | 
         | I support what everyone else recommends. Start with Doom Emacs
         | or Spacemacs if you are a beginner. It does take a lot of time
         | to set it up from scratch. I just prefer to set up everything
         | from scratch, since I use a dotfiles repo. Improvements in
         | configuration are incremental when you have a dotfiles repo.
         | 
         | > Third, will it replace an IDE?
         | 
         | All those are available. Just needs configuration. Or else, use
         | Doom Emacs or Spacemacs - they come pre-configured. That really
         | isn't the reason Emacs uses love it. It's those features you
         | can't get in an IDE. If you have a task for which you need to
         | switch out of an IDE, elisp makes it easy to integrate into
         | emacs. The package repositories are full of such packages.
        
         | brabel wrote:
         | > you can get by with keyboard + mouse and slowly learn some
         | new shortcuts here and there.
         | 
         | Agree, but I am extremely used to the trackpad and haven't used
         | a mouse in years... because of its closeness to the keyboard
         | (in pretty much any laptop) I can do things very quickly when I
         | have no shortcut at hand... so much so that I only find it
         | worthwhile to memorize a few shortcuts for the tools I use most
         | (the terminal, IntelliJ IDEA, and a few for VS Code though I
         | find their shortcuts terrible)... but it's unescapable that
         | you'll need to use the mouse or trackpad sometimes, especially
         | when not using your main tool (things like browsers, photo
         | apps, even file managers unfortunately), so getting good at it
         | I think is more useful than memorising a million shortcuts for
         | a single tool.
        
           | RMPR wrote:
           | > and a few for VS Code though I find their shortcuts
           | terrible
           | 
           | You might have a better time using
           | https://github.com/VSpaceCode/VSpaceCode
        
         | pvg wrote:
         | I think your intuition is about right: the IDE is going to
         | squish all before it at the environments/runtimes it supports
         | well, the vi(m) obsession with modal keyboard golf is a waste
         | of time and org mode is a curious subcult of the the already
         | weird (but, like, totally different from those vim heretics!)
         | emacs cult.
         | 
         | The other things are worth exploring for fun and curiosity but
         | it's sensible to look at them as they are - beautiful rainbows
         | rather than maps to buried pots of hyper-productivity.
        
           | NateEag wrote:
           | As a long-time evil-mode / emacs user, I would say your
           | comment is pretty accurate.
           | 
           | Two objections come to mind at the moment::
           | 
           | * vim keybindings have helped my RSI significantly (and
           | before you go there, I got RSI when I was an IDE user, before
           | I focused on on Emacs)
           | 
           | * Using Emacs and building my own config has not made me
           | massively more efficient at the workflow level, but it has
           | taught me a great deal about software design and development
           | than I would have otherwise learned.
        
             | aliceryhl wrote:
             | Regarding RSI, I find vim keybinds critical for voice-based
             | interaction with a computer. It really makes a large
             | difference when it hears the wrong thing.
        
             | pvg wrote:
             | Oh I'm just snarking at 'modal text editing is some
             | programming superpower'. I've had RSI scares and similarly
             | odd change-of-habit relief.
             | 
             | As to the second thing, it occurred to me recently that my
             | .emacs is old enough to vote and probably still contains
             | bits of other people's .emacsen that were old enough to
             | vote when I first edited it.
        
         | mapolone wrote:
         | For the keyboard shortcuts, there's ergo-emacs [1] a minor-mode
         | that already rebinds most of the common shortcuts (open,
         | copy/paste and so on).
         | 
         | Or, if you like vi(m), evil mode [2] should be good to go.
         | 
         | [1] https://ergoemacs.github.io/
         | 
         | [2] https://github.com/emacs-evil/evil
        
         | gkya wrote:
         | > For one, all the keyboard shortcuts and commands that you
         | have to learn
         | 
         | > Second, it feels like you have to spend a lot of time to set
         | it all up.
         | 
         | You learn a subset that's relevant to you. Also there is which-
         | key which helps _a lot_.
         | 
         | But, I mean how do you learn, say, Spanish? Do you just drop
         | English and start speaking Spanish to everyone from day one?
         | No, it's something that happens in a dedicated time. Once you
         | feel comfortable enough, and when the chance presents itself,
         | you being integrating it to your daily life.
         | 
         | Similarly with Emacs, you could just start playing with it,
         | maybe say editing your personal scripts with it at times, using
         | Org mode for some notes. And then slowly integrate it to your
         | life.
         | 
         | No matter how much work is done in the UI compartment, a tool
         | as comprehensive and customisable as Emacs will never be learnt
         | in one day. There won't be any magic bullets. It's always like
         | learning a language.
         | 
         | The important consideration is if the returns are worth the
         | investments here. Unlike other editors---which are great
         | software in their own ways, anybody who says "hackers should
         | use Emacs or Vim" or similar BS just don't know what they're
         | saying---, Emacs provides some particular opportunities, which
         | depending on your workflow might not be worth it.
         | 
         | > Third, will it replace an IDE?
         | 
         | Yes, you can get it to do all that. OOTB is hard, but AFAIU
         | projects like Spacemacs and Doom are kinda making that happen.
        
         | auslegung wrote:
         | Others have given great recommendations for emacs options that
         | lower the learning curve, but if you're interested in vim
         | instead of emacs, onivim does the same with vim.
         | https://onivim.github.io
        
           | trenchgun wrote:
           | There is also Spacevim https://spacevim.org/
        
         | john4532452 wrote:
         | Emacs, org-mode, pdf-tool, org-roam. You are set for next 2
         | decades IMO for personal knowledge management.
        
         | jwandborg wrote:
         | I work daily in vim, emacs and idea (ideavim).
         | 
         | I use emacs for org-mode exclusively. You only need to learn
         | the buffer manipulation and org-mode keybinds for this, and the
         | configuration.
         | 
         | I use vim for ad-hoc text editing, it's a poor IDE as I've
         | configured it.
         | 
         | I use IntelliJ IDEA with IdeaVim for writing code.
         | 
         | I do not consider myself superhuman. A notable fact is that at
         | some point previously, I've used every one of these as my main
         | development editor.
         | 
         | I couldn't imagine having to maintain configuration for IDE-
         | style features in all three editors, so I won't bother, but I
         | do bother using the best tool for the job.
        
         | massysett wrote:
         | Org mode is the only reason I use Emacs. Nothing comes close to
         | Org mode. Actually, I'd say that I use Org mode, and I use
         | Emacs only incidentally because Org mode requires it.
         | 
         | Because I used Org mode, for awhile I tried to switch my other
         | text editing to Emacs. But without a good mode, it's not worth
         | using Emacs. I do all my other text editing in Vim.
        
           | gkya wrote:
           | Something like Org mode is only possible in something like
           | Emacs tho.
        
         | kristopolous wrote:
         | Pretend I have a crashing program and I want something better
         | than the GDB repl and I don't want to import/create some
         | project.
         | 
         | There's a lot of solutions for this but pretend I want to
         | graphically step through, edit the code etc...
         | 
         | Emacs can do this quite well without any special hassle.
         | 
         | Just try using it as a debugger, when you're annoyed, search
         | the web and you'll find your answer.
         | 
         | I'm not an emacs user so this is coming from a non koolaid
         | drinker but I've been using it more and more for these special
         | use cases
         | 
         | Maybe this is just as easy to do in, say, IntelliJ, I just feel
         | like emacs will leave a cleaner footprint and have more
         | sensible defaults.
         | 
         | So give emacs a try for debugging something (the Google-fu is
         | GUD, grand unified debugger), it's not hard to use, the
         | learning curve is pretty modest and you may be surprised by how
         | sensible it is.
        
         | phist_mcgee wrote:
         | They appeal to two different kinds of people. The first set
         | (you and I) value the convenience of a job completed with a
         | highly tuned and tested tool developed by word leaders in
         | programming technology (Jetbrains). The other set of people
         | wish to be able to tune things exactly as they wish, and focus
         | on hyperoptimization of a set of known tasks that they become
         | expert in.
         | 
         | Neither is wrong, but I do believe that when someone goes on
         | about how if you just try hard enough to grok emacs, you will
         | suddenly get it. Maybe. But I think there is an audience bias
         | there, whereby only people who are inherently interested in
         | tweaking and fiddling will achieve that benefit, and only
         | people who wish to just get things done on a paid tool will be
         | OK with using a mouse every so often. Horses for courses.
        
         | ziml77 wrote:
         | Personal 4th reason: My mind keeps going back to this when I
         | think I want to try Emacs again
         | 
         | > [Every dynamic module] should also export a symbol named
         | plugin_is_GPL_compatible to indicate that its code is released
         | under the GPL or compatible license; Emacs will signal an error
         | if your program tries to load modules that don't export such a
         | symbol.
         | 
         | The viral nature of the GPL already bothers me. Emacs trying to
         | enforce that I'm only running GPL compatible code is even
         | worse.
        
         | ormindo wrote:
         | For keybinds / setup time, I'd recommend either Spacemacs or
         | Doom emacs. Spacemacs especially is meant to be quite newcomer
         | friendly, with things like windows telling you "you pressed
         | this key, here are the other keys you can press to complete the
         | keybind sequence, and here's what they will do".
         | 
         | As for full fledged IDEs, no, I don't think Emacs can pretend
         | to replace those, but you can still make the Emacs experience
         | comfier. Linting is pretty good on Emacs with things like
         | flycheck (& flyspell for spelling in say comments or commit
         | changelogs).
         | 
         | For kernel C development I have a simple flycheck module that
         | compiles the edited file and inlines all warnings / errors as
         | lints. I also have another one for checkpatch (extra script
         | you're meant to run before sending your commits to the mailing
         | list); as a result I never have to look at any other window
         | than the one where there is code in it.
         | 
         | For Python, pylint is supported out of the box by flycheck.
         | Auto-completion is supposed to be feasible, but I had some
         | issues with it and gave up - never felt like I _really_ needed
         | for what I do in Python anyway.
         | 
         | Fast navigation can be done with the usual cscope / gtags. More
         | recently, I've been converted to using ripgrep for most
         | searches (https://stegosaurusdormant.com/emacs-ripgrep/) as it
         | is crazy fast. You can also directly edit the matches and
         | commit the changes, which serves as a project-wide "search and
         | replace".
        
           | andreareina wrote:
           | If you didn't already know there's a command you can run to
           | `find` files and put them in a dired buffer, then from there
           | you can run an interactive regexp search/replace on all
           | marked files. On mobile so I don't have the command names and
           | key bindings available, but it's some combination of dired
           | and find.
        
         | hpfr wrote:
         | I feel like it's pretty safe to say
         | https://github.com/hlissner/doom-emacs mostly solves of these
         | concerns for Vim users in 2020. If you really can't spend any
         | time learning a few help keys then I guess I can't recommend
         | anything, but you're here commenting so I bet you have some
         | time :).
         | 
         | Seriously, check out Doom, whether you use neovim, Emacs, VS
         | Code, or nano (Doom has quite good Emacs and CUA bindings as
         | well). It's brilliant to the point where I'd describe it as
         | Emacs with sane defaults. I guess it probably can't match the
         | more niche IDE features but LSP and friends are bridging most
         | of the gaps.
         | 
         | You can finally safely ignore claims that beginners should roll
         | their own emacs configs thanks to Doom. That strategy is good
         | for learning if you're used to diving into unfamiliar systems
         | but you can learn just as much by starting with Doom and
         | working your way inward anyway. The community is great, just
         | like the larger emacs community.
         | 
         | I can't stress Doom enough; it gets better often not by the day
         | but by the hour. Henrik is a machine.
        
           | RMPR wrote:
           | > I feel like it's pretty safe to say
           | https://github.com/hlissner/doom-emacs mostly solves of these
           | concerns for Vim users in 2020
           | 
           | I use both doom emacs and neovim, and I'd say: not really, at
           | least not for me, there are some Vim features evil doesn't
           | emulate properly, or at least it doesn't work like in Vim.
           | Off the top of my head, I write in many languages, but
           | absolutely hate the US international keyboard for accented
           | characters, guess what? Vim has built-in support for
           | digraph[0] by using Ctrl-k and iirc this is a motion keyboard
           | shortcut in emacs, and since I like and use org-mode a lot,
           | I'm always frustrated when I have to type in another
           | language. Another one was with the various Terminal emulators
           | packages in emacs, although this one was solved recently[1],
           | whereas in (neo)vim it works flawlessly ootb.
           | 
           | 0: https://vim.fandom.com/wiki/Entering_special_characters
           | 
           | 1: https://news.ycombinator.com/item?id=24243031
        
             | WhatIsDukkha wrote:
             | https://github.com/emacs-
             | evil/evil/blob/3f3b2fea87172f155e5f...
             | 
             | It's defined in Evil (which Doom uses directly).
             | 
             | Seems like you just need to figure out your bug.
        
               | RMPR wrote:
               | Thanks for pointing this out, seems the "bug" is
               | exclusively with org-mode, which is too bad because I
               | don't usually need this feature outside of org-mode.
        
               | WhatIsDukkha wrote:
               | Works for me in my org-mode and evil but I'm not using
               | Doom.
               | 
               | Fwiw use-package is pretty magic and reliable these days.
        
           | laex wrote:
           | Is Doom better than Spacemacs ?
        
             | hpfr wrote:
             | I would say the Emacs user mindshare has shifted somewhat
             | to Doom. There are a lot of Doom fans on r/emacs now, and
             | the Discord is huge compared to what it was. Many new
             | contributors are cropping up. Even some developers of well-
             | known packages, like org-roam, have switched to Doom. Take
             | it from him, not me!
             | https://blog.jethro.dev/posts/migrating_to_doom_emacs/
             | 
             | Compared to Spacemacs, which has complex abstraction layers
             | over Emacs, Doom seems to be much lighter. It's easy to get
             | into Emacs browsing Doom's modules. Plus, the BDFL model is
             | serving Doom quite well since Henrik is a god-tier BDFL.
             | He's constantly active and keeps Doom very focused on
             | performance with sensible defaults and consistent
             | programming style. Docs are a focus and are growing, and
             | they're extremely comfortable to browse in Doom Emacs
             | itself, as well as the Doom and Emacs source code of
             | course.
             | 
             | None of this is meant to attack Spacemacs, it did and does
             | much for Emacs, and many swear by it. But I would say Doom
             | is better these days.
        
               | kalium-xyz wrote:
               | You can just use the things you like from either, thats
               | the best part of emacs.
        
               | lvh wrote:
               | Jethro moved from a custom init.el to Doom, though, not
               | Spacemacs to Doom :)
        
         | Amorymeltzer wrote:
         | I've never been a vim user, but regarding keyboard shortcuts,
         | there's Evil[1], which is fairly popular.
         | 
         | 1: https://github.com/emacs-evil/evil
        
           | antonvs wrote:
           | There's also Spacemacs: "Emacs advanced kit focused on Evil.
           | A community-driven Emacs distribution."
           | https://www.spacemacs.org/
           | 
           | It made emacs a bit more accessible for me.
        
       | smitty1e wrote:
       | For those with wretched joints (me), Spacemacs[1] is a way to
       | have all that org-mode[2] functionality, the joys of magit[3] and
       | have it all work well over SSH.
       | 
       | Leave all the icons to their fans.
       | 
       | [1] https://www.spacemacs.org/
       | 
       | [2] https://orgmode.org/
       | 
       | [3] https://magit.vc/
        
         | mkesper wrote:
         | After finding doom-emacs, I love that even more. Almost instant
         | startup, non-broken magit key bindings, doom doctor etc.
         | 
         | https://github.com/hlissner/doom-emacs
        
           | DreamyCori wrote:
           | It seems like doom-emacs is the new way to go. I feel quiet
           | sad about this cause I spent some time to switch to Spacemacs
           | and now I have to move to another emacs distro.
        
             | dunefox wrote:
             | Why do you have to move? Are you using the dev-branch
             | Spacemacs or master?
        
               | DreamyCori wrote:
               | master cause I want something stable.
        
               | dunefox wrote:
               | I'm on dev and it's quite stable, imo. Then again I'm not
               | a spacemacs poweruser so...
        
         | DreamyCori wrote:
         | Anyone is info about the release model of Spacemacs ? It seems
         | like nothing is moving. Any news ?
        
           | sseneca wrote:
           | The release model is a mess. Most people tend to stick with
           | using Spacemacs on the `develop` branch, which means updating
           | via `git pull --rebase` every so often as well as the inbuilt
           | `SPC f e U`.
           | 
           | I've been using Spacemacs for around a year on the `develop`
           | branch. For me it's fine, but for those who want a very
           | stable experience I don't recommend it -- it does break
           | sometimes.
        
             | DreamyCori wrote:
             | This unclear release strategy sends a bad signal to the
             | community and pushes people to doom-emacs. Sad to see ...
        
               | krageon wrote:
               | Which also has most of the good stuff on the develop
               | branch :)
        
       | larsbrinkhoff wrote:
       | Emacs is a manifestation of the ITS user interfaces. They all
       | relied on text because that's all that was available back then.
       | They also used control characters, Altmode/Escape/Meta, and
       | prefix arguments.
        
       | benreesman wrote:
       | IMHO emacs is kind of a Rorschach test w.r.t. Lisp. Some people
       | really like programming in Lisp, and for them getting emacs to do
       | what they want is fun and rewarding, particularly but not
       | exclusively regarding interface affordances. I personally fall
       | into this category. The fact that it has very similar keybindings
       | to readline/bash (especially important if you spend a lot of time
       | popping on and off servers that don't have your dots and thus
       | choose not to customize the shell too much) and macOS is a huge
       | bonus.
       | 
       | But I totally get that this is from outer space for another
       | group. Vim is a great alternative for people who want a more
       | opinionated editing wizard mode, and VSCode is really competent
       | at interacting with remote filesystems and supporting lots of
       | languages for the GUI crowd. It's a great time to be editing
       | text.
        
         | lc9er wrote:
         | I'm a (neo)vim user that's been playing around with various
         | Lisps lately. CL and Scheme interaction is worlds ahead in
         | Emacs, but even with evil-mode, I'm having a hard time. There's
         | lots of places where it just stops working, and I have to
         | remember Emacs bindings. Emacs 27 and 28 are more responsive,
         | especially on Windows, but vim actions are near instantaneous.
         | 
         | A cool project I stumbled across is Aniseed[0], which thanks to
         | Neovim's Lua bindings, lets you control neovim with Fennel. I
         | haven't done anything noteworthy yet, but for the first time it
         | actually seems like it would be fun to write my own plugins.
         | 
         | [0] - https://github.com/Olical/aniseed
        
       | dmortin wrote:
       | Emacs is not a text editor, it's a platform independent VM which
       | can run your scripts with a text UI.
       | 
       | E.g. do you want keep an eye on some information which can be
       | fetched from the net? You just write a script which regularly
       | fetches the info and puts it into a buffer, so you can take a
       | look at it anytime, and then regardless of platform you have that
       | info readily available just by installing your own emacs config
       | file.
       | 
       | It's much easier to write such things in emacs than curating
       | various different scripts in various languages (python, etc.)
       | which all require their specific support which is either
       | available or not.
        
         | roydivision wrote:
         | > It's much easier to write such things in emacs than curating
         | various different scripts in various languages (python, etc.)
         | which all require their specific support which is either
         | available or not.
         | 
         | I disagree. I've been using Unix/Linux for 25 years, I've met
         | maybe 1 or two people who know or use Emacs, whereas almost
         | everyone knows enough to do some scripting.
         | 
         | I'm also guessing that installing and configuring Emacs is way
         | more work than installing Python. And any gained Python
         | knowledge will pay you back tenfold more than learning Emacs.
        
           | rpdillon wrote:
           | I think my Emacs knowledge has paid off ten times more than
           | any particular language I've picked up. It's my generic
           | tooling platform I bring to every job, regardless of platform
           | or tech stack.
        
             | saagarjha wrote:
             | Bash?
        
               | rpdillon wrote:
               | I write Bash in Emacs, and everything else. So for me,
               | no. For a sysadmin, perhaps.
        
           | indymike wrote:
           | Honestly, getting going with emacs:
           | 
           | $ sudo apt install emacs $ emacs
           | 
           | From there it's learning some keystrokes. Payback? Almost
           | immediate. And you can use it to work with Python, or any
           | other language. After that, maybe reading a couple of howtos
           | and installing a few add-on packages and customizing your
           | configuration. Payback? Almost immediate. It's really
           | productive.
        
             | jonfw wrote:
             | > From there it's learning some keystrokes
             | 
             | Learning Emacs is VERY clearly not this trivial... to use
             | Emacs to any extent where it's more useful than it's
             | competitors, you have to learn the models it works in, a
             | new programming language- and then there are a LOT of
             | keystrokes
        
               | BeetleB wrote:
               | > to use Emacs to any extent where it's more useful than
               | it's competitors, you have to learn the models it works
               | in, a new programming language- and then there are a LOT
               | of keystrokes
               | 
               | Let's take these claims one by one:
               | 
               | > you have to learn the models it works in
               | 
               | I read a book on Emacs and practiced along all within one
               | week. At the end of the week, I was doing more with it
               | than with any of the previous text editors I used.
               | 
               | Indeed, my desire to learn Emacs was _explicitly_ to
               | replace the other editors I was using - and I succeeded.
               | Over the subsequent weeks, every time I encountered a
               | situation where I said  "Oh, I wish the feature I used in
               | editor X existed in Emacs", a quick Google search told me
               | how to set it up for Emacs.
               | 
               | > a new programming language
               | 
               | I was a power Emacs user for over 9 years before I
               | learned Emacs Lisp. Clearly wrong claim.
               | 
               | > and then there are a LOT of keystrokes
               | 
               | While I'll admit you get more productive the more you
               | learn, for most of those 9 years I did _not_ know many
               | keystrokes. Instead, you do M-x and the command. With
               | completion systems like ido (the  "simplest" of the
               | powerful completion systems), you can quickly find the
               | desired command just by guessing what it will be named.
               | 
               | I only started learning lots of keystrokes recently,
               | using flashcard software. And even with _that_ , I
               | stopped after about a year once I learned how to use
               | hydra.
        
               | pmoriarty wrote:
               | Do you want a trivial learning curve or do you want
               | power?
               | 
               | The people who Emacs will please most are power users who
               | are willing to put in the time to learn it and configure
               | it to their liking.
        
               | jerf wrote:
               | I... uh... am almost in some sense ashamed to admit this,
               | but I've been using emacs for about 23 years now, and I
               | still don't program elisp. I can just about diagnose
               | errors in my not-very-complicated .emacs with a bit of
               | googling, and that's about it. I've read about it, and I
               | understand the basics, but I know nothing about the APIs
               | and have no experience in it past one-liners.
               | 
               | It probably is a good idea to learn it, in some sense,
               | and you'll probably have to pick up at least the basics
               | that I've picked up, but it's definitely not a commitment
               | to learn a new language.
        
               | joosters wrote:
               | Same here, but not ashamed about it at all. If there's
               | something I need to automate or change in emacs, it's
               | just a web search away and I can find the elisp that I
               | need to add into my config files.
               | 
               | I'd consider myself an advanced user of emacs, but that
               | still doesn't mean that I have any motivation to _write_
               | any new emacs modes or functions, since just about
               | everything I could ever want already exists!
        
               | pmontra wrote:
               | I got good at elisp in my first years of emacs 30 years
               | ago. Tons of customizations. Then I let it go. I remember
               | the basics but I never write any serious script. No need
               | for that. There are so many packages ready to be
               | installed and Stackoverflow. The solutions are already
               | there so I can concentrate on my job.
        
               | pmoriarty wrote:
               | Using Emacs without knowing eLisp is like owning a race
               | car but always driving it in first gear.
        
               | jerf wrote:
               | I can deal with that metaphor, if "a race car in first
               | gear" is still faster than a lot of other cars.
               | 
               | Plus, it's the same race car. I've programmed half-a-
               | dozen languages quite seriously in emacs, and I'm not
               | changing editors the whole time. So, while I may not know
               | elisp, I do know a fair amount about emacs and don't have
               | to relearn how to do a lot of things in a new IDE every
               | three years... or, worse yet, discover that entire
               | features are missing because "nobody" has ever used an
               | editor that had them. (I'm not sure I could live without
               | macros of some sort in an editor.)
        
           | dmortin wrote:
           | I meant the case when you have to use an other machine and
           | naturally emacs users want to use emacs even there, so that's
           | given. But on Windows, for example, python may not be
           | installed, so that's an extra install, while if you have your
           | usual scripts in emacs then it's just a matter of installing
           | one's emacs config which one does anyway.
           | 
           | I use python too when it's the less hassle. E.g. when parsing
           | a page with BeatifulSoup which would be more cumbersome in
           | emacs without BeautifulSoup.
        
             | RMPR wrote:
             | > But on Windows, for example, python may not be installed
             | 
             | Actually Python is not a very good example since Windows
             | now includes python and python3 commands by default[0]
             | 
             | 0: https://devblogs.microsoft.com/python/python-in-the-
             | windows-...
        
           | wiz21c wrote:
           | Compiling emacs oneself is certainly easy these days (I just
           | tried a month ago, just to make sure of something and I was
           | very happy to see that it's just as easy as it can get
           | (install just a few dependencies et voila))
        
           | hprotagonist wrote:
           | > I'm also guessing that installing and configuring Emacs is
           | way more work than installing Python. And any gained Python
           | knowledge will pay you back tenfold more than learning Emacs.
           | 
           | I'm a full-time python developer in the sciences and an emacs
           | user and neither of those claims are true.
           | 
           | More's the pity.
        
         | justaj wrote:
         | I don't know. People keep saying that Emacs can work nice in
         | terminals, but there's a specific bot-macro in the #emacs
         | channel on Freenode:                   <user>: ,terminal
         | fsbot [->] I heard terminals are [0] Terminals do weird thing
         | to your keyboard input:
         | http://catern.com/posts/terminal_quirks.html         fsbot [1]
         | Terminals have limitations compared to the graphical windows;
         | it's advisable to use "graphical" Emacs unless one has a good
         | reason not to. See ,betterdefaults for disabling scroll bars,
         | tool bars, etc.         fsbot [2]
         | https://garbagecollected.org/2017/01/31/four-column-ascii/ ;;[
         | ,more / ,dump]
        
           | Kaze404 wrote:
           | As an evil mode user, the keyboard input thing doesn't really
           | affect me. That lets me use emacs on the terminal when I'm
           | away from my computer no problem.
        
           | pmoriarty wrote:
           | Yes, there are many GUI Emacs fans on #emacs, and one of them
           | obviously happened to set up this bot message. But not
           | everyone agrees that GUI Emacs is better.
           | 
           | Though terminals definitely have their quirks and
           | limitations, they have some advantages over GUI Emacs.
           | 
           | For example, I have my Emacs configuration geared towards
           | terminal use, and use it from within tmux. Because of this I
           | never have to fear losing my Emacs session because X froze or
           | crashed (which has happened from time to time). I can also
           | use Emacs configured the way I like it even before X has
           | started, and on remote systems without X (for which I don't
           | like to use TRAMP mode because it also has the potential to
           | freeze up).
           | 
           | By running Emacs in a terminal under tmux, I also don't have
           | to mentally context-switch between the terminal and a
           | separate GUI Emacs session. I have not been satisfied with
           | any of Emacs' terminal modes, tough I have heard that
           | libvterm is a lot better, so I might give it another go,
           | though even if it's great at terminal emulation there are
           | some other issues with running a terminal from within Emacs
           | which may be insurmountable[1]... which leads me to the next
           | point...
           | 
           | With Emacs running under tmux in a terminal rather than the
           | other way around, I never have to fear losing all of my
           | terminal sessions when Emacs freezes or crashes (which has
           | also happened from time to time). By contrast, tmux is super
           | stable, and I've never once had it freeze or crash, so I can
           | 100% rely on it to keep my terminal sessions running no
           | matter what.
           | 
           | [1] - Running a terminal under Emacs (even if it's a proper
           | terminal like libvterm) has the issue of conflicting
           | keybindings. I already have both Emacs keybindings and tmux
           | keybindings that I have to make sure don't conflict, but if I
           | add to those keybindings for any app I happen to run under a
           | terminal under Emacs then there are bound to be way more
           | conflicts. Of course, it's possible to require some extra
           | keystroke to be pressed before sending on a raw keystroke to
           | the terminal app, but that's just too painful for me to
           | bother with except maybe under special circumstances. In the
           | general case I prefer to have my shells running directly
           | under tmux than in an Emacs terminal.
        
         | andreareina wrote:
         | We've been joking about emacs being an OS for a long time. And
         | it even reads email (still haven't set that up actually...)
        
           | konjin wrote:
           | You can post on hacker news from it too.
           | 
           | Sent from eww.
        
             | jimmyvalmer wrote:
             | Or Gnus.
             | 
             | Sent from nnhackernews
        
               | mrspeaker wrote:
               | There's also a pretty nifty dedicated hackernews-mode.
               | 
               | Sent from `M-x hackernews`.
        
               | jimmyvalmer wrote:
               | That mode is rubbish. You can't reply nor vote, requires
               | manual syncing, and renders stories as links rather
               | jumping directly to the story.
        
         | jeromenerf wrote:
         | > t's much easier to write such things in emacs than curating
         | various different scripts in various languages (python, etc.)
         | which all require their specific support which is either
         | available or not.
         | 
         | Not in my experience.
         | 
         | I much prefer to use the simpler acme / plan9 way, where I am
         | free to use the language I prefer or that is better suited for
         | the job. Same for vscode, atom, etc.
         | 
         | Vim and neovim are halfway between these extremes and I would
         | say easier to bend towards acme than towards emacs.
         | 
         | That being said, I use org mode because it's great, thanks to
         | emacs capabilities. I would however also much prefer org mode
         | if it was an external pandoc-like program, usable from
         | anything.
        
           | pmoriarty wrote:
           | I never got the appeal of acme. It's way too mouse-oriented
           | for me.
        
         | chrisseaton wrote:
         | > Emacs is not a text editor
         | 
         | https://www.gnu.org/software/emacs/:
         | 
         | > [Emacs is] an extensible, customizable, free/libre text
         | editor -- and more
        
           | GavinMcG wrote:
           | Emacs saying it's a text editor doesn't make it a text editor
           | any more than Amazon saying it's a bookseller would make it a
           | bookseller. Emacs-as-platform long ago overtook Emacs-as-
           | text-editor.
        
       | jmiskovic wrote:
       | How does emacs UI work? It seems like each script is registering
       | commands it can run in context of mode, and then you can bind key
       | combos to commands. How do textual UIs do things like layouting
       | of controls, updating of values and handling async requests?
        
         | ywei3410 wrote:
         | > How does emacs UI work?
         | 
         | Emacs has the idea of _buffers_ which are the actual window
         | panes that you can view. The _buffer_ has data in the form of
         | text which has properties in much the same way a block of html
         | can have properties. An emacs-lisp function has full access to
         | do anything it wants with the buffer. For example it can insert
         | contents, change the font family, change the bit of text into a
         | button with a callback. This is exactly how syntax
         | highlighting/semantic highlighting works in emacs, you just
         | change the styling for bits of text [1].
         | 
         | A _mode_ inside emacs is a collection of emacs-lisp functions
         | which trigger (usually on a file extension name). Typically
         | they will set certain keybindings for specific mode-like
         | behaviour. You always have a single _major_ mode and multiple
         | _minor_ modes - the vim emulation layer, for example is simply
         | a minor mode which adds the vim keybindings and emulates the
         | vim state machine inside emacs-lisp.
         | 
         | > It seems like each script is registering commands it can run
         | in context of mode
         | 
         | An emacs-lisp file can be _evaluated_ in the same way as a
         | python file into emacs. It's like a REPL - you can evaluate a
         | file and the functions become available. There's a bit of extra
         | behaviour which allows lazy loading et cetera, but user defined
         | scripts are first-class and there's no distinction between them
         | and those which are "native".
         | 
         | > updating of values
         | 
         | You can update a variable by simply evaluating the appropriate
         | lisp function. If you want to update a value in the text
         | buffer, you just replace/rerender that chunk.
         | 
         | > handling async requests
         | 
         | A buffer can also have a _process_ running which gets events
         | each time the buffer is updated. When you run a command, you
         | direct the output to a buffer and you trigger your lisp
         | function on certain events. This is sort of how the HTTP
         | requests work, but there's libraries which abstract some of it
         | for you. Buffers are really just an abstraction for textual
         | data.
         | 
         | Some of this is simplified, but I hope it gives you a vague
         | idea of what emacs is.
         | 
         | [1]
         | https://www.reddit.com/r/emacs/comments/iemo44/wysiwygified_...
        
           | axilmar wrote:
           | In other words, Emacs has its own markup language? how does
           | emacs know that a specific bit of text is a button, for
           | example?
        
             | dmortin wrote:
             | Characters can have various properties set. These are
             | either built in or you can define your own properties too.
        
             | juxtapose wrote:
             | Yes, Emacs supports a limited form of "rich text". See
             | text-mode.
             | 
             | It's supported by text properties [1] and overlays [2].
             | Character properties are special attributes attached to a
             | single character, while overlays can attach attributes to a
             | "region" and override old text properties (like div in
             | HTML).
             | 
             | In Emacs,
             | 
             | > A button is essentially a set of text or overlay
             | properties, attached to a stretch of text in a buffer. [3]
             | 
             | The Emacs display engine is sorta like an HTML render
             | engine.
             | 
             | [1] https://www.gnu.org/software/emacs/manual/html_node/eli
             | sp/Te...
             | 
             | [2] https://www.gnu.org/software/emacs/manual/html_node/eli
             | sp/Ov...
             | 
             | [3] https://www.gnu.org/software/emacs/manual/html_node/eli
             | sp/Bu...
        
       | dhosek wrote:
       | Wow, it's interesting how many people seem to have their own
       | takeaways from this, many of which seem to have missed the
       | original point of the post (I wonder how many actually read the
       | post). The author of the post on gnu.org is blind (and the
       | "Raman" he referred to is T. V. Raman, a blind mathematician who
       | I met ages ago when he gave a presentation at the Portland TeX
       | Users Group meeting about adapting TeX for presenting mathematics
       | to blind readers. Raman, in fact, wrote a reply to the message
       | where he wrote:
       | 
       |  _> A lot of baggage gets applied today when folks talk about
       | "Accessibility", but to me the touch-stone of a truly Accessible
       | system is one where you dont have to ask what interaction
       | modality someone else is using e.g. witness email, where the
       | persons participating in a conversation never need ask "Did the
       | person I am talking to use Braille, speech, or something else",
       | similarly, someone who has a hearing impairment can send you
       | email without you ever needing to know that he cant hear you._
       | 
       | I feel like too many developers treat accessibility as an
       | afterthought rather than a central concern.
        
         | sn41 wrote:
         | It is an interesting historical note that T. V. Raman won the
         | ACM best doctoral dissertation award as a blind scholar [1]. I
         | take an active interest in accessibility partly because my
         | wrists hurt. Technologies initially meant to help blind people
         | have turned out to be useful for people with other conditions
         | as well. [1] https://awards.acm.org/award_winners/raman_4110221
        
           | pmoriarty wrote:
           | _" I take an active interest in accessibility partly because
           | my wrists hurt."_
           | 
           | If we live long enough, each of us will almost certainly have
           | accessibility issues.
           | 
           | So improving accessibility helps our future selves.
        
             | PaulDavisThe1st wrote:
             | Last year I was 55 and backpacking with my brother (35). I
             | was reading a 1st gen Kindle and having problems without my
             | reading glasses. He kindly pointed out to me that you could
             | change the font size, an idea that absurdly had not occured
             | to me. I still don't know what was more remarkable: that it
             | didn't occur to me, or the way it saved 16 nights of
             | reading for me. It felt a little embarrassing to have to
             | take advantage of this feature initially, but it wasn't
             | hard to embrace and feel deeply grateful for.
        
               | linkdd wrote:
               | Thanks to Chrome which saves the zoom settings per
               | domain, I have "configured" every site I read to be at
               | the same size (125% for most of them, 110% for some, 200%
               | for monsters who put a very small font).
               | 
               | I do this mainly because switching from font size to font
               | size actually tires my eyes (they always need to refocus)
               | on the long term.
        
               | dhosek wrote:
               | This change seems to have made its way upstream into
               | Webkit (or perhaps went downstream to Chrome? Who knows,
               | probably the former though). It's really nice to have the
               | zoom setting preserved on visits rather than on tabs. I'm
               | also fond of the two finger double tap on the trackpad to
               | zoom into a narrow column of text on a website (I assume
               | Chrome also supports this) which is my primary mode of
               | reading a lot of websites.
        
               | jannes wrote:
               | The zoom level can be read by the website and used for
               | fingerprinting, so some browsers see it as a privacy
               | issue to preserve it across visits.
               | 
               | Firefox supports both, but the default is to preserve it,
               | I think.
        
               | jrockway wrote:
               | Chrome has a "minimum font size" setting that overrides
               | websites that use small fonts. I set my minimum high (16
               | normal, 14 minimum) and haven't run into any breakage.
               | 
               | (I am not sure if the point sizes of fonts have any
               | meaning. I like my text a certain size and it's a
               | different number in Chrome, Powershell, and Putty, which
               | is weird to me...)
        
               | rbanffy wrote:
               | IIRC, in typography, a point is 1/72th of an inch.
               | 
               | I don't think desktop computers, with the possible
               | exception of the NeXT, ever respected that.
        
           | munificent wrote:
           | _> Technologies initially meant to help blind people have
           | turned out to be useful for people with other conditions as
           | well._
           | 
           | The generalization of this observation is called the curb-cut
           | effect:
           | 
           | https://burness.com/blog/the-curb-cut-effect-how-a-fix-
           | for-o...
        
           | jberryman wrote:
           | Are there any particular technologies that have helped you
           | with your wrist issues?
        
           | mercer wrote:
           | in my late teens and early twenties my wrists started hurting
           | so bad that I could barely use a computer.
           | 
           | While over time things improved to the point where I only
           | have pain after doing pixel-style photoshop work with a
           | mouse, it made me _painfully_ aware of easy it is to take
           | things for granted and not consider accessibility.
        
             | paulryanrogers wrote:
             | NIH and others have recommendations that may help. I would
             | also suggest seeing a specialist ASAP. A career may last a
             | few decades but your body is for life.
        
         | dang wrote:
         | Coincidentally, there is a current thread about blind
         | mathematicians:
         | 
         | https://news.ycombinator.com/item?id=24429493
        
       | jefftk wrote:
       | A website can have this cross-modality UI property too, but most
       | sites don't. This is partly cultural (emacs mode developers
       | generally caring more) and partly about collaboration (it's much
       | easier to upstream issues with an emacs mode than a site).
        
       | robenkleene wrote:
       | What's the difference between what's being described here and the
       | web?
       | 
       | (In particular, Electron-based local applications which of course
       | have a cross-platform web-based UI.)
       | 
       | I'm not saying they aren't different, at the very least, Emacs
       | prioritizes text, while the web prioritizes multimedia. But I'd
       | love to hear other peoples takes on the differences.
        
         | HelloNurse wrote:
         | "Prioritizes"? It's a fundamental difference. If everything is
         | text, text processing can process everything; if everything is
         | a blob with a MIME type user experience is fragmented into
         | whatever more or less integrated clients are able and willing
         | to do with each incoming document (usually not much).
        
         | narwally wrote:
         | > What's the difference between what's being described here and
         | the web?
         | 
         | The web is generally terrible for accessibility. Since emacs
         | has always prioritized maintaining compatibility between its
         | graphical and text UIs, it words very well with screen readers
         | and refreshable braille displays. It's also been designed from
         | the beginning with keyboard navigation in mind.
        
         | slightwinder wrote:
         | The Webstack is far more complex than anything emacs offers.
         | Emacs has just a wall of text with some special markup, but
         | there is not concept of layout for this text, and all
         | navigation is usually separate from the wall of text, making
         | accesability significant simpler to handle.
         | 
         | In emacs there is a beginning and an end, and you just follow
         | the flow. In webstack you have elements, which have a position
         | and if you are lucky they are tagged with their purpose. If
         | not, it's up to you to figure out whether this is for
         | navigation or content or advertisement or some other navigation
         | or comments, which is more another kind of navigation...
         | Basically there is just no really realiable structure with the
         | web. Sometimes there is something, sometimes not, sometimes
         | it's this way, next week it can be that way...
         | 
         | And even worse are dynamic site where parts of the site are
         | loaded on demand. So you need a complex setup of tools to
         | handle those content, instead of simple text-search and cursor-
         | moving.
        
           | shawnz wrote:
           | You could construct the same kinds of problematic UIs in
           | Emacs too... it's just that Emacs is not as widely used as
           | the Web and its users don't have such varying demands and use
           | cases for it, so it's not as common for that to happen.
           | 
           | The Web is also designed around a linear flow of text. The
           | Web also provides opportunities to make navigation semantics
           | clear. The Web also implicitly supports keyboard navigation
           | everywhere. etc. Although many websites try to work around
           | those principles, is that a problem with the web or just the
           | websites people are using today?
        
             | slightwinder wrote:
             | > You could construct the same kinds of problematic UIs in
             | Emacs too...
             | 
             | If you do it on purpose, then maybe, but not to the degree
             | of what webstack offers. People already have a hard time to
             | handle org-mode-hierachies and folding...
             | 
             | > The Web is also designed around a linear flow of text.
             | 
             | No, that went out the door when CSS was added. Now it's
             | designed around random positioning of little boxes. Some
             | boxes contain linear text, some contain media, most contain
             | even more little boxes.
             | 
             | Emacs does not have those boxes in the first place. The
             | only boxes it has are outside the document, avoiding this
             | whole class of problems for accesability.
        
               | shawnz wrote:
               | Sure it does. First of all, you can lay text anywhere you
               | want in a buffer, thus letting you create whatever little
               | boxes you want. Plus, it has support for images and even
               | arbitrary GTK widgets in that buffer too.
               | 
               | Remember before CSS, people just did the same thing
               | anyway with tables. CSS only made easier what people were
               | already doing. I am sure the same would happen to Emacs
               | if it ever became a widely used piece of software.
        
           | taeric wrote:
           | I think you have never looked at the customize screens.
           | 
           | Not to mention that many of us have used emacs for email for
           | ages. Which, lo and behold, is dynamic with parts loading
           | before or after others. Even viewing images inline has been
           | doable for a _long_ time.
           | 
           | Don't get me wrong. Emacs has stayed mostly text focused.
           | Even mostly linear focused, I would agree. I view that as a
           | plus, though. The modern web world? Not so much. And telling
           | that most "resurgences" of popular sites and ideas are
           | usually a return to a linear treatment of data. Often most of
           | the extra crap around are flashy graphics or desperate
           | attempts to get more interaction from users.
        
       | blauditore wrote:
       | Slightly off-topic, but people here seem to like that stuff: The
       | author has a personal website[0], which is a gem from the "old
       | internet" - a wild mix of technical stuff, pet cat pictures, and
       | some personal history.
       | 
       | [0]: https://delysid.org
        
         | sreevisakh wrote:
         | Very interesting! Made me curious about how a blind person
         | codes (accessibility technology). Aside from that, I am also
         | curious as to why you characterize the website as from the 'old
         | internet'. It looks like a modern minimalist static site to me.
         | Not what I would expect from a 90s site. What do you consider
         | as the distinguishing features of old internet vs the modern
         | version?
        
       | submeta wrote:
       | Emacs + org has the potential to be the dream environment for
       | everybody with a hacker mindset: Automate everything that has to
       | do with text: Journaling, writing todo lists, parsing your Kindle
       | highlights file (`My Clippings.txt'), writing project outlines,
       | doing web research and saving your searches, notes, thoughts,
       | summaries in Emacs via org-capture, drafting papers in org-mode,
       | creating (text-based) tables and overviews, writing tech
       | documentation with embedded screenshots, and many many more.
       | 
       | What ties all these notes and files together is Emacs Lisp: Write
       | Lisp functions to automate most of what you do. - Previously I
       | used Python for that, but Elisp is so much more fun to automate
       | text-based workflows.
       | 
       | I would have to write a book to summarize all the ways this can
       | transform your interactions and workflows with your computer and
       | especially with everything text.
       | 
       | Edit:
       | 
       | After twenty years of using all sorts of text based databases and
       | PIMs (AskSam, NetManages ECCOPro, various outliners, Outlook,
       | Evernote, Omni{Focus,Outliner}, Bear Writer App, Ulysses App, and
       | half a dozen other tools) I have come to realize that nothing
       | beats Emacs + Org + Lisp.
        
         | agumonkey wrote:
         | I hate org.
         | 
         | I use emacs 25/7, I hate org.
         | 
         | Something about it rubs me the wrong way, yet I use it but only
         | the basic parts. I think it's that I can't wrap my head around
         | the mental model of it, and since it encompasses 2000 topics
         | (trees, timing, workflow, states, agenda, journaling, tagging)
         | it's like a mountain of mud before my eyes.
        
           | BeetleB wrote:
           | Dude: It's just a simple outliner with features built on top
           | of it. There's not much of a mental model beyond the outline
           | aspect (headings and text). Everything else is just a feature
           | which you don't need to know to use the basics. As your needs
           | go up, you merely learn the feature you want to use. Most
           | people use only 10-20% of Org's features.
           | 
           | Seriously, M-Ret, TAB and S-TAB are all you need to get
           | going.
           | 
           | I watched the Google Tech Talk on it and was immediately
           | productive. Don't bother with the Org manual until you want
           | to do more.
        
           | blablablerg wrote:
           | Well you don't even have to understand it fully, that is what
           | is great about it.
           | 
           | What it is good for is that it gives you maximal freedom in
           | organizing things the way you want. When I start out with a
           | new org file, I just make lists and add functionality when
           | needed.
           | 
           | While with most other todo/organizing applications you tend
           | to be forced in some framework. This is how you should
           | organize, and when you want to deviate things become
           | cumbersome.
           | 
           | And then the other good thing is that editing is FAST (I use
           | evil mode), in most other organizing/productivity tools you
           | have to click a lot. Simple things become a chore quickly.
           | 
           | Freedom + speed = gold
        
             | agumonkey wrote:
             | oh you're assuming that not using org means using another
             | organizer[0].. I just stopped organizing :D
             | 
             | who knows, maybe one day I'll finally see the light
             | 
             | [0] and I fully agree that most systems are way less
             | ergonomic than emacs
        
               | blablablerg wrote:
               | Haha yeah I also never planned, I hated it. Still do
               | actually. But one day I was fed up with the chaos in my
               | life, dirty house and minimal productivity that I
               | decided.. I need structure. I realized that the time I
               | invest in structure pays itself out, because I spend less
               | time goofing around. And so started the great journey in
               | finding the best todo system. I started with paper, then
               | google calendar/tasks, todoist and load of other apps
               | until I finally went back to paper. The apps were just
               | too cumbersome. Paper was simple and worked, but
               | unfortunately paper itself is difficult to organize. I
               | always avoided orgmode because well.. I was scared of
               | emacs but eventually decided to give it a go, see what
               | happens. And it was what I have been looking for all
               | along: a simple and flexible system. And vim keybindings
               | are a big bonus :)
        
           | dmortin wrote:
           | You can use as much or as little of org as you want. It's
           | perfectly allright to use only a subset of it. I do. I only
           | use what I need.
        
           | submeta wrote:
           | I started using it as an outliner. Then I added org-agenda to
           | it, and migrated all my tasks from Things3 to it. Next I
           | added repeated tasks, then org-habits, org-journal and some
           | more. Incrementally.
        
             | agumonkey wrote:
             | I choked at outliner level
        
           | rgrau wrote:
           | I feel ya, my friend.
           | 
           | I also have read the org manual a few times, and it feels so
           | big you can't hold a mental model for long enough to make
           | sense while incorporating all its features. As you know, org
           | mode has too many features to use them all at once (like
           | emacs itself).
           | 
           | What (kinda) worked for me was, after knowing "I've read it
           | all", to purposefully "downgrade" to a very very basic
           | workflow. I thought then I would start adding features on a
           | need basis, because I had the perimeter of what it can do.
           | 
           | But it turns out I haven't added anything else to the trivial
           | workflow. There's a bit more info here (
           | https://puntoblogspot.blogspot.com/2018/12/3-basic-org-
           | agend...), but essentially the trick was to use just one
           | capture template for everything that just schedules the
           | current task for today (so it appears in agendas until I mark
           | it as done), and one single file, without different subtrees.
           | ("t" "Todo" entry (file+headline "~/org/tasks.org" "Tasks")
           | "* %^{title} \n  SCHEDULED:%t\n  %?\n %i\n  %a\nAdded: %U")
           | 
           | I feel safe because in that file, down means "later", so I
           | still can rely on my basic common sense.
        
       | etaioinshrdlu wrote:
       | Not that it's anything like Emacs, but would SIM Application
       | Toolkit be considered kind of similar? It provided almost a
       | lowest-common-denominator user interface for apps, which could
       | actually run in the smartphone era, although with practically no
       | advantages over a native app.
        
         | venamresm__ wrote:
         | You'd be surprised to hear STK is still in use even today by
         | big mobile operators. Some even go as far as to launch
         | campaigns to install STK applets on millions of devices and
         | customers have no idea this is happening in the background.
        
           | yaantc wrote:
           | Yes, all the "eSIM" over-the-air management uses the STK for
           | example. But to be fair, the user interface part is no longer
           | used. The part of the STK still in use is what is required to
           | support remote management functions between the network
           | operator and some applet on the SIM card. The user is out of
           | the loop, and it's perfectly fine for a modem not to support
           | the user interaction part of the STK.
        
             | venamresm__ wrote:
             | I actually work within the eSIM ecosystem and other sim
             | related activities. And, yes, some mobile operators do
             | indeed use the STK UI today, it's not limited to background
             | tasks.
        
       | mullikine wrote:
       | I wish to profess my love for terminal emacs. I do not take it
       | for granted. Hear ye. Any editor so powerful that also humbles
       | itself to a 100x30 terminal without losing any power is pure
       | class. This program deserves praise. I pray that GNU emacs will
       | continue to support a text-only interface for many years to come
       | and when at last the elisp fractal is no longer fit for purpose,
       | I pray that its mechanics will be absorbed by the great neural
       | network that will learn everything.
        
       | melling wrote:
       | Emacs Lisp is slow. There has been a multi-decade effort to make
       | Guile support ELisp, and using Guile to make Emacs more
       | performant.
       | 
       | Cross platform UI, with a faster Lisp, would allow Emacs to be
       | even more special.
        
         | bjoli wrote:
         | Guile Emacs will never happen. Robin's work was amazing, but at
         | it's absolute height guile Emacs was still a slower and buggier
         | version of regular Emacs. I am pretty certain a full guile
         | Emacs would be better than current Emacs (guile is actually a
         | very neat little VM with lots of cool optimisations going on),
         | but that is not where the reality is.
         | 
         | As a guiler I want Emacs to be guile-based, but I totally
         | understand the Emacs POV: guile is an external dependency with
         | unsecure maintainership.
        
           | pmoriarty wrote:
           | Never say never.
           | 
           | Guile Emacs was the work of one (very talented) guy. He's
           | moved on to other things, but it's not inconceivable that
           | another Guile fan will pick up the torch some day.
           | 
           | If enough Guile/Emacs fans get together this might actually
           | turn in to a viable, maintainable project... this is, after
           | all, how Neovim started. Just some people who were
           | unsatisfied with where Vim itself was going, and teamed up to
           | make their alternate vision a reality -- with great success.
           | 
           | Guile Emacs work is actually a much smaller task than Neovim,
           | as Neovim's authors rewrote Vim from scratch, whereas Guile
           | Emacs has a much more humble aim of simply allowing eLisp to
           | be hosted on the Guile VM.
           | 
           | It could still happen.
        
             | bjoli wrote:
             | With the direction guile has been going in lately, guile is
             | only becoming more attractive.
             | 
             | The problem with integrating it is that you need someone
             | with good knowledge about guile (since the elisp
             | implementation is pretty bad currently) but even more
             | important: someone who know Emacs internals (not many).
        
         | slightwinder wrote:
         | Multi-decade effort..wasn't that done by just 2-3 guys as an
         | alternative attempt?
         | 
         | Anyway, while elisp might not be the fastest language around,
         | it's not the origin of all slowness in emacs. Crufted design is
         | also a big culprit. The dated regex-machine is often mentioned
         | as a big problem, making syntax highlighting especially
         | painful.
        
           | pmoriarty wrote:
           | Apparently, Emacs' display code shares the blame, and no one
           | wants to touch it as it's written in some really hairy legacy
           | C.
           | 
           | Though I'm not a Rust fan, and would infinitely prefer Guile
           | Emacs, I am kind of half-hoping Remacs succeeds so Emacs can
           | finally put all of that legacy C behind it.
        
           | duckonomy wrote:
           | Some people are saying that
           | https://github.com/ubolonton/emacs-tree-sitter will
           | eventually replace the default regexp-based font-lock for
           | syntax highlighting. I'm personally testing it out and it's
           | been great!
        
         | LandR wrote:
         | My experience on windows is that emacs is unusably slow.
         | 
         | Multi-second lag on type and navigating isn't acceptable. Org-
         | mode is especially bad.
        
           | jonrx wrote:
           | I think it's related to the fact that emacs has multiple
           | (very) small files and short-lived processes, which does not
           | work well/fast on Windows. For a while, I ran Xubuntu in a VM
           | just to use emacs, because the performance on my Surface book
           | 2 was unacceptable.
           | 
           | I ended up going in the other direction: kept emacs, got
           | mostly rid of windows (I have it in a VM for the odd occasion
           | where I need to use a windows-specific program. The fact that
           | my company is flexible on the work OS is a huge bonus for me.
        
         | gpderetta wrote:
         | the new AOT compiler seems promising though and has a good
         | chance of actually making it into the release.
        
         | globular-toast wrote:
         | Yes... but it's not _that_ slow. In practice, emacs works at
         | least as fast as I can think most of the time. This is the most
         | important thing for me. It 's the reason why I originally
         | switched to git from svn (Linus also specifically mentions this
         | as a design choice for git). In this day with electron and
         | editors like VSCode I wouldn't call emacs particularly slow.
        
           | marcosdumay wrote:
           | More important, I never have to wait emacs to fill a buffer
           | with the text I've typed.
           | 
           | Yes, on some modes there is a visible delay between pasting
           | text and being able to type again, or writing some code and
           | it telling me it's wrong. But the one kind of interaction
           | that matters is always flawless.
           | 
           | Many editors do not get this right.
        
           | wiredfool wrote:
           | I'm not sure about the others, but rjsx mode is slow with
           | moderately complicated files, and the (idr which)
           | accompanying refactor minor mode is glacial on a mbp.
        
             | morelisp wrote:
             | rjsx is based on js2 which makes it unusually slow. js2 was
             | a valiant attempt to make a major mode that uses elisp to
             | actually parse the language. This gave it tremendous power
             | compared to every non-Lisp major mode and most other JS
             | editors at the time, but it has not aged especially well in
             | modern JS support or performance.
             | 
             | I'd try one of the LSP based approaches instead these days.
        
           | gpderetta wrote:
           | I think the reason that emacs feels fine most of the time
           | even if elisp is slow is that usually abstractions are fairly
           | minimal.
        
         | 5h wrote:
         | As a non Emacs user, is the speed of Emacs Lisp a frustration
         | in typical day to day usage?
        
           | jsilence wrote:
           | For me as a long term Emacs user, started using it 1994ish,
           | it is not an issue. I don't mind the occasional minor lag. In
           | my usage it is rarely in a range where it actually makes me
           | wait.
           | 
           | Emacs has a certain feel to it. Hard to put the finger on,
           | but the movement of the cursor and the scrolling, it just
           | feels nice for me. Like a well worn favourite T-Shirt.
        
           | monsieurbanana wrote:
           | Sometimes. Vanilla emacs is lightning fast, but it's also
           | missing critical features for most people.
           | 
           | If you want to use emacs as a an alternative to VSCode, or
           | IDE in general, you'll find high quality plugins that will
           | enable you to do so. But then you might experience slow
           | downs.
           | 
           | As emacs is single-threaded (people will come and tell me
           | it's not anymore, I know, but in practice it still is) you'll
           | feel any slow downs in those plugins. Emacs typing latency
           | isn't great.
           | 
           | It's a mixed bag really. It can be fast, it can be slow. It's
           | still my favorite editor.
        
           | jmiskovic wrote:
           | What are you using now? If VScode or Atom you won't feel any
           | degradation. If vim or SublimeText, some things will take few
           | extra dozens of milliseconds. You could test the Doom Emacs,
           | which is trying to be a feature-full emacs environment
           | optimized for speed.
        
             | 5h wrote:
             | I've been using Vim for a very long time now, recently
             | adding CoC has slowed things a bit however I am quite fond
             | of some of the features, so I might start enabling it only
             | when I want those.
             | 
             | I'm not looking to encouragement to change (after 20 years
             | in Vim that ship has likely sailed for good), I was just
             | curious if the speed of Emacs lisp was a frequent bugbear.
        
           | rossvor wrote:
           | Speaking as recent(4-5 months) Emacs(spacemacs) convert - it
           | is slower compared to even "decked out" vim. An important
           | caveat to mention is that it very much depends on what modes
           | you are operating in -- each file type will usually operate
           | in its own mode, with varying performance. In my experience
           | the lagginess is rare, but its very workflow dependent,
           | there's this one large(1.5k line) php file I have to edit
           | semi-regularly on which I switch off the php mode, just to
           | avoid the pain of jankiness. It isn't very noticeable in
           | other, "regular" sized files.
           | 
           | But overall I'm a very happy emacs convert. It's extremely
           | malleable and pleasant development environment and I think it
           | definitely deserves all the gushing articles/posts its been
           | receiving past few years.
        
             | beojan wrote:
             | Spacemacs is actually quite a bit slower than it probably
             | needs to be (by which I mean "slower than Doom emacs
             | [https://github.com/hlissner/doom-emacs]").
        
           | lawn wrote:
           | I don't know the reason but for me Emacs is frustratingly
           | slow compared to Vim.
        
           | rusk wrote:
           | Sometimes. But, in my experience a lot of these advanced
           | development environments can be quite hang-ey if you know
           | what I mean. It's quite lightweight relatively speaking so
           | more than makes up for it.
        
         | tikhonj wrote:
         | There's some new development going on that compiles Emacs Lisp
         | to native code with GCC and it is a _real_ performance
         | improvement. I 've been using it on an unstable Emacs build for
         | the past few weeks and I can _feel_ the difference--noticeably
         | snappier and more satisfying.
         | 
         | It's not 100% ready for day-to-day use yet--the deferred
         | compilation logic seems to be recompiling more often than it
         | has to--but I've been quite happy with it so far, and it will
         | make a _substantial_ improvement for Emacs users once it 's
         | stable and rolled out. Hoping it can be released with Emacs 28
         | or 29 at the latest :).
        
           | agumonkey wrote:
           | What's your machine specs ?
        
           | anthk wrote:
           | Also Emacs can lock the rest of the panes while doing I/O.
           | 
           | How could native code solve that?
           | 
           | Guile at least could.
        
       | II2II wrote:
       | Most of the comments seem to be missing a very important point
       | from the post:
       | 
       | > As a blind user, I can write a special mode which does
       | something specific, say, implement an IRC client. Almost all my
       | work can instantaneously be used by sighted people using their
       | graphical toolkit.
       | 
       | This goes well beyond the ability of the author to create
       | software that is accessible for both sighted and blind users. It
       | is stating that support for both audiences is handled elegantly
       | by the same toolkit, so you aren't creating an adversarial
       | situation where serving the needs of both groups of people
       | requires some form of compromise in the user interface or
       | necessitating significantly more effort. (I would imagine that
       | some care is required, but Emacs developers are going to address
       | it anyhow since the program is intended to run in graphical and
       | non-graphical environments.)
       | 
       | I suspect this support of multiple environments is part of the
       | reason why there is an esoteric collection of applications that
       | run within Emacs. As an example: it is possible to read ebooks in
       | Emacs, with formatting and images being supported in X and
       | gracefully handled in a terminal.
        
       | rleigh wrote:
       | Some of its paradigms are plain stupid.
       | 
       | C-Z (in the GUI) triggers minimise of the window.
       | 
       | In a shell, that's fine. It suspends the process. In a GUI it is
       | just bloody annoying. There's a perfectly good minimise button if
       | I want it. This is just a frustration every time I fat-finger
       | C-X. Which is used so frequently it's just asking to be pressed
       | by accident.
        
         | tom_ wrote:
         | I don't rate this shortcut either, but there's an easy fix for
         | your .emacs:                   (when window-system
         | (global-unset-key (kbd "C-z")))
        
       | jancsika wrote:
       | > Emacs is the only serious program I know which manages to be
       | truely user interface independent, in addition to being platform-
       | independent.
       | 
       | So tell me about the UX of free software speech recognition in
       | emacs. I want to read about how to set that up and the
       | limitations of it as I watch my 5 year-old niece interact with
       | Alexa.
        
       | skissane wrote:
       | I can think of a few UI styles Emacs doesn't support (to my
       | knowledge) - line mode terminals, block mode terminals (such as
       | IBM 3270 and 5250), and HTML.
       | 
       | Now, whether any of those UI styles are actually _worth_
       | supporting is a completely different question. But it is not
       | quite as universal in support of different UIs as this email
       | claims.
       | 
       | (You can technically write line mode applications in Emacs Lisp,
       | try `emacs -batch -l dunnet` for an example. But most Emacs
       | functionality is not available in line mode, the core text
       | editing functionality certainly isn't. There is also a HTTP
       | server available for Emacs [1], so you could use it to implement
       | a HTML-based user interface, but once again the vast majority of
       | Emacs functions are not available over HTTP)
       | 
       | [1] https://www.emacswiki.org/emacs/HttpServer
        
         | abdullahkhalids wrote:
         | Emacs support of non-fixed width fonts is also pretty bad. My
         | language Urdu is basically impossible to write on Emacs - or at
         | least it was 5 years ago when I struggled with it a lot.
        
           | ywei3410 wrote:
           | The HarfBuzz font engine should help.
           | 
           | What trouble were you having with specifically?
        
             | NateEag wrote:
             | Clarification: HarfBuzz is available in Emacs as of the
             | recent 27.1 release.
        
           | sreevisakh wrote:
           | You should give it another try. My native script is also hard
           | to render as fixed-width. But the latest Emacs seems to be
           | doing well.
        
         | twic wrote:
         | Some time in the late '90s a friend and i sat down and tried to
         | design a UI framework that could cover lots of styles. We
         | started with GUI and line-mode terminal, but hoped to add
         | curses and the web (1.0 of course, so using forms, not
         | JavaScript). I didn't know about block-mode terminals at the
         | time.
         | 
         | GUIs and line-mode terminals are radically different, so you
         | have to think of a language of UI primitives that are high-
         | level enough to have a natural implementation in each style.
         | 
         | This is hard! For starters, a GUI is inherently spatial,
         | whereas a command line is more temporal. If you want to specify
         | a sandwich, say, then in a GUI, you might have three select
         | boxes next to each other for the bread, filling, and dressing,
         | and a submit button, whereas on a command line, you need to
         | prompt three times, and perhaps offer options for going back
         | and changing the selection. Or offer internal commands for
         | viewing the lists and making a selection, for a more shell-like
         | interface.
         | 
         | From what i remember, our API ended up looking a lot like web
         | forms - the application presents a series of questions, each
         | with a prompt and a structure for the answer (free text, select
         | one from a list, etc). The GUI implementation then put together
         | a (very ugly) GUI with a elements for each question, the
         | command line implementation asked each question in turn.
         | 
         | We never got as far as trying to display rich information. That
         | could have been a whole different set of problems.
        
         | [deleted]
        
         | rusk wrote:
         | Interesting ... has anybody tried a browser based (which is
         | what I presume you mean by HTML) front end for emacs?
         | 
         | EDIT - just to be clear, I'm talking about emacsclient, talking
         | to a emacs server. Not an actual full blown emacs
         | implementation that's just stupid.
        
           | hpfr wrote:
           | Cloudmacs basically puts tty emacs in your browser:
           | 
           | https://github.com/karlicoss/cloudmacs
        
           | skissane wrote:
           | I meant old-school pure HTML forms, not a HTML5 app with
           | JavaScript+Canvas (or even wasm+Canvas). With the later, you
           | could in principle compile GNU Emacs to JavaScript or wasm,
           | using e.g. emscripten. (I don't know if anyone has succeeded
           | in that yet, but I think it would be in principle
           | achievable.)
           | 
           | Old-school pure HTML forms actually has a lot conceptually in
           | common with block mode terminals such as IBM 3270. The server
           | sends the client a fill-in-form, the user fills it in, the
           | client sends it back to the server in one block. Most of the
           | logic exists on the server (although some basic very basic
           | validations may execute on the client). So, I was actually
           | talking about serving up a classic pure HTML form app over
           | HTTP as a UI style.
        
             | rusk wrote:
             | No, I am specifically not talking about this. I'm actually
             | not sure at this point what you mean - I have a vision of
             | somebody communicating with an emacs backend via forms?
             | 
             | I'm just talking about a thin client, such as you typically
             | use when you have emacs running as a server. You only have
             | to manage text and windowing, and capturing user commands
             | and communicating with the back end. These are the kind of
             | things browsers are good at.
        
               | skissane wrote:
               | Well, think of a 3270 editor, such as ISPF EDIT on MVS or
               | XEDIT on VM/CMS. Now imagine using that editor through a
               | 3270-to-HTML gateway. That's what I was really talking
               | about. But, you could actually implement a similar style
               | of interaction in pure HTML, without the 3270 layer.
               | Indeed, a lot of classic server-side web apps, even if
               | they weren't text editors, worked with that UI style.
               | 
               | Of course, Emacs doesn't support 3270. But that was my
               | point - that there are UI styles which Emacs doesn't
               | support. They might not be _useful_ UI styles, especially
               | in 2020. But historically they were important, and any
               | suggestion that Emacs is some kind of magic which
               | supports all UI styles isn 't really true, although maybe
               | it supports all contemporarily practically relevant UI
               | styles.
        
           | dheera wrote:
           | With the new Chrome filesystem API it should be possible to
           | make a full browser implementation.
           | 
           | Let's just hope they don't have annoying GDPR and other
           | popups when you're trying to edit a file.
        
             | rusk wrote:
             | You shouldn't even have to need filesystem API if you're
             | just using it as an emacs client connecting to an emacs
             | server.
             | 
             | Your remark about GDPR is kind of strange ... not sure what
             | that would have to do with anything ... GDPR applies to
             | people and organisations, not their tools.
        
               | NateEag wrote:
               | The requirement to advertise "we use cookies" and spam
               | you with popups when you visit a site is frustrating for
               | highly technical users.
               | 
               | OP is saying that Emacs-as-website would be frustrating
               | if it had those popups.
        
               | rusk wrote:
               | You don't have to do that unless you're hosting a public
               | site ... and even so if it's a private session and you'd
               | logged in this wouldn't be required. Logging in is seen
               | as a tacit acknowledgment that you consent to being
               | tracked, cause how would I have. A personal session
               | otherwise.
               | 
               | The cookies warning is all about notifying the casual
               | reader who might otherwise believe they were passively
               | browsing static content.
        
               | krageon wrote:
               | > Logging in is seen as a tacit acknowledgment that you
               | consent to being tracked
               | 
               | Logging in means you get a single cookie (a login/session
               | cookie), that cookie is necessary and thus a functional
               | cookie that you can't say no to. All other cookies (and
               | basically every form of tracking) still isn't allowed
               | without consent.
        
               | hdjdbtbgwjsn wrote:
               | Some people really hate GDPR. It has crushed the AdTech
               | industry in Europe - I'm not sad about that but I do hope
               | those people found other employment fast.
        
               | rusk wrote:
               | There was a thriving industry harvesting and processing
               | personal details about people. I think if the true extent
               | of it were known most people would warmly embrace GDPR.
               | But some people have lost a lot of money and they are
               | pissed, but again I kind of feel there is a lot
               | unscrupulousness involved so it's hard to feel sympathy.
               | 
               | To a lesser extent, there are people that are concerned
               | about "all the extra work" this entails, and the cost it
               | adds to their bottom line. But this stuff is important
               | nowadays. You really should be taking care of it.
               | 
               | There is some scaremongering about small firms being
               | blown out of the water for noncompliance, but really,
               | unless you're doing something you shouldn't be doing you
               | should be fine. The terms of GDPR though still not
               | completely clearly specified are flexible and reasonable.
               | The main thing is now, that you can't say you weren't
               | aware of it.
        
             | hdjdbtbgwjsn wrote:
             | Let's hope the filesystem API does require user permission
             | and that anyone building such a service follows the law.
             | 
             | You know that GDPR doesn't require pop ups unless the
             | service is doing something that isn't otherwise lawful?
        
             | warpech wrote:
             | There must be someone working on Emacs in Electron as we
             | speak. I found some gist that's 2 years old: https://gist.g
             | ithub.com/chrisdone/f874ac1c872c004d6ce9e3cb20...
        
           | konjin wrote:
           | I've ran emacs in cocalc's terminal emulator in the browser,
           | non-ironically doing real work.
           | 
           | It works pretty well.
        
       | hosh wrote:
       | This is something Richard Stallman has advocated for. Free
       | software was not just about the availability of source code, but
       | also about making sure software can function well on lower
       | powered devices, lower bandwidth environment, or people who
       | cannot use the same kind of interfaces.
       | 
       | There was an essay discussing this ... but I do not recall it
       | now.
        
       | argb wrote:
       | One of the nice things about the terminal is that things stay
       | consistent for decades or more - people are not chasing fashion
       | trends all the time, as is happening with the Web and graphical
       | UIs.
       | 
       | Nobody is being forced to use a particular style and color scheme
       | and we don't have repeated redesigns which remove functionality
       | for the sake of user friendliness or minimalism.
        
         | wiz21c wrote:
         | This. Plugins deliver value much more than graphical design. I
         | also often tell myself that working in emacs is exhausting
         | because it displays only valuable information => my brain works
         | 100% of the time when I'm in front of it :-)
        
       | vbsteven wrote:
       | To me the main 2 primitives that make Emacs the extensible
       | crossplatform app/platform/os/whatever you want to call it are
       | these:
       | 
       | * everything is a buffer, which in essence is a grid of text,
       | that's the UI primitive, if you can render a grid of text you can
       | probably build an emacs UI easily.
       | 
       | * every action/command is an elisp function that operates on
       | these buffers
       | 
       | Combine these two and you can create pretty much anything. Code
       | written in elisp that outputs buffers.
       | 
       | An analogy with the modern web as a platform: elisp is the
       | JavaScript and buffers are the DOM.
        
       | jwr wrote:
       | One begins to understand the advantages of this approach after
       | 10-15 years or so.
       | 
       | I feel that I am constantly being forced into new "UI paradigms",
       | and it isn't always a change for the better. I started with DOS
       | (Norton Commander, anyone? to this day there is no comparable
       | tool), then Windows 3.0 and 3.1 (which was mostly garbage and I
       | did not enjoy the UI at all). I then started using Linux and
       | discovered Emacs. When I could afford the extra megabytes of
       | memory, I would also run X11. As years went by, I switched to the
       | Mac.
       | 
       | These days I'm worried about what will be taken away from me,
       | especially with Apple and their insistence on removing ports, the
       | idiotic "Touch Bar" instead of function keys -- but also with
       | Linux, where the shift away from X11 means no more remote
       | applications, and the (increasingly broken) approach of gluing
       | everything together into a big mudball means that if you're
       | running anything that isn't "mainstream", things break and you
       | are very much on your own.
       | 
       | But I still have Emacs and I'm fairly confident that it will
       | remain available and running on every platform I decide to switch
       | to. And that I will be able to run it (with reduced
       | functionality) on a text terminal.
        
         | drsopp wrote:
         | > Norton Commander, anyone? to this day there is no comparable
         | tool
         | 
         | Directory Opus. I've used it for nearly 30 years. First thing I
         | install on Windows.
        
           | muro wrote:
           | Or total commander
        
           | tluyben2 wrote:
           | Or FAR.
        
             | bandie91 wrote:
             | yeah FAR Commander is an underappreciated pearl
        
           | jjbinx007 wrote:
           | The MS-DOS version of XTree Gold was the best piece of
           | software I used in the early 90s.
        
             | ungamedplayer wrote:
             | So true.
        
         | swiley wrote:
         | I really honestly don't like X11. I've poked around in the
         | source a couple times and it confuses and scares me. I love the
         | idea of moving entirely to just one graphics API and keeping
         | the server simple.
         | 
         | Until wayland has decent performance though I don't think I'll
         | ever switch. None of the apps I use are native (except possibly
         | Firefox and _some_ EDA tools but only if gtk is set up right?)
         | 
         | I thought my new phone would change my mind but surprisingly
         | wayland is way way slower than X11 on it (running native gtk
         | apps.)
         | 
         | Do keep in mind though that modern X11 doesn't really do remote
         | applications either and many aren't letting the server manage
         | the scene graph /widgets anyway so remote rendering would be
         | very slow.
        
           | akho wrote:
           | Network transparency has grown a lot more important for me
           | over the last few years. It's not really network
           | transparency, though, it's more vm/container transparency: if
           | your dev environment is in a vm, and includes anything
           | graphical, you need it. With WSL wayland is not even an
           | option.
        
             | cmiles74 wrote:
             | Microsoft is actively working on adding Wayland support to
             | WSL2.
             | 
             | https://www.phoronix.com/scan.php?page=news_item&px=Microso
             | f...
        
           | pmoriarty wrote:
           | _" I love the idea of moving entirely to just one graphics
           | API and keeping the server simple"_
           | 
           | I'm all for that, if and only if Wayland doesn't force me to
           | give up what I consider to be important features of X.
           | 
           | Apart from the aforementioned remote access, a post titled
           | "Why I'm not going to switch to Wayland yet"[1] goes in to
           | some requirements that I also find important:
           | 
           | - Programmatic output configuration (xrandr, arandr, etc.)
           | 
           | - CLI clipboard access (xsel, xclip)
           | 
           | - Third party app launcher/window switcher (rofi, dmenu,
           | albert, docky).
           | 
           | - Clipboard managers (parcellite, klipper, Gpaste, clipman,
           | etc.)
           | 
           | - Third party screen shot/capture/share (shutter, OBS,
           | ffmpeg, import, peek, scrot, VNC, etc.)
           | 
           | - Color picker (gpick, gcolor3, kcolorchooser)
           | 
           | - xdotool
           | 
           | That post is a couple of years old now, and I've been told in
           | other HN threads on Wayland that some of this stuff is being
           | worked on now, but until it's all there and it is actually
           | mature and full-featured, I would not willingly switch to
           | Wayland.
           | 
           | [1] - https://old.reddit.com/r/wayland/comments/85q78y/why_im
           | _not_...
        
             | voldacar wrote:
             | Performance too. Wayland adds at least one extra frame of
             | latency and so is unsuitable for gaming and similar
             | scenarios where one program needs to monopolize the
             | framebuffer
        
               | pmoriarty wrote:
               | Is that extra latency an inherent limitation of how
               | Wayland is designed, or could future optimizations
               | improve Wayland so that its performance is on par with X?
        
               | seba_dos1 wrote:
               | > Is that extra latency an inherent limitation of how
               | Wayland is designed
               | 
               | No, most Wayland compositors can already skip composition
               | and pass the window contents directly to the screen in
               | case of displaying just a single fullscreen window. There
               | is also work ongoing on utilizing hardware planes when
               | possible, to skip composition and improve performance in
               | other cases as well - going beyond what was ever possible
               | on X. Grandparent comment is simply wrong.
        
               | voldacar wrote:
               | Sorry but I have tried wayland multiple times (most
               | recent ~12mo ago) and this has never been true in my
               | experience. At least on my nvidia card. And the wayland
               | people have been saying stuff like "oh we know better
               | performance is possible, we just need to implement x, y,
               | and z" for many years.
        
             | seba_dos1 wrote:
             | It depends on the used compositor. In the wlroots land,
             | everything you mentioned is already possible.
        
         | boogies wrote:
         | > Norton Commander, anyone? to this day there is no comparable
         | tool
         | 
         | What's the problem with Midnight Commander and/or the 23 other
         | programs at
         | https://en.wikipedia.org/wiki/Norton_Commander#Norton_Comman...
         | ?
        
           | oblio wrote:
           | Midnight Commander is not covered by the "nostalgia clause"
           | :-)
        
           | jwr wrote:
           | Midnight Commander is nowhere near where Norton Commander was
           | in terms of usability. Some of that is because of platform
           | restrictions (terminal and keyboard access limitations) and
           | some because of a difference in philosophy.
           | 
           | Norton Commander was simple, but it got the simple things
           | right.
        
             | BeetleB wrote:
             | While I don't like Midnight Commander's keybindings, do
             | note that it can do quite a bit that Norton couldn't (e.g.
             | ssh - incredibly handy).
             | 
             | If you want a closer clone to Norton Commander, try FAR
             | Manager: https://www.farmanager.com/ (Windows only)
        
             | boogies wrote:
             | I don't understand what you're talking about -- my terminal
             | accesses as much from my keyboard as I've ever wanted it
             | to, and everything I can imagine it wanting to short of
             | flashing my (Num|Caps|Scroll) lock lights or something (and
             | other terminals support more features than I even use, eg.
             | image previews in ranger et. al.) Could you give an even
             | more specific and concrete example?
        
             | HeadsUpHigh wrote:
             | What exactly was so useable about norton commander? I tried
             | a split fm and I just found it cumbersome.
        
         | roel_v wrote:
         | "(Norton Commander, anyone? to this day there is no comparable
         | tool)"
         | 
         | If you're on Windows, try xyplorer. I can't remember anything
         | NC did that xyplorer doesn't, and it does a lot more, too.
        
         | hpfr wrote:
         | The shift away from X11 means no more forwarding X11
         | applications over ssh, which is slow at best and buggy and
         | insecure at worst. A small price to pay for eliminating tearing
         | and actually-secure screen locking. There are valid criticisms
         | of the move to Wayland but I don't really think this is one of
         | them; if you really need remote access to graphical
         | applications you almost certainly should not be using X
         | forwarding.
        
           | kevin_thibedeau wrote:
           | Tearing has nothing to do with network transparency and
           | everything to do with crappy closed source drivers. Xorg on
           | Windows doesn't have these problems nor does it on Linux with
           | supported hardware.
        
           | welterde wrote:
           | Until recently there was no real alternative to it though. I
           | recently learned about waypipe, so it should be possible to
           | run wayland applications remotely over SSH at last (not sure
           | how well it works/performs, but it exists).
           | 
           | Granted there is also sixel and tek4014 support in xterm, but
           | they are quite limited in what they can do and not too many
           | applications have display frontends for that.
        
           | ddingus wrote:
           | Depending on how people work, it may be a very high price to
           | pay.
           | 
           | And screen tearing? Didn't SGI have that solved in the 90's?
        
           | cat199 wrote:
           | the vast number of threads supporting X11/remote and not
           | caring about screen tearing in the least would seem to imply
           | that your particular prioritization of features is not a
           | commonly shared one.
        
           | msla wrote:
           | > The shift away from X11 means no more forwarding X11
           | applications over ssh
           | 
           | Which works fine and isn't a problem.
           | 
           | > A small price to pay for eliminating tearing and actually-
           | secure screen locking.
           | 
           | Not necessarily. Not in all use cases.
        
           | GuB-42 wrote:
           | At work, we do X11 forwarding all the times. We have a wide
           | variety of UNIX machines and we often need to run several
           | graphical applications from different machines (not a remote
           | desktop).
           | 
           | X11 forwarding works with the latest Linux distros as well a
           | 20+ year old systems running motif apps. Note: the old
           | systems are now virtualized but we still need them, I work in
           | the aeronautic industry and these are the time scales we are
           | working with.
           | 
           | I don't know of any replacement, at least not one with that
           | level of adoption. Again, we really want to run graphical
           | applications on a server, not a remote desktop.
           | 
           | And BTW, things are getting troublesome. More and more Linux
           | apps integrate accelerated web browser components and these
           | tend not to play well with X11 forwarding.
           | 
           | Love the irony of using a remote display to show an Electron
           | app BTW.
        
             | billfruit wrote:
             | Not just Electron, even QT as well performs horrible over
             | X11 forwarding in recent versions...
             | 
             | Things seems to be going backwards in this area..
        
               | louai wrote:
               | When I was at Qt I spent a decent amount of time porting
               | the native rendering engine from Qt4 to Qt5. It should be
               | available and work relatively well. I have retired from
               | the Qt project, but it looks like the code is still there
               | in the repo. [1] You might need to tell the configure
               | script to build it. To use it, set the
               | QT_XCB_NATIVE_PAINTING environment variable.
               | 
               | [1] https://code.qt.io/cgit/qt/qtbase.git/tree/src/plugin
               | s/platf...
        
             | kej wrote:
             | Idle curiosity: what kind of applications are these remote
             | systems running? You mentioned the aeronautic industry but
             | I'm not familiar enough with it to imagine the kinds of
             | things you would need to run remotely.
        
               | GuB-42 wrote:
               | A big one is a test tool for avionics running on Solaris.
               | We are retiring it but some test procedures still require
               | a specific version of it. And we don't want to update
               | (and recertify) these procedures.
               | 
               | We also have a homemade documentation system, again
               | outdated but certified. I don't remember the system but
               | it is definitely not a modern Linux. I think there is
               | also a Fortran tool used to compute the lifespan of parts
               | on the same system.
               | 
               | A bit more recent, we have test benches made of several
               | computers, mostly Linux desktops, each one deal with
               | different things like real or simulated avionic hardware,
               | they can be remote controlled but some apps run locally
               | and have their own displays.
               | 
               | We also have certified build chains running on specific
               | systems, and while a GUI is typically not needed. It may
               | be useful from time to time, mostly for debugging.
               | 
               | We are in a process of modernizing all that stuff, but
               | because of certification and the average lifespan of a
               | program, it is a very slow process...
        
           | freeone3000 wrote:
           | You've listed disadvantages of an existing system but haven't
           | listed an alternative. What should we be using for remote
           | access to graphical applications?
        
           | jwr wrote:
           | > no more forwarding X11 applications over ssh, which is slow
           | at best
           | 
           | It was "slow" when I did it over 10Base2 Ethernet spanning an
           | entire building. These days our CPUs are several orders of
           | magnitude faster, and so are our networks. I don't need it to
           | play the latest 3D games, I need it to display a user
           | interface to an app that runs on a different machine. It's
           | plenty fast enough.
        
             | wazoox wrote:
             | Yup. Today I have internet access faster than the LAN I
             | used in the 90s and I routinely remotely run apps on my
             | office desktop computer, reading my email, etc. from home.
             | It works perfectly fine for anything not too graphically
             | intensive, and it's way faster than starting a remote
             | desktop session (which I use at times, too).
             | 
             | On a local network, it's not significantly slower to run
             | most apps through X11 forwarding than running them locally,
             | and I use this extensively. The only daily application
             | that's too slow is a browser, but Firefox (and before it,
             | Mozilla did it too, and before it Netscape) automatically
             | opens calls to the browser in the existing local window
             | anyway (and there's always some pre-existing Firefox window
             | open), even when running on some markedly different system
             | (POSIX for the win).
             | 
             | When I used MacOS more regularly, Quartz always was the
             | first application I installed.
             | 
             | When I see the comments from philistines unable to
             | understand the obvious superiority of the one true Unix
             | way, I always think of this Dilbert comic :
             | https://dilbert.com/strip/1995-06-24
        
           | znpy wrote:
           | > The shift away from X11 means no more forwarding X11
           | applications over ssh, which is slow at best and buggy and
           | insecure at worst.
           | 
           | Yes but sometimes you really need that and it's a life saver.
           | 
           | EDIT: I just remembered about LTSP (Linux Terminal Server
           | Project) which many schools used to lower the TCO of
           | computing infrastructure. That relied heavily on Xorg's
           | network transparency. I wonder what will happen to LTSP
        
             | hpfr wrote:
             | Honestly, I think people's reliance on X forwarding is just
             | due to the fact that it happens to exist, not because they
             | really need it. There's nothing like X forwarding on
             | Windows to my knowledge. If X forwarding didn't exist
             | people would have figured out how to do what they needed
             | over SSH with text or when GUI's are irreplaceable
             | sysadmins would have set up an actual remote desktop
             | solution like on other modern operating systems.
        
               | znpy wrote:
               | You haven't worked in operations, have you?
        
               | II2II wrote:
               | The happens to exist bit turns out to be very important.
               | I can login to a machine and run an X client without
               | installing and configuring extra software on the server.
               | If I am using a desktop with X installed (most *ix based
               | systems), there is no extra software to install and
               | configure on that end either. The worse case scenario is
               | the necessity to install an X server on platforms like
               | macOS and Windows.
               | 
               | The same sort of thing can be said for Remote Desktop. If
               | you're using a version of Windows that includes it, it is
               | wonderful to use because it is just there.
               | 
               | Which is better? It depends on how you're using it. I
               | generally prefer Remote Desktop for my use case because
               | it takes care of audio and it is easy to resume sessions.
               | That being said, those features don't matter to me most
               | of the time so X is just as useful.
        
               | Spivak wrote:
               | Right, the shift away from X doesn't mean the death of
               | using GUI apps remotely, it just means moving to a Remote
               | Desktop model instead of telling apps that their render
               | target is your X server through a tunnel.
        
               | donio wrote:
               | What if I don't want a remote desktop though? 99% of the
               | time I only want a the remote application I am interested
               | in to seamlessly display on my screen, why do I have to
               | bring along a full desktop?
               | 
               | Seems like such a fundamental use case that should be
               | made simple but is ignored (or made very difficult) by
               | modern systems.
        
               | freeone3000 wrote:
               | What implementation of a remote desktop model currently
               | exists for Wayland?
        
               | Spivak wrote:
               | The "big two" have implementations. Definitely not mature
               | but it's getting there.
               | 
               | https://wiki.gnome.org/Projects/Mutter/RemoteDesktop
               | 
               | https://docs.kde.org/trunk5/en/kdenetwork/krfb/krfb-
               | configur...
               | 
               | You most likely won't see an implementation "for Wayland"
               | because that's like asking for a websocket implementation
               | "for HTTP" the actual compositors that _speak_ Wayland
               | need to implement remote desktop capabilities and then
               | expose an API for managing remote desktop sessions
               | (org.freedesktop.portal.RemoteDesktop) to programs that
               | want to leverage it.
        
               | [deleted]
        
               | spear wrote:
               | I haven't tried it, but there's also this one for
               | wlroots-based compositors (eg. sway):
               | https://github.com/any1/wayvnc
        
               | pmoriarty wrote:
               | Could you flesh this out a bit? What is the official
               | Wayland model for doing "Remote Desktop"?
        
               | Spivak wrote:
               | I hesitate to call it an official model but the short
               | version of the current direction is that the compositor
               | acts as the glue -- providing the final rendered scene
               | and the final merged audio stream to the client over some
               | protocol (like VNC but doesn't have to be) and providing
               | inputs and events to itself and the client applications.
               | 
               | How all of this works on the backend is a combination of
               | PipeWire to multiplex video sources and PulseAudio to
               | multiplex audio sources.
               | 
               | There's nothing outright preventing something like X
               | forwarding and https://mstoeckl.com/notes/gsoc/blog.html
               | is a really cool project that makes it work.
               | 
               | From that author:
               | 
               | > The main difficulty in producing such a tool is that
               | Wayland protocol messages primarily include control
               | information, and the large data transfers of graphical
               | applications are implemented through shared memory.
               | waypipe must then identify and serialize changes to the
               | shared memory buffers into messages to be transferred
               | over a socket.
        
               | oblio wrote:
               | > The same sort of thing can be said for Remote Desktop.
               | If you're using a version of Windows that includes it, it
               | is wonderful to use because it is just there.
               | 
               | Doesn't every Windows include it? I can't remember the
               | last time I used a version of Windows that didn't have
               | it, it must have been 20 years ago.
        
               | II2II wrote:
               | As far as I can tell, only the client ships with "Home"
               | versions. You need to be running Windows Professional or
               | Windows Server for the actual server.
        
               | tokenrove wrote:
               | No, it was the need for this on Windows that made Citrix
               | all its money.
        
               | jimbokun wrote:
               | > There's nothing like X forwarding on Windows to my
               | knowledge.
               | 
               | Which is why the people who need this functionality run
               | Linux, not Windows.
        
               | toast0 wrote:
               | > There's nothing like X forwarding on Windows to my
               | knowledge.
               | 
               | You can run an X server on Windows, there's a bunch to
               | choose from. That lets you run an application on a remote
               | unix system and show it on a Windows system in front of
               | the user. It might be nice to run an application on a
               | remote windows system, but that's always tied to
               | expensive licenses; some of those systems sound like they
               | could be pretty seamless (at least as seamless as remote
               | X), but I don't have experience with them.
               | 
               | Remote X has its problems, but it enables a lot of use
               | cases with a minimum amount of hassle. Connect, run the
               | application, close it when you're done. Other solutions
               | with a remote desktop require starting that session
               | somehow, and either leaving it running or shutting it
               | down somehow. That can be useful if you want a long
               | running session, but is more hassle if you don't.
        
               | bsder wrote:
               | > Honestly, I think people's reliance on X forwarding is
               | just due to the fact that it happens to exist, not
               | because they really need it.
               | 
               | Visual Studio Code has "Remote Development" (which is
               | under a Non-Open Source License(!)) because they don't
               | have "X11 Forwarding".
               | 
               | Think about the waste of implementing that code--in every
               | application--rather than being able to do display
               | forwarding.
        
               | worik wrote:
               | It was the original reason to invent X. Literally
        
               | oblio wrote:
               | And the adoption has been huge outside of Unix circles...
               | 
               | MacOS doesn't use it, Windows doesn't use it. Even Linux
               | is moving away from it. That's pretty damning for X as a
               | technology during a time when even Windows has started to
               | offer native curl and ssh, just saying.
        
               | znpy wrote:
               | Still there are xservers for both windows and Mac. How
               | comes?
        
               | mcguire wrote:
               | Windows and MacOS have been (and are) based on the model
               | of buying a copy of a piece of software for each piece of
               | hardware. The idea of only buying a copy for one machine
               | and running it somewhere else is difficult for that
               | model.
               | 
               | Ubiquitous networking is common in the Unix world, but
               | much less prevalent in the Microsoft and Apple worlds.
        
               | chipotle_coyote wrote:
               | > Windows and MacOS have been (and are) based on the
               | model of buying a copy of a piece of software for each
               | piece of hardware.
               | 
               | At least anecdotally, I'm not sure I can find a whole lot
               | of supporting evidence for this -- the _vast_ majority of
               | the commercial applications I use on a daily basis let
               | you install them on any compatible system that you own.
               | This isn 't just a byproduct of "well, they're not
               | checking"; it's usually explicitly written in the
               | license, it happens with programs that make you enter
               | license codes they validate before running, and notably,
               | it's very explicitly the model of the Mac App Store.
               | Sometimes the license says only one copy of the program
               | can be in use at a time without a site license, but for
               | individual use that's generally fine in practice. (I
               | haven't seen a program that's actually annoying enough to
               | check for running copies of itself on a LAN and shut down
               | if you're violating the license in decades at this point,
               | although I'm sure they're still lurking out there in
               | weird niches. It sounds like something Autodesk software
               | would do.)
               | 
               | Anyway -- maybe running programs remotely using the
               | Xserver model never took off in the Mac world, even after
               | OS X, because there _was_ no prohibition against just
               | installing the software on multiple machines? In
               | practice, it 's not something I've missed very often, I
               | admit; while I sometimes like to edit text files
               | remotely, that's not something that feels like it would
               | really be improved by this model over using a local
               | editor that can open files over the network. (Edited to
               | note that I'm not suggesting there aren't still valid use
               | cases for X11's server/client model! They're just not
               | ones that have impacted me; if they did, I'd run XQuartz,
               | which I don't love, but it'd probably get the job done.)
        
               | thekyle wrote:
               | Currently the only way to run GUI apps in WSL is x
               | forwarding.
        
               | jerf wrote:
               | Gosh, the technology only lasted 36 years so far, and
               | definitely has a few years left to go in it before it is
               | "dead". What a striking condemnation that it only made it
               | 40-ish years before being replaced.
        
               | levosmetalo wrote:
               | Yet, many people use windows and I still miss X
               | forwarding. RDP and VNC are just not a replacement for
               | being able to start 3 different programs on 3 different
               | remote computers, and have them all sitting together on
               | screen next to each other.
        
               | u801e wrote:
               | You should look into xrdp. It's like X forwarding, but
               | with the ability to detach and reattach to a running
               | application like screen or tmux.
        
               | vladvasiliu wrote:
               | Technically, RDP allows you to only launch one
               | application as opposed to a whole desktop. They call that
               | RemoteApp.
               | 
               | That you can't just launch that on every machine you want
               | (in particular non server installs) is more a limitation
               | of Microsoft's licensing model than of the protocol
               | itself.
               | 
               | For me, from a usability point of view, RDP runs circles
               | around the other solutions. I've used this fairly often
               | during the lockdowns and even over a shitty DSL
               | connection there was close to no lag.
        
               | JonathonW wrote:
               | You just got me to do a little digging... apparently, as
               | of Windows 10, RemoteApp itself isn't restricted by
               | licensing (at least, any more than Remote Desktop itself
               | is)-- Windows 10 Pro (and Enterprise) can now host
               | RemoteApp applications.
               | 
               | The catch is that the UI to configure RemoteApp isn't
               | present on client versions of Windows. It can be
               | configured manually (by editing the registry then
               | creating RDP files by hand), or there are open source
               | tools that will do the work themselves:
               | https://github.com/kimmknight/remoteapptool
               | 
               | Somewhat outdated Microsoft docs on how to do this by
               | hand: https://techcommunity.microsoft.com/t5/microsoft-
               | security-an...
        
               | MereInterest wrote:
               | RDP works well if you want to connect to a remote
               | machine, then work only on that machine for a significant
               | amount of time. For me, I need to switch in and out of
               | several different RDP sessions, which is a nightmare. Alt
               | tab works either within a session if full screened, or
               | within the local computer if not full screened. That
               | means I need to also periodically use ctrl alt break to
               | switch between full screen and windowed.
               | 
               | In windowed mode, I can either have scrollbars to view a
               | subsection, or I can scale the window. Doing the right
               | thing, changing the size of the remote desktop when the
               | local window is resized, isn't an option because that is
               | set at connection time.
               | 
               | Sometimes, for firewall reasons, I need to have needed
               | RDP sessions. At this point, everything performs poorly,
               | and I need to drag the overlayed blue bars off of each
               | other, then interact with one or the other.
               | 
               | I miss SSH, and want better support for it. Nested
               | connections can be handled with SSH tunnels. Text
               | connections are fast enough to do anything on the slowest
               | of connections. If I need a GUI, I can open up a single
               | window through X11, without additional setup with
               | RemoteApp. Windows remote management through RDP is slow,
               | clunky, error-prone, and inflexible by comparison.
        
               | JonathonW wrote:
               | > In windowed mode, I can either have scrollbars to view
               | a subsection, or I can scale the window. Doing the right
               | thing, changing the size of the remote desktop when the
               | local window is resized, isn't an option because that is
               | set at connection time.
               | 
               | Side note: if the server is running Windows 8.1 or later
               | (or the equivalent server versions, Server 2012 R2 or
               | later), this isn't the case any more-- RDP sessions can
               | be resized freely at any time.
               | 
               | Naturally, the built-in RDP _client_ that comes with
               | Windows doesn 't support this (because, of course, why
               | would it?), but the UWP Remote Desktop app in the Windows
               | Store does (as does the current Mac client).
        
               | vladvasiliu wrote:
               | My point was that RDP, the protocol, works very well and
               | is able to adapt to network conditions.
               | 
               | For your "nested session", the problem is that the
               | adaptive nature of the protocol breaks down if the first
               | hop has a very good connection to the destination.
               | However, you're holding^w using it wrong. In this kind of
               | scenario, I think MS recommends using a remote desktop
               | gateway, which also works very well. I think one of the
               | great advantages of RDP over ssh X forwarding is that it
               | can use UDP.
               | 
               | I definitely dislike how you have to have a Windows
               | server installation and specific license to set up remote
               | app, though. But I've filed this under "it's Microsoft,
               | what can you expect?".
               | 
               | I also find windows administration horrible, be it via
               | remote desktop or keyboard plugged directly in the
               | server. I grew up with Linux and macOS, so it was always
               | a pain when I absolutely had to give someone a hand with
               | something windows-related (my client has a bunch of
               | Windows servers).
               | 
               | But still, I'm not the kind to throw away the baby with
               | the bathwater and to think that if I generally dislike
               | and would avoid a company's products every single thing
               | that they do is bad. I really wish Linux could have
               | something similar to RDP in performance. It makes me sad
               | when I vnc to a computer across the room and the thing
               | lags more than RDP to some windows box in another
               | country.
               | 
               | edit: Regarding your having to work with several RDP
               | sessions at the same time, it baffles me that the worst
               | RDP client I have ever used is the windows one. I don't
               | use windows on my machines, and the Linux client
               | (Remmina) is absolutely a dream, especially when running
               | on i3 (so there's no conflict with win / alt-tab / etc).
               | Also, MS's mac client works very well and there's no key
               | conflicts there either. You may want to look into the new
               | Remote Desktop app on windows (not quite sure what it's
               | called, it's on the windows store). It now supports
               | window resizing and easier switching between sessions.
        
               | JoBrad wrote:
               | RemoteApp mode for RDP lets you interact with server-
               | hosted apps like a client-hosted one. Also, I recall
               | using apps with rdesktop in seamless mode, which worked
               | pretty well.
               | 
               | https://techcommunity.microsoft.com/t5/microsoft-
               | security-an...
        
               | jcelerier wrote:
               | > There's nothing like X forwarding on Windows to my
               | knowledge.
               | 
               | if windows was enough for my needs I'd use it ?
        
             | twic wrote:
             | For terminal server use cases, there are things like VNC,
             | SPICE, NX, etc. The X11/ssh thing is for when you want to
             | run a mix of local and remote applications on a single
             | desktop, which i think is pretty unusual these days.
        
               | spear wrote:
               | My remaining use case for X11 remote display doesn't
               | quite fit in the VNC/etc. remote display paradigm. At
               | work, I submit a job to queuing software that picks a
               | server (based on load and resource requirements) from a
               | pool on the internal network. The GUI for that job then
               | pops up on my X11 display. I don't really care which
               | server is running the job, and the job is just using
               | $DISPLAY -- we don't even forward over ssh.
        
               | Bnshsysjab wrote:
               | I'm not an X hater but just know you've given that server
               | access to your display socket which is effectively remote
               | command execution.
               | 
               | In most cases this could be solved with a good web user
               | interface, but you can rest assured X won't be dead in
               | the next 5-15 years, and you can use an intermediary box
               | w/VNC if security is that much of a concern.
        
               | sildur wrote:
               | Wheelchair users are also pretty unusual and we don't go
               | removing ramps from everywhere. I'm growing pretty tired
               | of the "your use case is unusual, so fuck you" argument.
        
               | jrm4 wrote:
               | Despite having felt this way about so _many_ things, I
               | have never seen this argument put so well and succinctly.
               | I am going to be using this ALL THE TIME.
               | 
               | Also, is this "sildur" of Minecraft shader fame? If so,
               | much thanks, you've given me and my daughter many
               | instances of "ooh pretty look at our house."
        
               | morelisp wrote:
               | Please do not so blithely invoke disability just because
               | someone removed the feature you cared about. It sucks,
               | but I promise you navigating the world in a wheelchair
               | sucks a lot more.
               | 
               | I don't want to speak for anyone in particular but X11
               | was definitely not a friend to people who cared about
               | a11y or l10n. It wore its origins in "80s MIT students"
               | on its sleeve, for good and bad - and for non-English-
               | speaking or disabled people, mostly bad.
        
               | sildur wrote:
               | Hey, this is not a contest about who had the crappiest
               | life, and if it was, I can assure you that there are
               | things in life that suck more than navigating the world
               | in a wheelchair, and I'm not asking people to stop
               | complaining about that just because they happened to me.
               | 
               | Anyways, replace wheelchair users with pregnant women, or
               | old people. Ramps help them too, and the argument is
               | still valid.
        
               | mcguire wrote:
               | Supporting "unusual" cases is difficult and takes more
               | effort. In the dog-eat-dog world of commercial
               | development, to win you have to get the majority.
               | 
               | Yes, I had that conversation with a friend.
        
               | hyperdimension wrote:
               | > "your use case is unusual, so fuck you"
               | 
               | With love, The Chrome Team
        
               | msla wrote:
               | > which i think is pretty unusual these days.
               | 
               | You have absolutely no basis for thinking this.
        
               | welterde wrote:
               | Is it really that unusual to do some data
               | reduction/analysis on a beefy dedicated machine and
               | wanting to look at the results right away using the same
               | terminal instead of having to copy the result files or
               | using a shared network file system? Even more important
               | if it involves any graphical interactions.
               | 
               | Sure, one could use a remote desktop to do same thing,
               | but it's a bit annoying if all you want is one window
               | from the remote machine.
        
               | u801e wrote:
               | > it's a bit annoying if all you want is one window from
               | the remote machine.
               | 
               | You should try xrdp. It can work like X forwarding
               | (single application window forwarding), but you can also
               | attach or detach from a running application (like screen
               | or tmux for X).
        
               | welterde wrote:
               | That's only really an alternative for long-running
               | applications since it still seems quite tedious to do if
               | I am not missing anything (with modifying initial_program
               | and all).
               | 
               | Right now the workflow is simply ssh -X machine and then
               | run some scripts that may or may not open interactive
               | windows and then look at the result files using some
               | graphical application. The same as if I was running it
               | locally really (except on a beefy machine)..
        
               | u801e wrote:
               | I haven't tried all of the xpra options, but it would be
               | a matter of starting an instance on the remote machine
               | and then running the command to attach to it in the local
               | machine.
               | 
               | I suppose that you could start a terminal session on the
               | remote machine and spawn GUI applications from that. I'm
               | not sure if xpra allows for a terminal session directly
               | from the command line though.
        
               | chriswarbo wrote:
               | > For terminal server use cases, there are things like
               | VNC, SPICE, NX, etc.
               | 
               | Great. Which of those, if any, do you think might be
               | installed on the machines I want access to?
               | 
               | Which of those, if any, do you think might be installed
               | on the machines I want access from?
               | 
               | What do you think are the odds that the intersection of
               | those is non-empty?
        
           | sz4kerto wrote:
           | That means no Linux GUI apps on Windows + WSL2. Sounds like a
           | niche, but I see many devs using Windows + WSL2 + X
           | forwarding to develop under Linux.
        
             | throwaway8941 wrote:
             | I am not sure why desktop Linux experience should suffer to
             | make WSL work? Microsoft has the wide pockets to make it
             | work if they need to.
        
             | my123 wrote:
             | WSL2 has Wayland support upcoming (RDP-RAIL based, to
             | integrate them to the regular desktop as separate windows)
        
         | msla wrote:
         | > where the shift away from X11 means no more remote
         | applications
         | 
         | Plus the death of all non-mainstream window managers, it seems.
         | 
         | Realistically, I'm not moving away from X11 if it will create a
         | UI regression for me. This means that unless I can get Window
         | Maker and application forwarding, I'm not moving to Wayland,
         | and I doubt I'm alone in this general feeling, even though
         | other people use different window managers.
        
           | HeadsUpHigh wrote:
           | Define mainstream. Most tilling wm we all know have a wayland
           | branch now. Some abandonware will probably be lost but
           | nothing prevents anyone from re-implementing them.
        
         | WanderPanda wrote:
         | What is idiotic about the Touchbar that is not idiodic about
         | function keys? You have to look at your keyboard to hit the
         | function keys, why not use the glance for a visual feedback
         | loop?
        
           | iandinwoodie wrote:
           | With regard to accessibility, a blind user can reliably use
           | the function keys due to their physical separation. In
           | contrast, the Touch Bar removes the separation of individual
           | keys and may pose a challenge to sight restricted users.
        
           | jcelerier wrote:
           | > You have to look at your keyboard
           | 
           | no
        
           | Symbiote wrote:
           | On any reasonable keyboard, the function keys are in groups
           | of four (F1-F2-F3-F4 F5-F6-F7-F8 F9-F10-F11-F12), or
           | sometimes three. It's not necessary to look to see where the
           | keys are.
        
             | brnt wrote:
             | You're excluding pretty much every laptop there.
        
               | lallysingh wrote:
               | Thinkpads group their function keys. Who outside apple
               | doesn't?
        
               | pmontra wrote:
               | My HP laptops don't. It's been ages since I used a non
               | laptop keyboard and I forgot about grouping. It's a
               | useful UX though.
        
               | linspace wrote:
               | I don't find laptop keyboards reasonable. They are a last
               | resort.
        
             | foobarian wrote:
             | I wish the external Mac keyboard had grouped function keys.
             | I wish I didn't have to use an external keyboard in the
             | first place, but touchbar is even worse. In my case
             | debugging stuff becomes annoying with ungrouped keys
             | because it's easy to mix up step into / step over /
             | continue.
        
           | jwr wrote:
           | I definitely did not look at the function keys when working
           | with software that I use a lot.
           | 
           | As an example, these days, when routing PCB tracks in KiCad,
           | when I need to switch to a different board layer, I need to
           | look away from screen and at the keyboard in order to hit the
           | right function key. I also have to pray that the TouchBar
           | will register my press, as it often likes to go to "sleep". I
           | don't know if it did register my press until I look back at
           | my screen and check if I'm on the right layer.
           | 
           | Having to look away from the screen when you're in the middle
           | of routing a track on a complex multi-layer board is _really_
           | annoying.
           | 
           | Plus, it's difficult to keep a hand near the function keys
           | without accidentally getting near one of the touchbar areas,
           | which results in a keypress, which results in a zoom-out for
           | me (F1).
           | 
           | It's an abysmal user experience and a huge regression.
        
           | ch_123 wrote:
           | On a physical keyboard, the gaps and contours of the keys
           | give your fingers an indication that they are pressing a
           | single key, as opposed to a blank space or the gaps between
           | two keys. This, combined with the grouping, makes it viable
           | to use function keys without looking at them.
        
           | codegladiator wrote:
           | > You have to look at your keyboard to hit the function keys
           | 
           | No, you are doing it wrong. Never need to see keyboard except
           | when using touchbar thanks to no feedback.
        
           | zwirbl wrote:
           | I barely, if ever, have to look at the function keys to hit
           | right one
        
         | sevensor wrote:
         | > the shift away from X11 means no more remote applications
         | 
         | This is a long, gentle transition. Although I believe it to be
         | possible, I still haven't ever run a pure-Wayland system. Most
         | graphical applications for Linux still need an X server, and
         | Wayland provides one. Under sway, I can still run ssh -Y and
         | start X clients on the host I'm connected to. This works just
         | fine. It's going to be years until Wayland kills off X11 on the
         | wire, and alternatives are already under development. I worry
         | about a lot of things, but this isn't one of them.
        
         | chillfox wrote:
         | Doesn't Midnight Commander do pretty much everything Norton
         | Commander did?
        
           | tartoran wrote:
           | Yes it does but the idea was that UI/UX has been in decline
        
         | antonios wrote:
         | Sometime I also get in a pessimistic mood. I really would like
         | to convince myself that X11 is not going away in the next
         | decades.
        
           | Bnshsysjab wrote:
           | Esoteric hardware won't work first, then maybe browsers. I'd
           | estimate 15 years.
           | 
           | I was not using pulse or systemd until early this year,
           | having used Linux since 2008 thats a pretty decent lifespan.
           | It was finally required for Bluetooth headphones which
           | weren't really around in the age of alsa.
        
       | fierarul wrote:
       | I thought it will be a criticism how everything seems _off_ with
       | the Emacs GUI from the copy-paste to the font rendering to the
       | way scrolling is done, etc. I 'd guess it managed to be so cross-
       | platform by re-implementing everything, kinda like Java Swing but
       | with less care for design.
       | 
       | Now I understand how having a scriptable and text-based
       | foundation would help with accessibility, just Emacs wins no UI
       | contest.
        
         | hpfr wrote:
         | I don't know if I'd call it _re_ implementation when the
         | original Emacs is older than DOS and GNU Emacs, still
         | maintained today, is older than Windows (1985). Emacs's
         | keybindings, font rendering, and scrolling were just as valid
         | then as any other approach. Let's at least avoid comparisons to
         | Swing :).
         | 
         | You can bind copy-and-paste as well as any other text wrangling
         | functionality to whatever you want and there are ways to make
         | it behave like other platforms without too much difficulty. But
         | why hamstring Emacs' copy and paste by limiting it to the
         | simplistic version we're used to when you can copy to multiple
         | registers and have a searchable history of copied text?
         | 
         | Font rendering uses Harfbuzz in the latest version and is quite
         | good in my opinion, there's even color emojis. Scrolling is
         | certainly better than any terminal emulator I've used, although
         | there's no smooth scrolling. I guess everything is _off_ if you
         | 're comparing it to a browser, but modern browsers aren't
         | exactly paragons of UX either. But if you're comparing
         | prettiness options like these, yeah, Emacs loses to VS Code.
         | All Microsoft had to do was build a text editor on top of a
         | browser engine to get those features :). I'd say Emacs is more
         | extensible, though. Lisp machines and all
        
           | mrob wrote:
           | Scrolling is broken from the average user's point of view
           | because it moves the cursor. If you're typing something, and
           | then scroll to reference some other part of the document, you
           | can't just start typing again after finding the information
           | you need. You have to manually restore the cursor position or
           | you'll end up typing in the wrong place. Unlike pretty much
           | every other text editor, Emacs's concept of a cursor is
           | something that lives in screen space, not document space.
           | It's stuck in the VT100 hardware cursor paradigm.
        
           | fierarul wrote:
           | I understand, but 35 years have passed, no need to stick to
           | the original implementation that long.
           | 
           | I'm a super basic user and nowadays basically have Emacs open
           | all day just for org-mode. Nothing else.
           | 
           | To me it seems a terrible text editor and has an UI that's
           | foreign on macOS and Ubuntu. It's unclear to me under what
           | OS/Window manager/etc Emacs fits right at home. It seems out
           | of this world.
           | 
           | I can imagine there may be some configuration that would fix
           | some of these problems, but I just use Emacs as it comes out
           | of the box.
        
             | Jtsummers wrote:
             | A reason to stick so closely to the original model is that
             | it has lasted 35 years. There are few other programs that
             | have lasted as long without feeling an urgency to change
             | with the times, and mostly by the base system being
             | similarly stubborn about changing or by being incredibly
             | simple.
             | 
             | The fact that it's, essentially, the same on every OS I use
             | it on is another selling point. I bring my .emacs file and
             | make minor tweaks for different OSes (due to where
             | files/programs are if absolute paths or relative paths in
             | the user home directory are different). It always works the
             | same once I've made those small changes (and they are
             | small, and once done my Windows .emacs is good on any
             | Windows box). Again, there are few other programs like
             | this. At a minimum, you often end up with subtly different
             | keybindings (macOS using the command key, Windows using
             | control, and Linux using control or alt) and subtly
             | different layouts that break workflow and habit.
        
               | newen wrote:
               | Yep! Main reason I use emacs is that I can use just about
               | the same workflow when I'm programming in python, C++,
               | etc. in different environments like windows gui, windows
               | WSL, linux GUI, linux terminal, remoting through ssh, ssh
               | into docker container, etc.
        
             | taeric wrote:
             | For those of us that have used emacs for a long time, it is
             | the other items that feel foreign. And, quite frankly, I'm
             | not sure I'm missing anything from the others.
             | 
             | It is annoying that Apple has a command key that I have
             | mapped as Meta. Since that means if I try to copy something
             | in Firefox, closed tab. That said, why are the keyboard
             | shortcuts in so many other applications so destructive? And
             | crappy? Browsers could be forgiven if they were just for
             | viewing, but you edit in them a lot nowadays, such that the
             | browser not having easily customized keyboard bindings is a
             | laughable insult for user centric design.
             | 
             | (Do they even still pretend to support user stylesheets
             | anymore?)
        
         | eatmygodetia wrote:
         | In Emacs's defence, it didn't reimplement everything so mich as
         | implement it first. When there's very little prior work to go
         | on, often parts of the design won't be great, and then it
         | becomes hard to move away from them.
        
           | fierarul wrote:
           | Interesting how somebody else claimed about the same thing.
           | 
           | Yes, but eons have passed, things are different. Should
           | everything else mold to Emacs or should Emacs fit into the
           | overall OS/window manager/etc.
           | 
           | Maybe Emacs really is supposed to be an OS. I'm now wondering
           | if there's a way to boot straight into Emacs. Clearly we
           | could have a slimmer kernel /loader for that. :-)
        
             | rpdillon wrote:
             | I think a lot of folks value having their apps 'fit into'
             | their OS. For me, I see the constant churn in desktop OS
             | patterns as tiring and essentially useless. Emacs provides
             | a wonderfully consistent interface no matter where I run
             | it. I can see how it seems foreign to others, but it is
             | consistent. For me, that's a fantastic trade.
        
       | bartread wrote:
       | This is somewhat oblique to the content of the post but "special"
       | is about right. "Unnecessarily obtuse", particularly from a
       | contemporary perspective, might be a less kind way to describe
       | it. I could say the same about the documentation which, frankly,
       | is not great at making you immediately productive. It's written
       | like an academic treastise, not a tutorial for a piece of
       | software that exists to help you get stuff done and where
       | learning the software is not an end in itself.
       | 
       | I've recently started making a relatively determined attempt to
       | become proficient with emacs due to increasing frustration at
       | poor performance from both VSCode and Sublime Text when working
       | with larger projects and, I'm not going to lie, it's hard going.
       | 
       | Take something as basic as working with multiple windows. Emacs
       | has concepts of buffers, windows, and frames, but windows and
       | frames are diametrically opposite in concept to windows and
       | frames in client side web development.
       | 
       | That's not too difficult to grasp but, say you're in dired, and
       | you want to open a file in a new OS window (in emacs-speak this
       | would be a frame). You'd think you could just move the caret over
       | the filename and hit some key combination to open that file in
       | another window (sorry, I mean frame). Possibly you can but the
       | nearest I've managed to get so far is (from memory) C-x 5 f,
       | which brings up the minibuffer prefilled with the pathname of the
       | directory you're browsing in dired, and then you have to start
       | typing the filename (which, granted, will autocomplete), which
       | seems somewhat redundant, and only then can you open the file.
       | 
       | It's also full of things to trip you up, like the key bindings
       | for switching to another (emacs) window and killing a buffer -
       | both fairly common operations - being far too similar and easy to
       | confuse for a newbie.
       | 
       | It just seems so deliberately contrary, but I'm hoping the
       | investment will pay dividends given time and persistence (this
       | is, however, approximately my fourth or fifth attempt in 20 years
       | to learn emacs, so we'll see).
        
         | morelisp wrote:
         | These are reasonable criticisms of Emacs's interface, but the
         | topic of the post is interfaces in Emacs, not Emacs's
         | interface. Sublime has no comparison point.
        
         | jimmyvalmer wrote:
         | > like the key bindings for switching ... being far too similar
         | and easy to confuse for a newbie.
         | 
         | You must be referring to `C-x b` vs. `C-x C-b`. I remember
         | getting apoplectic over this in 1995. I remain aggrieved to
         | this day.
        
           | morelisp wrote:
           | I suspect this is actually `C-x k` vs. `C-x o`.
           | 
           | My recommendation would be to bind `C-x C-k` to `kill-this-
           | buffer` and unbind `C-x k`, or bind `C-x C-o` to a hydra that
           | lets you repeat `C-o` i.e. hold down ctrl and repeat `o`, to
           | cycle windows. Or both.
           | 
           | Alternate, try out `ace-window`.
           | 
           | I'm not sure about "too easy to confuse for a newbie." These
           | kind of mistakes only happen when you are switching buffers
           | rapidly without checking prompts, and newbies won't be doing
           | that. And the default mnemonics are (unlike much of Emacs)
           | good for these tasks. So rebinding doesn't feel like a big
           | ask.
           | 
           | (Agreed `C-x b` should be removed imo.)
        
         | fennecfoxen wrote:
         | As a long time emacs user, I can confirm that emacs is
         | terrible... and everything else out there is deficient. I can
         | write custom code (ew, elisp) to determine how to switch
         | between buffers (test buffer and code under test) and I can run
         | my tests and find operations and the like in a first class
         | buffer and a dozen things like that which are just incredibly
         | painful in other editors.
         | 
         | Also I hit Cx-c by mistake thrice a week.
        
           | joosters wrote:
           | ;;; Make it more difficult to kill emacs accidentally
           | (defun my-kill-emacs ()         "Confirm before 'save-
           | buffers-kill-emacs'."         (interactive)         (if
           | (y-or-n-p "Really kill Emacs? ")             (save-buffers-
           | kill-emacs)           (message "Aborted")           )
           | )       (global-set-key "\C-x\C-c" 'my-kill-emacs)
        
             | jimmyvalmer wrote:
             | Dude, `M-x custom-set-variable RET confirm-kill-emacs RET
             | TAB`
        
               | morelisp wrote:
               | Or just unbind it, you won't typo `M-x kill-emacs`...
        
           | TeMPOraL wrote:
           | > _Also I hit Cx-c by mistake thrice a week._
           | 
           | Unbind it. Problem solved. That's what I do with my clumsy
           | fingers.
        
           | MarcScott wrote:
           | Run Emacs as a server. You can kill the client accidentally,
           | then just load another client instantly and carry on from
           | where you left off.
        
             | momentoftop wrote:
             | Exactly.
             | 
             | My emacs uptimes (M-x emacs-uptime) are generally the same
             | as my machine's uptime, which is typically months. Emacs is
             | one of the most rock-solid pieces of software I have
             | running.
             | 
             | It's also great for remote. I have emacs daemons running
             | continuously on my remote boxes. To start work on those
             | machines, I log in and start my emacs client. I've never
             | had a need for things like "screen".
        
           | [deleted]
        
         | rthomas6 wrote:
         | That sounds like something you could add to dired mode and bind
         | to a key without too much trouble. It's my understanding that
         | you sort of have to start molding emacs to your particular
         | style, and that the defaults are kind of bad. I have switching
         | windows bound to ctrl+direction. Super easy and convenient.
         | 
         | Also some of the plugins augment Emacs so much that some people
         | see them as part of emacs rather than an add-on. I don't use
         | dired; I use helm/ivy.
         | 
         | I am having good luck with Doom Emacs. You may want to check it
         | out, especially if you are used to the Vim keybindings. It
         | provides a lot of extra functionality out of the box.
        
         | pmoriarty wrote:
         | Yes, the Emacs _defaults_ tend to be pretty awful, but you can
         | configure it your liking, given enough time and effort.
         | 
         | I've put in a ton of time and effort configuring Emacs (after
         | spending about 25 years on vim and vi), and though it took a
         | long time, the results have been well worth it for me.
         | 
         | There's no way I would give that up and go to something with
         | more reasonable defaults but which is much more limited in
         | customization capabilities and which lacks a Lisp ecosystem
         | which has been improved by thousands of people for many
         | decades.
        
           | oblio wrote:
           | > There's no way I would give that up and go to something
           | with more reasonable defaults but which is much more limited
           | in customization capabilities and which lacks a Lisp
           | ecosystem which has been improved by thousands of people for
           | many decades.
           | 
           | You do know that there is a middle ground, right? __Emacs
           | __itself could come with reasonable defaults.
           | 
           | You'd still be able to customize it (after all, you probably
           | did) and all the newbies wouldn't have to read about 80's
           | computing arcana to figure out how to split a window.
        
             | antonvs wrote:
             | > Emacs itself could come with reasonable defaults.
             | 
             | You could try Spacemacs. I've only just started seriously
             | getting into Emacs, and have found Spacemacs to be a big
             | help.
        
             | pmoriarty wrote:
             | Oh, I fully agree, and some people have done just this with
             | packages like Spacemacs, Doom, Prelude, and probably some
             | others.
             | 
             | I've never tried any of them myself, because I already have
             | Emacs configured to my liking, but reasonable defaults is
             | what these packages aim at.
        
             | morelisp wrote:
             | > You do know that there is a middle ground, right? Emacs
             | itself could come with reasonable defaults...
             | 
             | That's the rub though. Emacs could change its defaults,
             | plan large deprecation and rename, rewrite all its
             | documentation and write even more to help migrate. And 20
             | years from now someone will be whining about the 2010 "web
             | arcana" embedded in some interface and command set.
             | 
             | > newbies wouldn't have to read about 80's computing arcana
             | 
             | Because here's the perfect example. Emacs isn't 80s
             | computing arcana, it's _60s computing arcana_ largely
             | encoded into it in the 70s. In the early 90s when I first
             | picked it up there was a similar push to encode the arcana
             | from the 80s instead.  "Pick the standard keybinds that
             | make sense!" they said. Like Shift-Delete for cut and
             | Shift-Insert for paste!
             | 
             | ... oh, that's probably not what you want today either, is
             | it?
             | 
             | So here's your options:
             | 
             | - Churn the defaults and everyone's configs every 15ish
             | years
             | 
             | - Document as best you can the defaults and how to change
             | them, and make the best UIs you can at the time, in fashion
             | or not. (Kill rings are still better than cut buffers!)
             | 
             | Universal "reasonable defaults" don't exist in a tool meant
             | to last 50 years in an ecosystem of fads.
        
               | paledot wrote:
               | I know you're angling for option 2 here, but honestly,
               | default churn still sounds like the best choice. Don't
               | like it? Have a one-line config Defaults=1980 and let
               | people like my father-in-law keep using their Shift-
               | Delete, while the rest of us can enjoy an editor that's
               | at least usable out of the box.
        
               | morelisp wrote:
               | > Have a one-line config Defaults=1980
               | 
               | You could bundle up maybe a dozen keybinds like this, but
               | it's not going to scale to even address the complaints we
               | see in this thread (window vs. frame terminology), let
               | alone the full gamut of mainstream Emacs configuration.
               | And it's a massive amount of work to do. And it's not
               | fundamentally different than just picking an Emacs-
               | distribution-du-jour (Spacemacs, Doom Emacs) right now.
               | 
               | If that's what you want, my view is you might as well be
               | churning whole editors. And truthfully, if that's what
               | you want, do it! But I want a kill ring, and
               | buffer/window management that doesn't presuppose multiple
               | frames, and my mode line. I don't want to waste critical
               | keybindings like C-x or C-c on weaksauce single-buffered
               | text operations. And yeah, there's a lot of things I
               | would change if I was doing "Emacs from scratch", but on
               | the other hand _I don 't need to_ because I can change
               | them now, and easily share them, and still take advantage
               | of what everyone else is doing.
        
               | oblio wrote:
               | Yeah, but here's the thing. Recently geneticists had to
               | start renaming genes because Excel would parse the gene
               | names as dates. And Excel is supposed to be "software".
               | 
               | At a certain critical mass, soft-ware stops being soft.
               | Other things bend to accommodate the soft-ware.
               | 
               | You know what's even harder than hard soft-ware? Social
               | mores and expectations. For example, such as those formed
               | by millions upon millions of spreadsheet users.
               | 
               | Or billions and billions of web users.
               | 
               | So, where am I going with this? Emacs has encoded some
               | norms from the 60s when the tech community was probably
               | 0.1% of what it is now, and when large numbers of those
               | 0.1% people were technically adept and very flexible in
               | adopting new things.
               | 
               | "Web arcana" has been assimilated by a million more
               | applications and systems than those systems that inspired
               | Emacs had. It has also been assimilated by billions (!)
               | of people.
               | 
               | 60s arcana is not equivalent to web arcana, for this
               | reason.
        
               | morelisp wrote:
               | Yeah, sorry, you're right. Now is definitely the end of
               | history and time to rewrite everything into the dominant
               | paradigm.
        
               | oblio wrote:
               | So it's better if the end of history was the 60s, when
               | there were 10000 programmers, in total, worldwide?
               | 
               | When we hadn't even standardized the keyboard layout and
               | the "display" was a dot matrix printer? When there was no
               | networking to speak of?
               | 
               | How does that make more sense?
        
               | morelisp wrote:
               | It's not like Emacs doesn't deprecate or change anything.
               | It's not like its feature set froze in the 60s. And it's
               | not like it doesn't document how to turn on CUA bindings,
               | or Windows or OS X-compatible bindings, or have special
               | builds or distributions where these are defaults. If you
               | want C-c, C-x, C-v, you can have it. Today. In many
               | distributions, by default. The keybindings are not the
               | main issue _either way_ in how  "usable" a tool like
               | Emacs is. If you think they are, you're missing the
               | entire point of how Emacs is special regarding UIs.
               | 
               | I can throw the bullshit rhetoric right back at you: You
               | think absolutely nothing was better in the 60s? That
               | modern IDEs lost _nothing_ compared to the tools of 10,
               | 20, 30, 40, 50 years ago? Why isn 't Emacs like Borland?
               | Why isn't Emacs like Visual Studio? Why isn't Emacs like
               | Eclipse? Why isn't it like Mosaic, QuickBasic,
               | Coldfusion? There are reasonable answers to these
               | questions, and they'll tell you also why Emacs isn't like
               | whatever you want to compare it to today.
               | 
               | Maybe Emacs already occupies a local maximum, "a middle
               | ground", taking some of the best compatible ideas from
               | the times it's been alive in. Vi another local maximum.
               | IntelliJ or VSCode, others - but emphasis then on _local_
               | , and I hope you like retraining.
               | 
               | The problem is not keybindings or what decade its
               | metaphors exist in, it's people see Magit or Org or
               | whatever high-level fully-integrated tool, and want _just
               | that_. And you don 't understand _that_ is an outcome of
               | a path that really does require the whole philosophy to
               | ingest into your workflow. But you don 't want to learn
               | the philosophy, you just want to 10x crush git or
               | whatever. No, it won't happen. There's all sorts of
               | dumbass metaphors in in this thread now, but in the end
               | Emacs is garden, not a hammer or a workbench or an
               | oscilloscope or whatever. You get out proportion to what
               | you put in, you work with it not just use it.
               | 
               | Shit's just gonna get faster. You need to find ways to
               | live with it, not copy it. Talk to your fathers-in-law.
        
         | agumonkey wrote:
         | It might be the right timing for an ergonomic revamp. As much
         | as I like the old habits, I agree that some parts really need
         | to be rebalanced. And emacs is moving faster these days so
         | maybe a mutation can happen
         | 
         | A slightly nicer embedded docs. They were great for 80s way of
         | life, but it could use a slightly more reply (to stay in the
         | context of a live editor / lisp machine). Maybe a text demo
         | system.. after all you could script a demo of workflows in
         | elisp for newcomers to see rapidly.
         | 
         | - hydras could be extremely useful for newcomers for instance
         | (and I'm no fan, but it cuts the chase by a factor of 1000)
         | 
         | - ace-jump
         | 
         | I don't know, I'm just suggesting
        
           | pmoriarty wrote:
           | I'm a _huge_ , _huge_ , _huuuge_ fan of hydras.
           | 
           | They're a big part of what make Emacs useable for me.
           | 
           | I have set up hydras for pretty much every major mode I use
           | (except magit, which kind of has its own hydra-like menu
           | system).
           | 
           | Because of hydras, I don't have to remember all the arcane
           | keyboard shortcuts these modes have bound by default, and
           | don't have to look up how to run a function that's not bound
           | at all.
           | 
           | All I have to remember is one keyboard shortcut which I have
           | configured to bring up a hydra in every mode, and it'll show
           | me a menu of everything I can do in that mode.
           | 
           | This is really fantastic, has revolutionized the way I use
           | Emacs, and has made it 10 times as useable for me as it was
           | before I used hydra.
        
             | mercer wrote:
             | Whether it's 'hydras' or something similar, the single
             | thing that got me into properly using Emacs was this
             | feature in Spacemacs. For almost any situation, I can
             | either pull up the spacebar 'global' menu, or a context-
             | specific quick-menu. Discoverability has been insanely
             | good, and I keep finding new tricks just by exploring the
             | various menus that pop up.
             | 
             | I wish 'UI autocomplete' like this was a standard feature
             | of operating systems. GUI's aside, how nice would it be to
             | run a CLI command with some flag that allows you to explore
             | the various options and string them together, rather than
             | reading the manpage and searching for whatever flag you
             | might want to use?
        
             | agumonkey wrote:
             | more generally auto-completion helps users go combinatorial
             | on new territory
        
         | tzs wrote:
         | I think that tools like Emacs and Vim are aimed at people who
         | recognize that very often over the next few decades of their
         | careers they are going to have a need for powerful, complex,
         | flexible text editing, and so even if they have no interest in
         | learning the software for its own sake its worth putting in the
         | up front effort because it will pay off later.
         | 
         | For a lot of tools, both in software and other fields, there
         | are three different classes of user.
         | 
         | 1. Those with fairly straightforward tasks that they just want
         | to get done.
         | 
         | 2. Those who mostly have staightforward tasks, but occasionally
         | have something a bit more complex but not too complex.
         | 
         | 3. Those that need to handle everything from simple to
         | ridiculously complicated.
         | 
         | Take electrical testing tools for example. For a lot of people
         | a simple battery tester is all they need (class #1). If you
         | want to test a battery and have never used a battery tester
         | before, it will either be obvious what to do, or a glance at
         | the instructions will tell you.
         | 
         | Some people need a bit more on occasion, and for them we have a
         | class #2 tool, the multimeter [1]. You can still pretty easily
         | test a battery with one, but the first time you probably will
         | have to spend a minute or two in the manual, learning what
         | voltage setting you want (the V with the ~ over it, or the V
         | with the dashed and non-dashed line over it?) and which holes
         | to plug the probes into.
         | 
         | Some people need a lot more. They have a class #3 tool, the
         | oscilloscope [2]. You can check a battery with an oscilloscope,
         | but if it is your first time you are going to spend a lot of
         | time in the manual before you get there.
         | 
         | Emacs and Vim are class #3 tools.
         | 
         | [1]
         | https://en.wikipedia.org/wiki/Multimeter#/media/File:Fluke87...
         | 
         | [2] https://www.tequipment.net/Rigol/MSO1104Z-KIT/Mixed-
         | Signal-O...
        
           | oblio wrote:
           | The thing is, you need AutoCAD (or equivalent) to be a
           | productive engineer in certain fields.
           | 
           | You don't need Emacs or Vim to be an incredibly successful
           | software engineer. It's actually the opposite, Emacs and Vim
           | users are a minority among successful software engineers.
           | 
           | So they are only a specific kind of power tool.
           | 
           | More than that, they can't even handle the "ridiculously
           | complicated". Common examples are trying to use them with
           | projects containing millions of lines of Java or C# code.
        
             | tzs wrote:
             | Yes, you don't need Emacs or Vim to be a successful
             | software engineer. If you are good enough you don't need
             | anything more than a basic editor, a compiler/interpreter
             | for a language, and libraries for that language that let it
             | talk to whatever you need to do I/O with.
             | 
             | But using a more advanced editor can make it easier. If you
             | are going to be doing software engineering for a few
             | decades all the times you have to do some repetitive task
             | in a simple editor that would have been quicker in a more
             | powerful editor adds up.
        
               | oblio wrote:
               | You've misunderstood me. I'm not arguing that Notepad +
               | msc.exe are more powerful than Emacs or Vim.
               | 
               | I'm arguing that IntelliJ/Visual Studio are more powerful
               | than Emacs or Vim.
               | 
               | The Emacs and Vim architectures are antiquated and the
               | volume of effort put into developing them (and their
               | ecosystems) are outclassed by modern IDEs, especially for
               | languages that scale to large numbers of developers
               | working together (Java, C#). Emacs and Vim are poor man's
               | IDEs compared to actual IDEs for these cases.
               | 
               | Emacs and Vim are mostly popular amongst C/C++
               | developers, where the ecosystems are generally baroque,
               | forced by the need to integrate with embedded systems
               | with limited toolchains or with libraries/frameworks that
               | are very limited, and amongst developers working with
               | dynamic languages, where you generally have small teams.
               | Or large teams and a ton of headaches :-)
        
               | nikki93 wrote:
               | For some people, using a computer is meant to be a
               | pleasurable experience, and Vim / Emacs let them build
               | this up in ways that personally align with their tastes.
               | I've spent years in Visual Studio (not Code -- the older
               | one, but also a year or so in Code), and IntelliJ, and
               | Vim, and Emacs with Spacemacs. They all felt good for
               | when I used them. Like which genre of music I happen to
               | be into at the time.
               | 
               | At the end of the day, it's kind of just shifting around
               | based on what feels good. It feels similar to sitting in
               | a cafe for a bit, but some times working from home, and
               | some times in the mountains.
               | 
               | But there's no need to put people down by saying stuff
               | like "poor man's" IMO. And if you're restricted to what
               | makes C# and Java tolerable, that's a small space.
               | There's a lot more stuff out there.
               | 
               | And programming is not as simple as "make decisions that
               | optimize your engineering throughput" IMO. Otherwise
               | gardening would be agriculture, right? Both are important
               | in their own ways.
               | 
               | In any case Vim's terminal emulation and asyncness these
               | days along with coc.nvim brings it back on track IMO.
               | There was a period where it was behind.
               | 
               | I do think it depends a ton on language. The best
               | experience in Vim is editing Go, I think. And then TS and
               | C++ have been a close second. Lisps are not great, Emacs
               | tends to better. For Java and C# it's definitely IDEs.
               | VSCode is also fine for a lot of langs, in a more out of
               | the box way. Cursive is also good I hear for Clojures. If
               | you need to move between a lot of langs, the only IDEs
               | that pan out are IntelliJ mostly, unless you count Code
               | as one. But Vim and Emacs have the best multiwindow and
               | multi buffer management. And the best git integration for
               | patch by patch staging, for sure.
               | 
               | And ofc for ObjC and Swift it tends to be Xcode. If
               | you're really into Freepascal then Lazarus etc.
               | Smalltalks are their own thing ... it keeps going on.
               | 
               | If all you want to do is work in languages that were 90s
               | attempts at doing GC'd VMs that are C++ inspired, to
               | deliver internal non-userfacing applets to businesses, by
               | all means use a Java or C# IDE.
        
               | pmoriarty wrote:
               | _" The Emacs and Vim ... are outclassed by modern IDE"_
               | 
               | Outclassed in what way?
               | 
               | Have you looked at LSP[1] and its support in Emacs[2],
               | for instance?
               | 
               | That's not to mention things like SLIME and paredit for
               | Lispy languages, or the integration of the rest of the
               | Emacs ecosystem in to your development environment, the
               | ability to develop and configure all these development
               | tools in Lisp instead of being forced to switch to some
               | other language, etc.
               | 
               | [1] - https://github.com/Microsoft/language-server-
               | protocol/
               | 
               | [2] - https://github.com/emacs-lsp/lsp-mode/
        
               | oblio wrote:
               | If you're not a professional Lisp developer, an
               | environment extensible in Lisp is not a plus :-)
        
               | MarcScott wrote:
               | I'm not a C/C++ developer, but I spend most of my time in
               | Emacs. Most of my development time is spent in Python,
               | and Emacs serves as an excellent IDE for the language.
               | 
               | However, that in itself is not my reason for preferring
               | Emacs. It's also my markdown editor, often my file
               | manager, my PDF viewer, my image viewer, my git
               | interface, IRC client, email client... I could go on, but
               | I'll stop there.
               | 
               | Emacs is not and has never been an IDE, it's a highly
               | versatile and extensible text-editor. You can't compare
               | apples and oranges.
        
               | [deleted]
        
               | iterativ wrote:
               | Well, let's see what software engineers use Emacs.
               | 
               | Donald Knuth. Author of "the art of computer programming"
               | and many contributions in computer science.
               | 
               | Linus Torvalds. Original author of Linux (the most widely
               | used kernel) & git (most widely distributed version
               | control). In fact, he wrote his own version of emacs. He
               | doesn't do much, if at all, coding now.
               | 
               | Joe Armstrong. Author of Erlang.
               | 
               | Guido van Rossum. Author of Python.
               | 
               | Yukihiro Matsumoto. Author of Ruby.
               | 
               | Rich Hickey. Author of Clojure.
               | 
               | Andrei Alexandrescu. Author of D.
               | 
               | Xavier Leroy. Author of OCaml.
               | 
               | Michael Widenius. Author of MySQL & MariaDB.
               | 
               | Guy Steele. Co-author of Scheme.
               | 
               | Stephen Wolfram. Physicist, computer scientist & author
               | of Mathematica.
               | 
               | Peter Norvig. Research director at Google & well known
               | Lisper.
               | 
               | RMS. Well, original author of GCC, Emacs & the GNU
               | system.
               | 
               | All of them, apparently, don't require one of those
               | "powerful" IDEs.
        
               | TAForObvReasons wrote:
               | Those developers by and large were active in software
               | development before the creation of VSCode or IntelliJ. If
               | you've already invested time and energy to learning the
               | ins and outs of one tool, the hurdle to switch is large.
               | 
               | VSCode would need to be 10x better for the seasoned
               | veterans to justify switching. If it were only 2x better,
               | arguably the investment would not be worth it, but it
               | doesn't change the fact that VSCode would be 2x better
               | than emacs.
        
         | taeric wrote:
         | Your complaint on the documentation reads oddly. You do know
         | there is a tutorial included, right? And, it mostly does what
         | you are asking. You can even try to speed run through it
         | occasionally to make sure you still remember everything.
         | 
         | The straight documentation on the parts? I'm curious how you
         | would want those to be otherwise. They mostly read like the
         | user's manual of a car. Fairly technical, but at a very high
         | level. With occasional tips on how to use the part you are
         | reading about.
        
           | bartread wrote:
           | > Your complaint on the documentation reads oddly. You do
           | know there is a tutorial included, right? And, it mostly does
           | what you are asking. You can even try to speed run through it
           | occasionally to make sure you still remember everything.
           | 
           | But that's the point: it doesn't.
           | 
           | Maybe it does if you want to invest a few hours getting up
           | and running, but I don't have that kind of time: I need to
           | get stuff done _now_.
           | 
           | I'm not saying I'm too important, or my time is too valuable,
           | or any nonsense like that: I just don't have time to invest
           | in spending a day or even half a day learning what are in
           | contemporary times the basics of using a _text editor_.
           | 
           | And that's the problem with the tutorial: it doesn't start
           | with a quick two page summary of what, in contemporary times,
           | are considered the basics of using a text editor. It's long-
           | winded and academic and takes way too long to get to the
           | point on any and all relevant topics.
           | 
           | The result is that I have to (and not just me: anybody used
           | to non-emacs - or perhaps vim - editors) invest non-
           | insignificant amounts of time learning basic functionality
           | that works in a common way across most other editors and IDEs
           | (IDEA, Visual Studio, Rider, VS Code, Sublime, TextPad, XCode
           | - heck, even Microsoft Word) and learn completely different
           | paradigms for all of it just because emacs is "special". It's
           | pretty frustrating because for me the editor is not the
           | point. I'm only looking at emacs at all because a lot of
           | editors, once you get to a project of any size, become
           | absolute CPU hogs and it starts to get in the way. But given
           | the grief I may come to the conclusion that a better
           | investment is just to buy a faster laptop.
           | 
           | I'm totally happy to be proven, or to prove myself, wrong,
           | but right now the whole emacs ecosystem seems unnecessarily,
           | contrarily alien simply for the sake of it.
           | 
           | There also seems to be a strong lack of empathy for users.
           | Few influential people seem to have given any consideration
           | as to how to make the software accessible for newcomers. In
           | this day and age that's almost laughable.
        
             | taeric wrote:
             | I'm not sure I follow. As a power user of computers for
             | years, I would be a liar if I said __any __of those
             | programs were "quick to get running." Speaking as someone
             | that is getting my kids up and running with computers.
             | Training and tutorial running are the norm and should be.
             | Expecting proficiency in anything with less than a few
             | hours is an exercise in pain.
             | 
             | If you want there to be a new tutorial, I don't know anyone
             | that would be against it. The "game to learn vim" was
             | popular a few times. Same basic idea. I don't know what I
             | would make of it, right off. There are some great typing
             | modes that let you quickly type the current document and
             | score you on speed/accuracy. Moving to other windows is
             | tough in any option. But I could imagine a fun game made to
             | navigate through. (Though, with helm, most navigations are
             | autocompletes nowadays.)
             | 
             | I hate that it feels like a lack of empathy for you. But I
             | really don't see the ecosystem as alien. Any more than I
             | see the python ecosystem as alien, or the java, or
             | javascript, browsers, etc. They are all just a little
             | different. But all have some rough analogs. And all feel
             | like they are just trying to shield users from complicated
             | problems. Many times making things more complicated in the
             | process.
        
               | bartread wrote:
               | What I'm trying to say is this: I can pick up almost any
               | text editor and be productive immediately, even if I've
               | never used that editor before. That is manifestly not
               | true with emacs (or vim). Getting back to my point about
               | the emacs documentation, it is simply not optimised to
               | get me productive in the way I can be with other editors
               | anything like as quickly as I can become productive with
               | those editors.
               | 
               | Of course you're right, when you start using computers
               | everything is hard, but many applications have common
               | conventions, even across different authoring
               | organisations and people, and even across different
               | operating systems.
               | 
               | Emacs has conventions but there's next to no commonality
               | with other applications within the same broad class, so
               | you are starting from scratch. Emacs makes no affordances
               | for people who are already used to using other software,
               | whereas much other software _does_ make those
               | affordances, and so is easier to pick up as a result.
               | 
               | Maybe you don't see that as a problem, and that's fine,
               | but for me - and, I suspect, quite a lot of other people
               | - the steep learning curve feels unnecessary and,
               | frankly, bizarre to the point of being out of place.
               | 
               | There's no reason Emacs couldn't be easier to use.
               | There's no reason the documentation couldn't be written
               | to accelerate proficiency with the application. But
               | neither of these things is the case, and it's a
               | deliberate choice. As I've already implied, it seems
               | almost obtuse just for the sake of it.
        
               | taeric wrote:
               | And my point is that you have plenty of other training in
               | those editors you are ignoring. Not out of malice, but
               | because it is second nature. You have done a ton of
               | training on them already.
               | 
               | I know it will sound contrived, but when I sit at a
               | coworker's desk using sublime, I'm literally lost on how
               | to navigate. I don't even know how to get the editor to
               | list all open buffers. IDEA? I mean, I know it has the
               | functions, but it is a search every time I have to try
               | them. (Again at someone else's computer.)
               | 
               | I could think it was just my emacs knowledge not working,
               | but I see the same hiccups from folks moving from each.
               | So it isn't just me.
               | 
               | Are there affordances that are common? Yeah, but many
               | have changed, and not all over long timeframes. Worse,
               | many are different from Windows to Mac to Linux. There is
               | a good argument for adopting what is native to where you
               | are, but the rise of browsers has shown that to not be
               | that important, ironically.
               | 
               | I do see it as a problem, if it is keeping folks from
               | using computers. Or, if it makes folks build things that
               | can't be used from emacs. That said, I don't see it as an
               | insult or as a problem if you choose to use something
               | else.
               | 
               | Again, for many of us, emacs __is __easy to use. For many
               | of us, the documentation __is __written in a way to
               | accelerate proficiency. I would love more documentation
               | or affordances to help. So not stonewalling, but I
               | caution against the attitude that what is there is bad.
               | 
               | And I get it, I think. I have recently tried to plunge
               | into Blender and Gimp. Holy crap do I feel punished for
               | mistakes there all too easily. :(
        
           | BeetleB wrote:
           | > Your complaint on the documentation reads oddly. You do
           | know there is a tutorial included, right?
           | 
           | The tutorial covers only the very basics. It's less than 1%
           | of the material in the manual. And I definitely agree with
           | him - most Emacs manuals (whether for Emacs or for some
           | packages) are written more as reference manuals than
           | something to learn from. If you're lucky some of them will
           | have a tutorial in the beginning.
        
             | taeric wrote:
             | But this was my point. Most of the documentation is a
             | reference manual. Is why I referenced the user's manual for
             | a car. You will not be using that to learn how to drive a
             | car. Nor will you use it to learn how to build or maintain
             | one, really.
             | 
             | So, to that end, what makes the manual of
             | VSCode/Atom/Sublime good? Since there is an implicit
             | comparison to those as a good comparison.
        
         | II2II wrote:
         | Emacs is an old piece of software that has historical baggage.
         | I would imagine that the window and frame terminology is a
         | product of their time: the use of window would have made sense
         | prior to X. Another term had to be introduced when X support
         | came along.
         | 
         | It is also a piece of software where changing the terminology
         | is very difficult. While a non-scriptable program could simply
         | change the documentation and be done with it, Emacs would
         | either have to change the names of exposed functions (breaking
         | compatibility) or have one set of terminology for scripting and
         | another while discussing the user interface.
         | 
         | Perhaps better choices could have been made, but the issue is
         | non-trivial.
        
         | BeetleB wrote:
         | Agree on the referenciness of the manuals. They are not the
         | best way to learn when new to it (or to a package).
         | 
         | C-x 4 is a prefix for "other window".
         | 
         | C-x 5 is a prefix for "other frame"
         | 
         | (It's OK if you did not know this. I was a heavy Emacs user for
         | a decade before I learned this).
         | 
         | For your particular problem, you may want to look into Hydra.
         | Setting up your own Hydra for dired-mode will involve some
         | basic Elisp, but not much - you can just copy/paste from
         | elsewhere. However, you may need to write an Elisp function for
         | your particular situation, and then have the Hydra call that
         | function.
         | 
         | Similar to another commenter, once I learned hydra, I create my
         | own menus for every new mode I want to use. Much easier than
         | memorizing keybindings, and you can put your own custom stuff
         | there.
         | 
         | Also, I rebound F6 to switching windows. C-x o would drive me
         | nuts. F6 is the standard in Windows/DOS, so that's what I was
         | used to (I still use it in Outlook for work to avoid the
         | mouse).
        
         | tiborsaas wrote:
         | At what project size did you notice performance issues? I use
         | VSCode as my daily workhorse and I can believe without a doubt
         | that it can get into trouble if I forget to gitignore
         | node_modules :) But putting ST on the same page got me curious.
         | 
         | I'm on the other end of the spectrum, I'm betting that
         | computers will become fast enough with time to run these
         | bloated editors that were designed to be usable.
        
       | john4532452 wrote:
       | > I seldomly hear this property mentioned by anyone else, so even
       | if it scratches OT-ness
       | 
       | What does "OT-ness" stand for ?
        
         | CKN23-ARIN wrote:
         | Off-topicness
        
           | john4532452 wrote:
           | I could not find that in urban dictionary or google
           | results.Is this commonly used in free software or open
           | software mailing lists or did you just guessed it ?
        
             | detaro wrote:
             | OT for "Off-topic" is a very common abbreviation online,
             | yes.
        
               | I_complete_me wrote:
               | Is there a common abbreviation online for On-topic? If
               | so, what is it?
        
         | CGamesPlay wrote:
         | Presumably "off-topic-ness"
        
       ___________________________________________________________________
       (page generated 2020-09-10 23:01 UTC)