Remix.run Logo
dark-star 2 days ago

sure, if you're looking for something that can perfectly replicate what Emacs does, then you'll never find an alternative... Every alternative has obvious shortcomings, at least on first glance, that you have to get used to.

I have never used Emacs (other than briefly starting it up in the 90s, waiting 5 minutes for it to load on my old 386, just to be completely overwhelmed and closing it again) but I have used other tools that I replaced (sometimes multiple times) over the years. And it has never been "smooth". The first few days are full of compromises until you get into a mode of working "with" the new software instead of "against" it. Then it usually begins to make sense and after a week or two you've in business

iLemming 2 days ago | parent [-]

Okay, but you know what? During my career as a software developer, I have wasted over a decade "getting used to" things being shitty, passively accepting mediocrity and suboptimal solutions.

Learning Emacs (and Vim too) finally made me realize that I was doing things wrong - I needed to be in charge. As a computer programmer, I should be commanding software, not being constrained by it.

Emacs has granted me that power by acting like glue. I don't turn away from useful software; I do use it. I just do it through Emacs, not instead. With Emacs, I make my own rules and I dictate what makes sense.

Most recent practical example? I just joined a team that uses Jira. Lots of people hate Jira (and for good reasons), in my case, I have no choice. So, instead of complaining how cumbersome and stupid Jira is, I decided to use it from Emacs. But instead of wasting time building a "native" extension, I just delegated things to go-jira - a command line client. Now, I can basically type 'FOO-31415' and Emacs automatically, contextually recognizes it as the 'jira ticket number', despite it being plain text. From that point I can retrieve its summary, turn it into a markdown link, browse the ticket, change its fields and status, etc. While anyone else have to waste their time opening Jira in the browser, I can perfectly do things without losing my focus, directly from my editor. That's working "with" software instead of letting software to fight "against" you.

wilkystyle 2 days ago | parent | next [-]

Been using Emacs for 15 years, and I think you've perfectly captured the spirit of what makes Emacs so compelling in spite of the crazy time investment needed to make it your own. I have never used another piece of software that not only allows you to customize it so deeply but makes you feel like you're the one in control.

iLemming a day ago | parent | next [-]

> you feel like you're the one in control.

I know right? Sometimes it so ridiculous, it's not even funny. Here's one, totally idiotic example. I use Google Translate directly in Emacs, okay? So, when you enter something like "He was born in 1978", it doesn't translate the date, and that's sensible. But I'm learning a language, I really need to see it e.g. in Spanish like this: "Nació en mil novecientos setenta y ocho", and I didn't want to write every time "He was born in nineteen seventy-eight", so I wrote a tiny function (took me ten minutes) advising google-translate that installs 'number-to-words' npm package and uses it to turn the numbers into words before sending the whole thing to Google Translate API. Totally imbecilic, right? I guess shit ain't no so stupid if thy shit works, yes?

Now, Neovim, VSCode, Jetbrains, and Sublime, they all have similar plugins for translation. I wonder if any experienced user would ever bother with something like that? I bet they just wouldn't. It wouldn't occur to them to even consider that as a minor annoyance. Emacs on the other hand, changes the way you think about efficiency and being in control.

hollerith 2 days ago | parent | prev [-]

I agree (but at times have spent too much time customizing Emacs because of the emotional appeal of exercising this control over my personal software environment).

iLemming a day ago | parent [-]

> spent too much time

Time has to be spent, no matter what: you can either adapt your workflow to match the design of specialized apps, or you can choose to go against the norm and manage it on your own terms.

I vividly remember my own misery when trying to find the most optimal, ideal note-taking solution. I went through Evernote, Workflowy, Google Todos, Google Keep, Todoist, Notion, Trelo, Remember the Milk, Obsidian, and some other options.

On the other hand, I have spent a long time studying and customizing Org-mode. I can say with absolute certainty that the net positive ROI from this effort is far greater than it could ever be with any other option.

"Ignorance is bliss", right? Less tech-savvy people genuinely live in blissful ignorance of the endless possibilities, the ways and the methods available. Programmers are different - they can spot your bullshit right away, "you're holding it wrong" vibes don't sit well with them, you don't tell them "users don't know what they want", they'd get annoyed and will try to find a better way - writing scripts, hacking your app, setting up unconventional keybindings, etc.

Emacs is for programmers, for tinkerers who prefer to deal with computing on their own terms. I know the feeling - some new, shiny app comes out that makes ripples in HN threads, and you'd feel old, cranky, and left out with your not-so-shiny, brutally simple yet efficient Emacs UI, thinking that maybe this is the time when you finally have to move away from it. Then you try that shiny new feature everyone so enthusiastically talks about and think, "Meh, that's it? Is that what they're so excited about? I can't believe now I have to use this shit because everyone else does..." And then a few weeks later, someone builds an Emacs package for it.

I never regret time spent on customizing Emacs because I've gotten to the point where I know exactly how to get the most use out of that exercise. It's nothing but pure, unadulterated pragmatics. The notion that Emacs users waste their time configuring it instead of doing real work is a myth. It's like saying that the cook spends too much time sharpening the blade instead of actual cooking. A great chef knows a great deal about his knives and always keeps them very sharp, but he's not in a knife-sharpening business.

sexyman48 2 days ago | parent | prev [-]

Hyping vaporware is not software development.

iLemming 2 days ago | parent [-]

Judging by your profile comments, it looks like you have little clue what any of these words mean, especially the last one, which could be due to your emotionally underdeveloped brain. Before you start spitting your snacks at the screen in rage, let me explain - comments like yours often suggest someone experiencing difficulties with emotional regulation, empathy, and interpersonal relationships. I don't know the source of your irrational anger, but you may want to find someone to talk about it. Modern therapy can drastically change people's lives for the better.