News for hackers. Stuff that matters.
Re:How to open a file in Emacs: a story about Lisp, technolo... by humanistbot on Sunday January 03, 2021 @01:22PM (#25623685)
When I was first getting into programming and computer science as a student, I was so into these kinds of super-customizable rabbit holes. My whole life pretty much centered around the keyboard and terminal. I was all in on knowing everything about the entire stack and making it do whatever it was I wanted. I'd spend hours to save a few keystrokes. That wasn't so much about the productivity trade-off as it was about an almost ideological drive I had to make the machine do exactly whatever it was I wanted. Nothing commercial off the shelf, only things I could customize down to the source code.

A couple decades later, I just find it all so exhausting.

Re:How to open a file in Emacs: a story about Lisp, technolo... by bjeds on Sunday January 03, 2021 @01:47PM (#25623954)
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.

Re:How to open a file in Emacs: a story about Lisp, technolo... by coldtea on Sunday January 03, 2021 @02:18PM (#25624251)
>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...

Re:How to open a file in Emacs: a story about Lisp, technolo... by bjeds on Sunday January 03, 2021 @03:09PM (#25624783)
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?

Re:How to open a file in Emacs: a story about Lisp, technolo... by coldtea on Sunday January 03, 2021 @05:38PM (#25625899)
>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".

Re:How to open a file in Emacs: a story about Lisp, technolo... by danShumway on Monday January 04, 2021 @10:10AM (#25632225)
> 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.

Re:How to open a file in Emacs: a story about Lisp, technolo... by dan-robertson on Sunday January 03, 2021 @02:21PM (#25624287)
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.

Re:How to open a file in Emacs: a story about Lisp, technolo... by klodolph on Sunday January 03, 2021 @08:46PM (#25627145)
> 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.

Re:How to open a file in Emacs: a story about Lisp, technolo... by mainstreemm on Sunday January 03, 2021 @04:22PM (#25625373)
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.

Re:How to open a file in Emacs: a story about Lisp, technolo... by BeetleB on Sunday January 03, 2021 @10:48PM (#25627766)
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.

Re:How to open a file in Emacs: a story about Lisp, technolo... by krbzsq on Sunday January 03, 2021 @02:22PM (#25624306)
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.
Re:How to open a file in Emacs: a story about Lisp, technolo... by Thrymr on Sunday January 03, 2021 @02:08PM (#25624142)
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.
Re:How to open a file in Emacs: a story about Lisp, technolo... by bitwize on Monday January 04, 2021 @12:05AM (#25628084)
And yet articles called "Always Be Knolling" bubble to the top of Hackernews...
Re:How to open a file in Emacs: a story about Lisp, technolo... by pjc50 on Monday January 04, 2021 @10:27AM (#25632488)
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.)

Re:How to open a file in Emacs: a story about Lisp, technolo... by nn3 on Sunday January 03, 2021 @05:42PM (#25625929)
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)

Re:How to open a file in Emacs: a story about Lisp, technolo... by tom_ on Sunday January 03, 2021 @08:40PM (#25627105)
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.

Re:How to open a file in Emacs: a story about Lisp, technolo... by brandonmenc on Sunday January 03, 2021 @05:19PM (#25625770)
I'm not going to die younger if I don't waste a bunch of time customizing my computer.
Re:How to open a file in Emacs: a story about Lisp, technolo... by mtrower on Friday January 15, 2021 @03:05PM (#25795615)
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.

Re:How to open a file in Emacs: a story about Lisp, technolo... by oblio on Sunday January 03, 2021 @02:17PM (#25624238)
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

Re:How to open a file in Emacs: a story about Lisp, technolo... by BeetleB on Sunday January 03, 2021 @10:47PM (#25627763)
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.

Re:How to open a file in Emacs: a story about Lisp, technolo... by jcranmer on Monday January 04, 2021 @12:10AM (#25628102)
> [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.

Re:How to open a file in Emacs: a story about Lisp, technolo... by BeetleB on Monday January 04, 2021 @12:36AM (#25628202)
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).

Re:How to open a file in Emacs: a story about Lisp, technolo... by Barrin92 on Sunday January 03, 2021 @09:42PM (#25627445)
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.

Re:How to open a file in Emacs: a story about Lisp, technolo... by bmitc on Sunday January 03, 2021 @03:01PM (#25624698)
Exactly my thoughts. In the context of the posted article, one just installs the Remote - SSH extension and moves on with life.
Re:How to open a file in Emacs: a story about Lisp, technolo... by mtrower on Friday January 15, 2021 @03:14PM (#25795755)
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.

Re:How to open a file in Emacs: a story about Lisp, technolo... by madhadron on Sunday January 03, 2021 @08:05PM (#25626900)
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.

Re:How to open a file in Emacs: a story about Lisp, technolo... by alpaca128 on Monday January 04, 2021 @01:03AM (#25628298)
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.

Re:How to open a file in Emacs: a story about Lisp, technolo... by bitwize on Sunday January 03, 2021 @10:08PM (#25627563)
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!

Re:How to open a file in Emacs: a story about Lisp, technolo... by modo_mario on Monday January 04, 2021 @10:09AM (#25632194)
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

Re:How to open a file in Emacs: a story about Lisp, technolo... by stirner on Sunday January 03, 2021 @01:31PM (#25623779)
I had the exact same experience, but I feel grateful since it’s what got me into programming. I first learned C in order to customize the dwm tiling window manager on Linux. Over time, my priority became simplicity and overall cohesive design over customization, though still in an entirely impractical way (I moved to BSD and briefly Plan 9/9front). Now I’ve settled on a dead-stock macOS setup and spend zero mental bandwidth on customization, but I think going down the customization rabbit hole taught me a lot about software design, UI/UX, and even philosophy in a weird way.
Re:How to open a file in Emacs: a story about Lisp, technolo... by agumonkey on Sunday January 03, 2021 @02:50PM (#25624578)
As you grow your brain optimizes off fruitless ideas. You think total control of one part will be the ultimate because younger your perspective is narrow and you focus all on it.

When I was in college I thought being a flawless typist would make me a better programmer.. (mind you I had trouble mastering dynamic programming, advanced abstractions or semantic subtleties).

I find these exhausting too now, and actually that's why I'm jaded by tech. The vast majority of things in the late 10 years felt like a planet scale tweak (phone has tilting backgrounds, css animations, ..). Deep inside I knew it was just marketing and nothing substantial.

Re:How to open a file in Emacs: a story about Lisp, technolo... by erikbye on Sunday January 03, 2021 @03:51PM (#25625125)
> The vast majority of things in the late 10 years felt like a planet scale tweak (phone has tilting backgrounds, css animations, ..)

Sounds like you are in a very small bubble if that is your take on the last decade's tech inventions/evolution. What about autonomous vehicles/dock yards/warehouses and reusable rockets?

Re:How to open a file in Emacs: a story about Lisp, technolo... by agumonkey on Sunday January 03, 2021 @04:02PM (#25625214)
SDV are not there yet, reusable rockets are not mainstream.

Yeah my bubble was mostly about consumer computing and network. CRISPR wasn't included in my rant.

Re:How to open a file in Emacs: a story about Lisp, technolo... by entropie on Sunday January 03, 2021 @01:57PM (#25624042)
I absolutely know what you mean.

> I was so into these kinds of super-customizable rabbit holes

I did this too. I spend days customizing my xmonad (I dont speak haskell), but thats nothing in comparison to the time I spend tuning my emacs.

On the other hand, i pretty much use the same environment like a decade ago. My same .emacs, my same xmonad.hs. I was looking at my WM and if there is a way to get rid of ghc on my machines (I use gentoo, updating ghc is an expensive task, especially on older machines) but every other WM felt like a downgrade so I went back to xmonad, to my old config.

I feel home everytime I open my notebook or booting linux on my desktop.

Re:How to open a file in Emacs: a story about Lisp, technolo... by maria_weber23 on Monday January 04, 2021 @12:41AM (#25628227)
Yup, seconded 100%. I started programming on my own when I was 7 years old with a learning computer for children that supported BASIC. Until I reached work-life, everything centered around exploring everything and digging deep into whatever was interesting...

Then work happened. Right now I just can't stand it anymore. My brain is rebelling against even coding. I am still really good at it and enjoy it, but I realize that I just lack the drive I had. Some people might say that's bad. IT IS NOT. I spent almost 25 years of my life filled with coding. I am done. I want to have other people code things for me and focus on building awesome products instead. This is what drives me now. I don't care about low-level anymore. I don't care about bugs or why this stupid dependency won't work in a deployed environment. I want to ship awesome things to customers and I keep realizing that this is at the core what always drove me. I never coded for the sake of coding. It was always to build something cool, except there was no one else around to do it for me.

This is a very familiar story for many engineering managers I know.

Re:How to open a file in Emacs: a story about Lisp, technolo... by ernst_klim on Sunday January 03, 2021 @06:32PM (#25626329)
> I just find it all so exhausting.

So do I, and yet I use Emacs. I think there is a middle-ground. There are things worth customizing and improving, in particular the tools I work with, and there are things that I expect to "Just work"™.

Hence I use Gnome and Emacs for important workflow, such as programming, TeX, email, git, shell etc. It's and IDE, if you wish, but with more stuff since email is also part of the workflow.

Re:How to open a file in Emacs: a story about Lisp, technolo... by brundolf on Sunday January 03, 2021 @08:45PM (#25627138)
I've gone through a similar transition with technology. I think the key is to separate the yak-shaving you do for fun, from the yak-shaving you actually need to do for productivity. Minimize the latter, and admit that the former really is just for fun, and don't do any more of it than you actually feel like doing (which can be zero).
Re:How to open a file in Emacs: a story about Lisp, technolo... by Zelphyr on Sunday January 03, 2021 @11:30PM (#25627941)
This describes why I have had a Mac for the last 20 years. I used to build my own machines (before laptops really became commonplace, of course) and then install Linux. I loved the learning experience and the almost total control over my system that such an exercise provided.

After awhile I realized I just wanted to write code and not have maintaining my system take time away from that. The fact that the Mac provided easy access to Unix was a major plus. Also, at the time, none of the Linux desktop environments could match the polish that the OS X GUI provided.

I've been saddened and frustrated by the state of macOS of late (hopefully Big Sur is better) but I'm still not ready to go back to the old days. As you say; it just sounds exhausting.

Re:How to open a file in Emacs: a story about Lisp, technolo... by dleslie on Sunday January 03, 2021 @11:47PM (#25628000)
FWIW, System 76 devices are fantastic out-of-the-box.

I'm typing this on a Pinebook Pro which, at least in my experience, has basically been zero-configuration with the default Manjaro release.

Ok, I lie, I added an m.2 ssd to it. But that's about it!

Re:How to open a file in Emacs: a story about Lisp, technolo... by saurik on Monday January 04, 2021 @09:40AM (#25631865)
I customized the hell out of my terminal and text editor setup... and two decades later I still use it? I certainly occasionally spend time tweaking it, but I go years without changing a single thing. The time spent vs. reward from being able to spend decades--and I am nowhere near done: I expect to be programming for another couple decades--using exactly the best setup I could imagine using is a super power, not a curse. I honestly just don't understand the mindset of just deciding "engh, I don't care anymore".
Re:How to open a file in Emacs: a story about Lisp, technolo... by spiralx on Tuesday January 05, 2021 @11:07AM (#25646920)
This is exactly my journey with tooling. I still customise my environment more than the vast majority of people - and write user scripts and styles for websites I use heavily - but I don't need or want to have every single thing exactly how I envision it.

It made more sense to customise when you had a limited environment you used and never much changed, but what's really changed is I'm twice as old now :)