Live data from Hacker News

How to open a file in Emacs: a story about Lisp, technology, and human progress

murilopereira.com

81–90 of 97 posts

Re: How to open a file in Emacs: a story about Lisp, technology, and human progress

#81

I use emacs but tend to just find another way to do things (e.g. grep, & other shell things) when I run into a stumbling block like this; believe it or not, not everyone wants to start debugging their text editor when they run into trouble. Admittedly I wish I would spend a bit of time in emacs internals sometimes just so I could learn to approach similar issues, but it's just never much of a priority when I'm trying…

> TRAMP is pretty great, I wish it would not make a new connection for every network interaction though Same. One of my wishes for Emacs in "From caching up to getting ahead" is for Tramp improvements. These days I went back to TUI Emacs via SSH for work.

TRAMP doesn't open any network connections at all. Instead it relies on ssh (or ftp if you're really old-school).

Open up your ~/.ssh/config file and set "ControlMaster yes", "ControlPersist yes" and "ControlPath ~/.ssh/cp-%C" and ssh will multiplex all of your ssh sessions across as few unique tcp connections as possible. This will speed up scp and sftp connections as well.

Re: How to open a file in Emacs: a story about Lisp, technology, and human progress

#82

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…

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, technology, and human progress

#83
post #42

The author quickly moves on after finding that expand-file-name is the issue and routes around the problem. The last time we hear from it is when it is patched out. But what is really going on? The problem is that many parts of Emacs and libraries built on top of them have not been made fully TRAMP aware. There is an abstraction boundary that is being crossed, assumptions are being violated, etc. because all paths ar…

Yeah it's tricky. The reason why packages like Eshell and Magit work pretty much out of the box with Tramp is that they rely on functionality like `expand-file-name`, which will handle both the local and remote cases. It's convenient, but as you said, "assumptions are being violated".

> Hah. I though I recognized Richard's reply. It was to me.

Thanks for being the cause of that really nice reply :)

Re: How to open a file in Emacs: a story about Lisp, technology, and human progress

#84

I always wonder how people evolve from fiddling with package configurations to using emacs at this level. My stunbling block is not so much knowing Elisp (I’m sure I can stumble through that) but just knowing the internal architecture and how emacs works overall. Has anyone come across a good guide for hacking emacs? I know there is the manual. Perhaps I just need to look at that again and get going.

> I always wonder how people evolve from fiddling with package configurations to using emacs at this level.

One step at a time.

If getting better at Elisp is something you want, just keep at it :)

Re: How to open a file in Emacs: a story about Lisp, technology, and human progress

#85

Nice write up, thanks. I often mosh + tmux on remote servers slso, and even though I do nothing fancy, with Emacs it all works for me.

I've been doing that too recently, for work. The performance of TUI Emacs via SSH is much better than Tramp.

Re: How to open a file in Emacs: a story about Lisp, technology, and human progress

#87
post #81

Earlier quoted context omitted.

> TRAMP is pretty great, I wish it would not make a new connection for every network interaction though Same. One of my wishes for Emacs in "From caching up to getting ahead" is for Tramp improvements. These days I went back to TUI Emacs via SSH for work.

TRAMP doesn't open any network connections at all. Instead it relies on ssh (or ftp if you're really old-school). Open up your ~/.ssh/config file and set "ControlMaster yes", "ControlPersist yes" and "ControlPath ~/.ssh/cp-%C" and ssh will multiplex all of your ssh sessions across as few unique tcp connections as possible. This will speed up scp and sftp connections as well.

I do that. Performance is still pretty bad compared to VSCode remote or TUI Emacs via SSH.

Re: How to open a file in Emacs: a story about Lisp, technology, and human progress

#88
post #61
post #6

Earlier quoted context omitted.

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…

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, righ…

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, technology, and human progress

#89
post #62
post #20

Articles like this really trigger the imposter syndrome for me. I just have no patience for these type of things, and seeing others' both ability and patience to power through issues like this one, I just feel like an imposter. But these types of issues are why I've always given up on learning Emacs. When I can just install Visual Studio Code and the Remote - SSH extension and whatever else extension that I want to w…

I think it's great that we have such a variety of editors and IDEs to choose from and find one that meets best meets our individual needs. Over the years I've used BBEdit, TextMate, IntelliJ, and Emacs for development. For the past couple of years it's been switching between the last two. I'm glad you've found VS Code to be a match for you. I've spent time configuring all of them to aid in development. ust like there…

And I'll add that you don't need to limit yourself to just one. I do most of my text editing and development in Emacs, but when I'm working in Java, I'll use IntelliJ. I miss out on some of the key bindings and workflow I'm used to in Emacs, but for me the other features IntelliJ affords me when working with Java are worth it.

Re: How to open a file in Emacs: a story about Lisp, technology, and human progress

#90
post #32
post #21

Earlier quoted context omitted.

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…

> 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.

Post reply on HN