Live data from Hacker News

How I am deeply integrating Emacs

joshblais.com

121–130 of 173 posts

Re: How I am deeply integrating Emacs

#121

I love Emacs. My first intro to it was on the Braille Plus Mobile Manager back in like 2008 or so. That was a beautiful device that ran Linux and was developed for the blind. There's been nothing exactly like it since. The BT Speak is a poor ematation that runs on a Raspberry Pi 4 and is sluggish because Linux accessibility is hard and not optomized for such low-power devices. Anyway, I began learning Emacs commands…

I am amazed by you, and humbled too. Thanks for sharing your experience!

Re: How I am deeply integrating Emacs

#122

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

[deleted]

Re: How I am deeply integrating Emacs

#123
post #118
post #19

Earlier quoted context omitted.

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

> a vending machine

It gave me orange. I wanted lemon-lime. Another one swallowed my coins.

But to be pragmatic, many tasks need more than one thing to be done (I think most of us compose our e-mail in a program which sends said e-mail out as well, for example), so the inflexible tools can be insufficiently convenient at times.

Also, consider the humble scissors. They do one thing and do it well unless they're the wrong handedness. Try using a right-handed pair with your left hand, it's terribly unwieldy.

Re: How I am deeply integrating Emacs

#124
This is a very good feature/workflow based intro

As the years go by one realizes that even these “features” like Org, Dired, etc are just illusions in some sense. They’re just Elisp code someone else wrote and put a name on. You can take or leave them or write your own code that changes/advises/customizes them.

It’s all up to you. You don’t need a blessed “plugin” architecture, some PM at IntelliJ’s permission etc

At some point one realizes the “visual shell” nature of Emacs. Every single piece of text on screen can be programmed to “mean something” (see also: “recognizers” from human interface research) and have actions taken on it either by the editor itself, or external processes / scripts you call with a command. If it’s common enough, make a key binding. It’s your house, do what you want

Depending on how you set up your environment, you may never have to look at text again that you do not have this level of power over. You are no longer at the mercy of “application developers”

I’ve been using it since 2005. Guess how many of 2005’s popular editors even still exist

My recommendation to anyone trying to actually learn is start with the full vanilla config, weird default keybindings, etc, go through the built in tutorials, and only add things to your config that you write and understand yourself. Understand it in its own terms. The plethora of packages, etc have “cool features” but impede learning by adding mountains of complex dependencies that are opaque to the beginner and cause confusion IMO

Re: How I am deeply integrating Emacs

#125

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…

Use what works for you. My few cents: Pretty much every ergonomist will tell you that mouse use causes more ergonomic pains than keyboard use. They literally tell you to memorize as many keyboard shortcuts as possible. > but clicking to jump to a position on screen can often be a lot faster than I search It can be, but is it the norm? I have a distinct memory - over 15 years ago - of reading a blog post that recommen…

> Pretty much every ergonomist will tell you that mouse use causes more ergonomic pains than keyboard use. They literally tell you to memorize as many keyboard shortcuts as possible.

Right but that's because their advice is tailored around the "average" computer usage, which is lots of mousing to click around in buried menus and hunting and pecking on the keyboard. RSI is just what it says: Repetitive Stress Injury. The best palliative for RSI is to stop repetitively stressing the same tendons and ligaments. So that means breaking up your keyboarding with some mousing. Alternating which finger and which hand you use. Getting up and stretching and taking breaks. Maybe using some dictation in lieu of using an input device.

If you're writing text, your mousing is mostly going to be scrolling, unlike doing something like CAD or design or illustration. In that context, the context of using emacs, mousing is fine.

And realistically, for my own RSI, exercise was the real solution. Rock climbing increased the blood flow to my wrists significantly. That's probably the only real solution to RSI.

Re: How I am deeply integrating Emacs

#126
post #124

This is a very good feature/workflow based intro As the years go by one realizes that even these “features” like Org, Dired, etc are just illusions in some sense. They’re just Elisp code someone else wrote and put a name on. You can take or leave them or write your own code that changes/advises/customizes them. It’s all up to you. You don’t need a blessed “plugin” architecture, some PM at IntelliJ’s permission etc At…

I used it between 1995 and 2006 as replacement for not having proper IDEs on the UNIX systems I had to work on.

With that requirement going away, I left Emacs behind.

Re: How I am deeply integrating Emacs

#127
Re: author's comments about exwm

imho exwm is imho fundamentally flawed, especially when running emacs or doing emacs stuff inside it. You end up in a battle over keybindings, etc.

I think a better model would be a window manager in a separate process that your emacs elisp processes can communicate with over IPC.

Re: How I am deeply integrating Emacs

#128
post #49

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…

> Regardless, the keyboard vs mouse thing always struck me as one of the many dumb flamewars that tech people engage in. Certainly. I wouldn't argue that text editing speed is a relevant bottleneck in software development, actually. To me it's enjoyable and that's a big factor in my productivity, but that's just me. My point was mainly that the keyboard (efficient use is difficult to learn) vs mouse (arguably easier…

> My point was mainly that the keyboard (efficient use is difficult to learn) vs mouse (arguably easier to learn) is just one example of why the current desktop metaphor won over something I'd say is designed for heavy keyboard use (even if usable without it).

This comparison of the mouse and keyboard seems to have programmer tunnel vision. Anything involving layout, graphs, media editing (audio, video, image), 3D modeling, and drawing I think we can all agree are better served by the mouse (in tandem with the keyboard). It's really the mouse and keyboard together that's made the computer such a successful creative medium. Programming seems to me like a bit of anomaly in that it's one of the few creative tasks that doesn't benefit greatly from a mouse.

Re: How I am deeply integrating Emacs

#129

I love Emacs. My first intro to it was on the Braille Plus Mobile Manager back in like 2008 or so. That was a beautiful device that ran Linux and was developed for the blind. There's been nothing exactly like it since. The BT Speak is a poor ematation that runs on a Raspberry Pi 4 and is sluggish because Linux accessibility is hard and not optomized for such low-power devices. Anyway, I began learning Emacs commands…

Amazing.

I really want to make my web apps as accessible as possible for the blind.

Could you tell me what are the worst and best practices in this regard?

Any article you recommend?

And how could I test accessibility of my web apps, for the blind? Perhaps try to navigate it with screen reader and keyboard only?

Re: How I am deeply integrating Emacs

#130

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…

Use what works for you. My few cents: Pretty much every ergonomist will tell you that mouse use causes more ergonomic pains than keyboard use. They literally tell you to memorize as many keyboard shortcuts as possible. > but clicking to jump to a position on screen can often be a lot faster than I search It can be, but is it the norm? I have a distinct memory - over 15 years ago - of reading a blog post that recommen…

this blog post?

https://sites.google.com/site/steveyegge2/effective-emacs

Get in the habit of using Ctrl-r (isearch-backward) and Ctrl-s (isearch-forward) for moving around in the document. Whenever you need to jump the cursor backward or forward more than about 5 lines, and you can see the target location, you should be using i-search.

To do it effectively, you don't necessarily need to search for the exact word where you want to put the cursor. Let your eye defocus slightly and take in the whole paragraph or region around the target point, and choose a word that looks reasonably unique or easy to type. Then i-search for it to navigate to it. You may need to hit Ctrl-r or Ctrl-s repeatedly if your anchor word turns out not to be unique. But Emacs will highlight all the matches, so if there are more than a couple of them, Ctrl-g out of the search and choose another anchor word.

It's difficult to overemphasize how powerful this technique is, once you've mastered it. Mastering it simply requires that you do it repeatedly until your fingers do it "automatically". Emacs eventually becomes like an extension of your body, and you'll be performing hundreds of different keystrokes and mini-techniques like this one without thinking about them. It's comparable to the hundreds of subtle techniques you acquire for driving a car well.

Post reply on HN