Live data from Hacker News

How I am deeply integrating Emacs

joshblais.com

111–120 of 173 posts

Re: How I am deeply integrating Emacs

#111
post #14

Earlier quoted context omitted.

For me, the power of Emacs is mainly that I can do everything with the keyboard, which is not only much faster, but also - to me - much more enjoyable than going through visual menus with the mouse. For someone not good with the keyboard, it's probably a nightmare. I suppose it's good for power users and terrible for casual users, and I don't know if there's any way to really build one user interface that works equal…

When I got into emacs 20+ years ago the "use only the keyboard" thing was a huge point of pride and to this day I don't understand why. Who cares? I use emacs because I can code the entire environment. Fundamentally the mouse is just a form of modal editing. Emacs supports this in spades of course, and god-mode is my modal input minor mode of choice, but clicking to jump to a position on screen can often be a lot fas…

There's a ton of comments here saying the keyboard is more ergonomic than the mouse, I've never heard that before and it feels wrong on its face (it's called repetitive strain injury, using multiple forms of input should helpful).

But generally, please if you believe this provide some kind of source.

Re: How I am deeply integrating Emacs

#112

> I have seen what people are capable of doing when their tools get out of the way, and they are free to just create. This is how world class athletes, musicians, artists, writers, and of course programmers take what is in their mind and translate it into reality. I think this is a fallacy. If you approach the question of how these people achieve the things they do with a bias towards tooling then you'll come to the…

Seems particularly funny in an article about Emacs, a piece of software that lets you get in situations where some portion of your "just create" time becomes "managing my custom emacs, please don't break".

One way to look it is to approach it as a creative practice. A good part of any practice is devoted to developing technique.

Some are just fine with a standardized but unoptimized tool while others are fascinated by building their own high-flying TUI. The journey is the destination. If all you create is a config file, it still counts.

Re: How I am deeply integrating Emacs

#113

Earlier quoted context omitted.

When I got into emacs 20+ years ago the "use only the keyboard" thing was a huge point of pride and to this day I don't understand why. Who cares? I use emacs because I can code the entire environment. Fundamentally the mouse is just a form of modal editing. Emacs supports this in spades of course, and god-mode is my modal input minor mode of choice, but clicking to jump to a position on screen can often be a lot fas…

> Who cares? People with RSI from constantly reaching for a mouse.

Ah yes, stop Repetitive Stress Injury by reducing variation and increasing repetitive motions.

Re: How I am deeply integrating Emacs

#114
post #37

A question for the heavy Emacs users: What's your take on opinionated distros like Doom Emacs or Spacemacs? I've been doing my daily journaling and task management on Emacs for while now, using Doom Emacs. Rationale was that it'd be mostly pre-configured to a sane standard and that, for actual text editing, I'm a long time vim enjoyer, so evil mode is great there. However I always feel that when I go beyond the safe…

IMO, they're a great way to get started without having to invest too much time up-front. On the other hand, that was 10 years ago and it's a LOT easier to throw together a usable config nowadays; with LSP + built-in tree-sitter modes, you no longer need 3 packages per language plus a bunch of configuration glue.

Re: How I am deeply integrating Emacs

#115

Re EXWM and: > Emacs is single threaded, therefore if anything in the system hangs, the whole system hangs For development work I haven't found this to be an issue. Generally when coding I use very few X apps - pretty much just a web browser and maybe occasionally a PDF preview or docs browser. I don't think I've ever had a problem with the single-threaded behaviour blocking window management there. (And as an aside,…

I live in EXWM. I absolutely love it as a coding environment. EXWM + helm + projectile. I mainly use v-term for cli, but I have always been interested in learning eshell, just never got around to it. I have been thread-locked on occasion, and when that happens it is frustrating. I can sometimes manage to switch to another session to kill processes and avoid restart, but not always. Still, I wouldn't leave EXWM. Maybe…

If you want to try eshell, try combining it with EAT (eat-eshell-mode).

> Maybe in my retirement I will end my career by helping to make emacs + EXWM multi threaded. I am guessing that is a daunting project, but it sure would be fulfilling.

This isn't fixable with threads, unfortunately. The issue is that:

1. Emacs e.g., launches a process with call-process. This blocks EVERYTHING (including other threads). 2. That process wants to map the window but EXWM can't respond to this request because Emacs is blocked. 3. The call to call-process never returns because the process can't create its window.

You'd have to fix Emacs to not block everything in cases like this, but that has been tried before: https://mail.gnu.org/archive/html/emacs-devel/2023-06/msg007...

At this point, I think the right answer is to write a minimal out-of-process window manager (e.g., a wayland compositor).

1. During normal operation, it would behave like EXWM and ask Emacs how to manage windows, etc. 2. In special cases (TBD), it would behave autonomously, acting like a standard floating window manager until Emacs becomes responsive again.

Re: How I am deeply integrating Emacs

#116
post #37

A question for the heavy Emacs users: What's your take on opinionated distros like Doom Emacs or Spacemacs? I've been doing my daily journaling and task management on Emacs for while now, using Doom Emacs. Rationale was that it'd be mostly pre-configured to a sane standard and that, for actual text editing, I'm a long time vim enjoyer, so evil mode is great there. However I always feel that when I go beyond the safe…

I have tried Doom Emacs in a Debian VM on Windows host, because that was the opportunity to install a new Emacs thing for me (to code while playing a game). There Doom Emacs was not stable. Sometimes it just crashed and one time I even lost a whole function I wrote, because somehow it doesn't do the same backup file thing Emacs usually does. The keybindings were nice, but the stability requirement I have overrules it…

[dead]

Re: How I am deeply integrating Emacs

#117

Re EXWM and: > Emacs is single threaded, therefore if anything in the system hangs, the whole system hangs For development work I haven't found this to be an issue. Generally when coding I use very few X apps - pretty much just a web browser and maybe occasionally a PDF preview or docs browser. I don't think I've ever had a problem with the single-threaded behaviour blocking window management there. (And as an aside,…

I do have a wandering eye for EXWM, it probably would require my skill with emacs to increase and an optimization of my config so as to defer heavy tasks etc. If you have any suggestions on how to get there, I am all ears! The more I use emacs, the more I want to make my entire computer emacs.

You likely don't need to optimize anything; Emacs has seen some pretty significant optimizations recently (native Emacs Lisp compilation, tree-sitter modes, better handling of long lines, etc.) so performance is rarely the issue.

However, you do need to avoid call-process (spawning blocking processes) as much as possible. Also, my experience with TRAMP has been pretty awful due to the fix for https://debbugs.gnu.org/cgi/bugreport.cgi?bug=12145 (literally: TRAMP blocks all of Emacs while waiting on a network connection).

Re: How I am deeply integrating Emacs

#118
post #19
post #5

Earlier quoted context omitted.

Emacs is great for people who are fine tinkering with their tools, and adjusting them to their needs and tastes. Emacs improves my quality of life quite a bit. A lot of people hate that, they want a tool that has all relevant to their tasks front and center, all irrelevant invisible or nonexistent, and zero options to tinker with. It should just work, and preferably never change. A middle ground are the browsers that…

> A lot of people hate that, they want a tool that has all relevant to their tasks front and center [...] A lot of people don't even know how to use their tools properly. I remember when I was teaching a number of Perl courses to programmers, they where joking about me using emacs while they where using vi or vim. But while I watched them while they did their exercises, I constantly heard the "bing" sound when the cu…

I'm not talking about hyper-flexible tools like Emacs or Perl. I mean tools that do one thing, and do it well, with zero tweaking needed, or even allowed. A hammer, a hacksaw, a copy machine, a vending machine, software like age, or like notepad.exe. They can be learned end to end in a rather short time, and if you pick a hacksaw in a different workshop, it's almost guaranteed to work exactly the same as yours.

Somehow in the same vein, some people prefer to write in C and tell the machine what exactly it must do, on a very low level, instead of picking an abstraction-rich language like Typescript or C++ or, well, a Lisp, where you typically operate in abstractions which you need to tweak to express your solution elegantly and correctly, but not very directly.

Re: How I am deeply integrating Emacs

#119

The most seamless capture-from-anywhere workflow I struck upon is to have a shortcut on my phone's home screen. When tapped, it takes my dictation, transcribes it, and saves it to an inbox.org file with an org-syntax timestamp, synced to my main computer. Basically the notes have the same format that org-mode uses to save notes placed in the logbook. But you can also make them as individual TODO headings or whatever.…

I'd be very curious to know more about the shortcut you describe. This workflow would work incredibly well for me. I already have my notes synced via syncthing, and capture with Orgzly Revived, but auto-transcribed captures would be a gamechanger.

Re: How I am deeply integrating Emacs

#120

> I have seen what people are capable of doing when their tools get out of the way, and they are free to just create. This is how world class athletes, musicians, artists, writers, and of course programmers take what is in their mind and translate it into reality. I think this is a fallacy. If you approach the question of how these people achieve the things they do with a bias towards tooling then you'll come to the…

Maybe it's a fallacy and maybe it isn't. But I often hear people say "I don't use tool X because it doesn't actually increase my productivity". X is emacs or debuggers or profilers or Linux or version control or code comments or whatever. And after observing such people work over time I decided that most of them are just trying to justify their laziness. YMMV.
Post reply on HN