Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

In no way do I want to come off as rude with this comment, but to me what you are saying is not at all different from

"when I was young I used to work out and eat healthy... a couple of decades later, I just fund it all so exhausting".

Customizing your computer environment is good. Eating healthy is good. None of those need to end up in a "rabbit hole".

Everyone can be tired of life and give up due to exhaustion, but greatness requires discipline. This is also true with the craft and art of programming.



>Customizing your computer environment is good. Eating healthy is good.

One is a practical endeavor of great importance for mind function, body function, longevity, performance, etc.

The other is something between slightly better ergonomics (in a non-scientific ad-hoc way), tinkering, and bike-shedding.

People have found again and again that "customizing your computer environment" is not a good in itself, but a means to an end, with quite narrow diminishing returns.

>Everyone can be tired of life and give up due to exhaustion, but greatness requires discipline.

This includes first and foremost the disclipline of avoiding tinkering and bike-shedding with your tools, and doing real work on real problems instead (which is not a false dichotomy: many people fixate on the former to the detriment of the latter).

>This is also true with the craft and art of programming.

Which has as little to do with a focus on customizing of tools, as a hi-fi hobby has with being a music lover...


Did we read the same article?

The author of the article customized his environment so opening a file no longer froze his editor.

I wouldn't classify that either as "slightly better ergonomics" nor "tinkering" nor "bike shedding".

He had the discipline to improve his favorite editor. Good for him.

Emacs is obviously a very powerful environment for people who know how to use it. I applaud the author for documenting how he fixed this.

The only difference between emacs and many other open source software is here you can easily solve bugs in your config file, instead of filing a pull request or submitting a patch to some git repo. The first you call "tinkering" and look down upon. The other I assume you approve of? But why the double standard?


>Did we read the same article?

I didn't respond to the article, I responded to your particular comment, which seemed to imply that customizing your programming environment in general is something great and necessary.

>The author of the article customized his environment so opening a file no longer froze his editor.

That doesn't clarify as "customizing my environment" is more like "fixing fundamentally broken shit".


> That doesn't clarify as "customizing my environment" is more like "fixing fundamentally broken shit".

I mean, sure, if you define any config change that tangibly results in higher productivity and better performance as a fundamental bugfix instead of a customization, then customizations don't matter.

But that seems to be a kind of arbitrary distinction. Just as an analogy:

----

"I lost 30 pounds and fixed a sleep apnea problem when I started paying attention to my diet."

"That isn't paying attention to your diet, it's fixing a fundamental health problem. In general, most dieting falls into the category of fads and micromanaging."

----

Aside from your specific definitions about what does and doesn't count as customization, what do you and the OP actually disagree on?

Do both of you agree that when changing an Emacs config, I should take into account the ratio of time they'll save and the time I'll lose making them?

Do both of you agree that there are changes I can make to an Emacs config that would eventually provide a net benefit in terms of time saved?

Is it good that I can make those changes that save me time in the long run?

Is it bad if I ignore the cost/benefit analysis of a customization and spend more time messing with configs than actually programming?

I don't understand what you're actually arguing about.


A lot of emacs customisation ought to be unnecessary. And I think the yak shaving on one’s config isn’t really a great use of time (if you want it as a hobby then I guess that’s fine).

Some examples of unnecessary customisation is the fact that the defaults of emacs so often ought to be changed. E.g. why does M-SPC do just-one-space instead of the strictly more powerful cycle-spacing (answer: probably a combination of history, neglect, and a fear of breaking existing saved keyboard macros), why use upcase-word instead of upcase-dwim? Why does autocomplete require so much customisation?

If emacs had better defaults there would be much less reason for spacemacs or doom to exist.

One person I work with will (drastically) customise the key bindings for each new mode before using it, making it hard to use new modes. Another gave up on customising emacs and switched to spacemacs to no longer have to think about customisation.


> A lot of emacs customisation ought to be unnecessary. And I think the yak shaving on one’s config isn’t really a great use of time (if you want it as a hobby then I guess that’s fine).

I totally agree. The only reason I justify my Emacs customization is because I customize it very slowly, over years, and periodically remove things I don’t use any more.

It’s getting harder to justify now that alternatives like VS Code have a bucketload of features and working autocomplete without futzing around too much. It’s just that VS Code is so damn slow. Maybe better language server support will bring me back to Emacs as my daily driver in a couple years, or maybe I’ll be paying for CLion.


I'm too young to have used it, but I bet Borland C++ was nice, too. And I bet it was more work to configure Emacs to write C++ in the 90s than it was to just use Borland. But which one is still around?

I wonder if it's more time wasted when you have to change editors every few years because of changes in the funding model of the corporate patron of the product and relearn how to use the entire environment with "sane defaults" versus creating some custom keybindings that you like essentially one time and then using them for 30 years in an editor that has a license and community that makes it unlikely to suddenly cease to exist.

People act like there's all this extra work to using software like Emacs over corporate IDEs, or GNU+Linux over corporate OSes, but I contend that it is merely different and better-documented work. The corporate environments just make more promises, and then everyone is surprised when the promises are broken.


I think a better analogy is:

> when I was young I used to work out and eat healthy at the level of an Olympic athlete ... a couple of decades later, I just fund it all so exhausting and don't do any exercise and eat only convenient packaged foods.

The original comment is arguing as if only these two extremes exist.


I don't think this is fair. Eating healthy and working out is objectively good. Whereas for plenty of people, these customisations are just that, a "rabbit hole" that was interesting when they were younger but then it got tedious. Now they've found a setup they like, be that intensely customised or a fresh macOS install with VSCode. I wouldn't consider either indicative of greatness. A lot of people just want their computing environment to get out of their way.


It feels a little closer to "when I was young, I used to spend so much time arranging my kitchen gadgets [or exercise equipment]". Not doing the useful part of it, but frittering around the edges.


And yet articles called "Always Be Knolling" bubble to the top of Hackernews...


Oh, I've done both of these: I've given up customising my computing environment, and taken up exercise. It's now something like 25 years since I first installed Slackware off floppy discs, I've been there and no longer regard it as a useful use of my limited time.

The thinking environment of choice of the most productive, smartest person I've ever worked with was .. a notepad. Not Notepad, a physical A4 ruled paper notepad and an ordinary gel pen. The actual development inevitably required some typing, but the thinking process and its associated diagrams, calculations, and scribbles for the kind of maths-heavy work he was excellent at worked best on paper.

(I currently have vscode open .. and actual Visual Studio, and IntelliJ, and notepad++, each with a different set of files open in different languages.)


A super customized system is more like a pet. A mostly standard system with very limited tweaks is more cattle.

Like the OP I used to be in the having "pets" category (including gigantic ~/.emacs), but these days I prefer cattle (defaults as much as possible)


Put your Emacs config in a git repo, and this problem goes away.

You don’t even have to stop there. I have a repo for my Emacs config, a repo for my Windows bin folder, a repo for my Unix shell stuff, and a repo for a bunch of cross-platform Python scripts I’ve written. Every computer I use regularly is super customised in exactly the same way as all the others. Takes about 10 minutes to get up and running.


I'm not going to die younger if I don't waste a bunch of time customizing my computer.


Objectives to customizing your computer:

+ Increase productivity (e.g. if value = work x time, and you can't increase available time, then reduce time consumption per unit of work to increase value)

+ Increase comfort during this process

- cost: available time is reduced, which you could have spent working.

Objectives to exercising:

+ Increase lifespan

+ Increase comfort(health) during this lifespan

- cost: available time is reduced, which could have been spent living

Tbh, these look pretty similar to me. In both cases, you're trading off an existing resource gambling that you'll get back more than you put in.

---

As an addendum, there's a right and a wrong way to achieve tradeoff-based objectives.

With exercise/diet, you can certainly do it wrong: latest fad diet that's placebo or maybe even actively harmful to you, latest fad routine that isn't very efficient, overwork and hurt yourself, etc.

If you're "wasting a bunch of time" customizing your computer, I guess you're doing it wrong. Certainly, don't do that.


Or you can, you know, just use VSCode, have fun coding what you actually want to code and use that spare time:

a) learning Spanish to talk to that hot chick/dude

b) traveling around the world

c) doing whatever else you love to do besides coding


Here are things listed in the article that one can do in Emacs [0]:

- process their email inbox

- communicate in chat

- navigate the web

- write code

- prose

- Creating a to-do item for something your partner just asked you (while you were concentrated on a task) that will show up automatically on your agenda tomorrow

- Converting some text notes you quickly scribbled down into a beautiful PDF via LaTeX, uploading it to S3, and referencing the URL in a reworded existing git commit message?

I could make the list much longer from my own experience, but this is just straight from the article.

I'm not a VSCode user, but I often hear about it only in a programming context, so it always surprises me when people suggest ditching Emacs to use VSCode.[1] I'm genuinely curious: How many of the above tasks are doable in VSCode? If not most of them, then I suggest people stop comparing the two programs - there is no point in asking people to stop using Emacs and use something that doesn't do what is needed.

If VSCode can do it, I'd love to look up the plugins/extensions needed.

[0] And many, many do it. I do over half of these things in Emacs (and most of the last item).

[1] Easily over 70% of my Emacs usage has nothing to do with programming.


> [0] And many, many do it. I do over half of these things in Emacs (and most of the last item).

And very probably, many, many, many more don't. (This is what telemetry is good for--actually telling you how many people use various functionality in your product). Somewhat more than half of my coworkers use emacs for their daily coding, and exactly 0 of them use it for anything other than a programming editor.


And that's fine, and I would not really recommend Emacs to them (although it's OK if they want to use it). Emacs is a very good programming editor, but it's not in that arena that it shines and the alternatives may be as good if not better.

My point is that while I know many, many folks who use Linux only for SW development (at work), it would be silly to view Linux primarily as a SW development environment when it can be used for so much more. And so it is with Emacs. It's like saying "I dropped Linux for Visual Studio." The comparison makes little sense, unless you're talking to the folks who only use Linux for a small thing.

As for telemetry, I can again invoke the Linux analogy. While it would certainly be nice to get an accurate poll of what people use Linux for, I don't think many kernel developers will want to drop multimedia features from it because less than 10% of Linux users use those features (10% is really optimistic!). Emacs is an elisp development environment, and a text environment. Anything that works with these two is within its scope. It's a valid discussion on what should come bundled with Emacs vs off loaded to external packages, but that's not the discussion over here.

(Yes, yes I'm aware that Linus and the kernel folks do often drop features because they believe it's not used often, but those usually are way, way down the tail of the distribution).


The tools that you use in your profession are a way to express yourself. That's true for guitarists who customise their guitars, truck drivers who customise their truck, tennis players with custom rackets and woodworkers with unique tools that often take countless of hours to make.

What they all have in common is that this level of customisation looks silly to the outside. Of course they could be 98% as good with something they bought off a quality store, but what they do is part of who they are and there arguably is a deeper satisfaction in that then going around hitting on hot dudes on holiday trips.


Exactly my thoughts. In the context of the posted article, one just installs the Remote - SSH extension and moves on with life.


What do you do when Remote - SSH exhibits unbearably slow behavior?

In the context of the posted article, one simply uses TRAMP (built in!) and moves on with life. The author is dealing with a situation where the "move on with life" tool is behaving pathologically.


I hesitate to do this mostly because I'm confident Emacs will be around in two decades. I don't know about VSCode. At the same time I don't feel like investing in Emacs is a great use of time.

So I mostly just leave everything as it is.


And I would, you know, if VS Code didn't feel slower than some IDEs and wouldn't have the same annoying behaviour, limitations and flaws as many other programs. It's kind of telling that some of the most powerful and flexible editors are decades old. Maybe because they didn't target the widest possible userbase as first priority.

I have fun with customization and it increases enjoyment of the coding part, so why not.


Whoa. I had a brain wave.

What if there were a Silicon Valley company whose entire business model was selling a computing environment that didn't need to be customized? Like, at all? What if they did a whole bunch of psychological research, and found that most humans work pretty much the same way, and designed this environment in such a manner that they could get 98% or so of the way toward optimum productivity, right out of the box?

Knowing the Valley, they would give themselves a silly name, one having nothing to do with computers or data or anything. Like a fruit or something. But multiply the base price by billions of potential users... the idea could be worth trillions!


Turns out that company doesn't exist because apple doesn't exist in these general purpose editor wars and i haven't heard much good about the editors they do use to begin with.

Additionally guess what. Most humans wouldn't prefer something like emacs even if it had sane defaults that would bring all it's users and the vim people and the like togheter. It's why a lot of it's features aren't a thing in popular ide's and such. Yet this niche still exists. Because some like a keyboard centric layout and don't mind learning a bunch of of keybindings to work faster down the line




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: