Live data from Hacker News

Toward a “modern” Emacs

lwn.net

471–480 of 539 posts

Re: Toward a “modern” Emacs

#471
post #211

Earlier quoted context omitted.

I am a craftsman, not a tool maker.

A craftsman makes his own tools. Not all of them, but some, whenever they see a possible improvement, or their work is novel. It's the assembly line worker that doesn't, and sticks to using the company-provided "industry standard" tooling. The assembly line worker doesn't need to make custom tools, because he/she has no agency - the worker's role is just to close a feedback loop in a well-defined industrial process o…

I know a fair number of craftspeople. The only one who made their own tools was my brother, who wound his own heater coils for his glass annealing furnace because it was too expensive to buy. Similarly, the only time I design a custom LED light is if I cannot buy what I want. And I'm really good at designing LED lights, I've been doing it for fifteen years.

If the goal is to make furniture, or a glass flask, or a pair of socks -- why would you think those skills overlap with the skills required to improve a band saw, build a torch head, or manufacture knitting needles? They're not even using the same broad area of skill.

It is lucky that you can change software so easily, but I think calling anyone who doesn't feel it is a good use of their time to customize one tool instead of just using a different one an "assembly line worker" is quite insulting, mastering a tool doesn't necessarily require being able to manufacture it. I could not manufacture a pen but I'm pretty good at writing =P

Re: Toward a “modern” Emacs

#472

Earlier quoted context omitted.

The main problem with emacs is that while it's praised for being a programmable lisp environment, it's not a really good one. It doesn't have widgets, decent rendering engine with scene graph and hardware accel, it's single threaded, the language is clunky. You really can't make decent applications in emacs, only text with embedded images and primitive buttons, that blocks and stalls all the time. It really needs som…

I don't think Emacs needs to be GTK

Emacs needs to be contemporary framework, implementing modern ideas of how to organize and optimize stuff.

Software engineering and hardware advanced a lot in the previous 40 years in all the directions: PLs, GC algorithms, UI rendering.

If Emacs wouldn't be a contemporary technology, people would simply choose another editor.

Re: Toward a “modern” Emacs

#473

Earlier quoted context omitted.

I am using Vim. Is it worth it to try emacs?

Here's what I do in emacs that makes me like it better than vim. If you want to do things like this, you should consider Emacs. If not, you are likely better served by Vim. - I write software with unit tests. I have a custom method bound to Shift-F5 that computes the test file associated with the current code file, and switches to the buffer. - I have a similar method bound to F5 that runs the tests for the current f…

Vim can do all of the above pretty easily. In fact, I have a mapping for json pretty-printing, filtering it with jq; mapping for autoformatting with black or other formatter depending on file type; a plug-in for undo history tree. I don't have configuration for running tests the way you do, but I know a guy who does something very similar in vim.

I don't think the things you describe are the differentiators for the Great Editors. For me it's more their phylosophies that make them stand apart: despite the wide usage, vimscript is far more clunky, narrow-scoped and less powerful than elisp. Which means that stitching together something complex is hard and awkward in vim. Emacs is far more suited for complex processing due it's nature of a lisp machine. The chords are awkward though. So, "emacs is a good OS, but it lacks a good text editor".

Re: Toward a “modern” Emacs

#474
post #340

Earlier quoted context omitted.

> I've never seen anyone who did the 2 minutes or two hours of work, went into a configuration, and changed these keys. I believe it's true: I don't think anybody could even dare trying to change the key combinations if all the help pages can help you only with the description "META v" means "scrolling down in x jumps" or whatever. In that case one spends time figuring out that these weird pages write each time "META…

How many typical Notepad users use ANY shortcuts as the basic keyboard operations? I'd say a tiny minority. A typical Notepad user that I've seen uses the mouse exclusively, and clicks around menu. Yes, that includes copy, paste, and save, the three operations that you'd think everyone would perform on keyboard. But, say, 50% of the users don't even do that. For 40% these three shortcuts are pretty much everything th…

> No amount of crippling Emacs would help there. It can only spoil it for existing happy users.

I am surely against "crippling."

The initial topic of the discussion was how to make Emacs accessible to the new users. I don't suggest making fixed changes to anything, only allowing somebody to easily select different defaults which correspond with the keyboards available today. Today's keyboard has no meta key. Old keyboards didn't have a lot of keys that today's exist and have expected behavior in GUI -- potential Emacs user should have a possibility to turn on "consistent" behavior for everything that can be consistent, and the help should be easy to read without having to divine what META key in the "easy" case could even mean.

Of course the old users should be able to use old behavior.

Re: Toward a “modern” Emacs

#475

Earlier quoted context omitted.

A craftsman makes his own tools. Not all of them, but some, whenever they see a possible improvement, or their work is novel. It's the assembly line worker that doesn't, and sticks to using the company-provided "industry standard" tooling. The assembly line worker doesn't need to make custom tools, because he/she has no agency - the worker's role is just to close a feedback loop in a well-defined industrial process o…

I know a fair number of craftspeople. The only one who made their own tools was my brother, who wound his own heater coils for his glass annealing furnace because it was too expensive to buy. Similarly, the only time I design a custom LED light is if I cannot buy what I want. And I'm really good at designing LED lights, I've been doing it for fifteen years. If the goal is to make furniture, or a glass flask, or a pai…

By making your own tools I don't mean making your own knitting needles or torch head - though some do that too. I meant making custom workbenches, custom harnesses for the parts you're working on, modding the tools to be more ergonomic or to serve a different purpose than intended, etc. This is all "making your own tools" too.

I have a woodworker in my family and from what I observed watching him at work, he mods his tools for ergonomics, and if the piece he's working on is tricky to use with his machines, he constructs the necessary affordances to make it easier.

Similarly in programming, you won't get far if you only keep to what your IDE offers you out of the box. Configuring your IDE, writing scripts, writing software that automates your work - it's all part of the craft.

Re: Toward a “modern” Emacs

#476
Maybe I can offer an interesting perspective. Compared to most readers on this site, I’m likely on the younger side, I’m 20, at a university, and I’ve been programming since I was ~14.

I used VS Code for the majority of my freshman year assignments, but decided to switch to emacs during my sophomore year, mostly because I’d heard interesting things about org mode, magit, and other packages, and I had a system programming class coming up that would require me to SSH into a VM and finish assignments on the VM.

The initial muscle memory shift was scary, I repeatedly gave up on learning emacs, only to come back a couple days later and attempt it again. I started with Spacemacs/Doom Emacs, but both assumed I knew vim, and I found feature discoverability to be complicated. The fact that many packages were included made things more confusing, I tried to figure out what helm and Ivy were, and how to configure things, etc.

The only time the process really stuck for me was installing vanilla emacs, reading a couple of tutorials on how the extension system worked, and just forcing myself to use it for every assignment I had. The built in tutorial was handy but I still don’t use the navigation commands most of the time. Nowadays, I can’t get out of emacs, I read my email in it, I use org mode for everything, and have it synced to my phone, I used lsp-mode at an internship this summer where I was writing Go, I’ve got autocomplete set up, etc.

While an easier experience would help get people into emacs, I think the fact that you can really customize it in any way you want initially forces you to learn a lot more about your editor than any other editor. If I want autocomplete, I need to go figure out how to set it up, but there’s a plethora of resources. It teaches you how to be a better developer, always looking for new packages and sharpening your tools.

Re: Toward a “modern” Emacs

#477
post #211
post #197

Earlier quoted context omitted.

Or you can learn about the magic and wield it.

I am a craftsman, not a tool maker.

I'd argue you're not a true craftsman until you've started making your own tools, or at least tailoring generalized ones, to better suit your personal workflow.

Re: Toward a “modern” Emacs

#478
post #474

Earlier quoted context omitted.

How many typical Notepad users use ANY shortcuts as the basic keyboard operations? I'd say a tiny minority. A typical Notepad user that I've seen uses the mouse exclusively, and clicks around menu. Yes, that includes copy, paste, and save, the three operations that you'd think everyone would perform on keyboard. But, say, 50% of the users don't even do that. For 40% these three shortcuts are pretty much everything th…

> No amount of crippling Emacs would help there. It can only spoil it for existing happy users. I am surely against "crippling." The initial topic of the discussion was how to make Emacs accessible to the new users. I don't suggest making fixed changes to anything, only allowing somebody to easily select different defaults which correspond with the keyboards available today. Today's keyboard has no meta key. Old keyb…

But that is certainly not only possible, but available today in Emacs. It's here. Use it and evangelize it if you like.

Re: Toward a “modern” Emacs

#479

Earlier quoted context omitted.

I know a fair number of craftspeople. The only one who made their own tools was my brother, who wound his own heater coils for his glass annealing furnace because it was too expensive to buy. Similarly, the only time I design a custom LED light is if I cannot buy what I want. And I'm really good at designing LED lights, I've been doing it for fifteen years. If the goal is to make furniture, or a glass flask, or a pai…

By making your own tools I don't mean making your own knitting needles or torch head - though some do that too. I meant making custom workbenches, custom harnesses for the parts you're working on, modding the tools to be more ergonomic or to serve a different purpose than intended, etc. This is all "making your own tools" too. I have a woodworker in my family and from what I observed watching him at work, he mods his…

I wouldn't call anyone who doesn't feel it's worth the investment to customize something an "assembly line worker", it implies that they aren't doing creative work with the tool because they happen to be more focused on the project than the tool. It's just insulting and I don't get why you'd bother to go that far.

I also don't know why you'd draw any kind of line at "modified own tool". Building your own 3d printer doesn't make you creative if you're using a kit, it's the parts you make that are creative or not. Classify based on what someone is doing with the tools, not the tools themselves, that's just a cargo cult.

Re: Toward a “modern” Emacs

#480
post #48

Earlier quoted context omitted.

Just today I edited a file which basically consisted out of a line with almost 2 million characters, my emacs was basically unresponsive for a longer time. This amount of data shouldn't slow down a modern machine that badly.

M-x find-file-literally

What is this supposed to change?
Post reply on HN