Remix.run Logo
▲ ohaodha 6 hours ago

I don't want to hate on this particular post, but I really dislike the great number of blog posts, videos, and articles that have a title which says "Why I do X in <some unconventional way>" where upon reading the blog post hoping to learn some useful feature that say, browsing the web in Emacs affords you (like closer integration between research and writing for example), you learn that the benefit in question is actually that the method is less useful than conventional means.

I think the idea that you do something in a more difficult or less convenient manner for the sake of "mindfulness" or "focus" is well-established, and what I hope for (and am always disappointed by the lack of) when reading such blog posts is an actually useful feature of the unconventional method in question.

The title of this blog post promises some usefulness from using Emacs as your browser, and upon reading, you discover that the "usefulness" is the inconvenience and impracticality of using it that way.

▲zahlman 5 hours ago | parent | next [-]

> you learn that the benefit in question is actually that the method is less useful than conventional means. … hope for … an actually useful feature of the unconventional method in question.

People write these things, and use these methods, specifically because they don't conceive of usefulness the same way you do.

In this case, the justification offered doesn't mention all the various keybinds that have been pushed down to the "how" section. But clearly the simplicity is a feature:

> D will download images locally, b goes back a page, a will save bookmarks. All of this makes browsing in eww truly enjoyable.

The point is the same as usual for TUIs: you don't have to switch over to the mouse and hunt out a button, as the necessary key is always literally at hand.

People who find this sort of thing "truly enjoyable" (what clearer statement is there of featurefulness!) commonly take it for granted and don't explain the virtues of it very well. That sort of explanation is found in think pieces about TUI design more generally.

TFA describes a goal of avoiding distraction. That is not at all the same thing as "inconvenience and impracticality". Clearly the author finds these keybinds quite convenient and practical. It's just that they don't cover a bunch of web interactions that you perhaps value, but the author doesn't.

▲ohaodha 4 hours ago | parent | next [-]

You mischaracterise me. I am an Emacs user and I use qutebrowser as my web browser, which uses Vi-like bindings and Python configuration. When forced by circumstance to use other browsers, I use browser extensions to add Vi-like bindings. I find it extremely efficient and enjoyable.

The keybindings aren't mentioned in the "Why?" section of this blog post, and clearly aren't the point of the post. You can get extensions to add Emacs bindings to full-featured browsers, and there's even the Nyxt browser which has Emacs keybinds and Lisp configuration.

The core reason listed in this blogpost for browsing this way is the very fact that it is less featureful and less convenient. As someone who uses Emacs, I know that eww isn't as convenient as a fully-fledged web browser and I know that sometimes the hard way of doing things can be beneficial. I found this blog post disappointing because it doesn't afford you any new information, nor tell anyone about any actually useful features about browsing in eww.

▲AndrewKemendo 5 hours ago | parent | prev [-]

This is why I find the whole emacs conversation confusing

You’ll have people who demonstrate their whole set up and interactions and hot keys and shortcuts and everything and then when you say OK well why would you do it like that it all boils down to:

“This extremely precise implementation works for only me and my specific workflow”

I found that it’s almost more useful to think about emacs users showing off their org mode bindings are basically like Warhammer players showing off their painted figurines

▲hughw 5 hours ago | parent | next [-]

You can possibly learn some new setting you can add to your own flow.

▲BeetleB 4 hours ago | parent | prev | next [-]

My config is loaded with things from posts like these.

That's their value.

▲mtlmtlmtlmtl 20 minutes ago | parent | prev [-]

I mean, I get what you're saying. There's an element of that with Emacs and super bespoke setups in general, of course.

But also, consider this: maybe they just have very specific, unusual needs that you're unable to relate to because they're very different from your lived experience. I'm not saying this as a criticism. I feel like most people struggle to comprehend just how different someone else's lived experience can be from their own. I certainly do. Usually, when I read these emacs setup blog posts, I'll dislike most of their setup, but often there will be some nugget in there I'll absolutely love, and then I might add that nugget to my init.org.

Let me try to explain my singular point of view. I have very severe ADHD-C, and GUIs always felt horrible for me to use. Especially big complex GUIs. Things like MS Office, Photoshop, big IDEs etc.

Why? Multiple things:

1. Visual processing:

ADHD can include strange visual processing or spatial reasoning problems. It's very hard for me to describe this one in a detailed manner, but suffice it to say, Icons don't make sense to me. Text does. I am capable of learning some icons, certainly, but certain ones never stick. For example, the protonmail web client has the reply and forward button displayed as arrows pointing in opposite directions, I always click the wrong one. Every time. And everytime I'm positive it's the right one and click it immediately. As I'm sitting here now, looking at an HN textbox, I can reason my way into understanding that to the western mind things flow from left to right, and so left should be reply and right should be forward. But when I'm actually there wanting to reply to an email, I hit forward every time without thinking. If on the other hand the buttons just said "reply" and "forward", this wouldn't happen. I can't explain it even to myself really. That's just how my brain brains.

2. I lose my train of thought extremely easily:

You know how sometimes when you walk into a room, you suddenly forget why you're in there? This supposedly happens to most people occasionally. For me it's more like 15 times a day, not just with rooms, but any sudden sensory transition. Like a pop up window. Ah yes. I'm in some stupid baroque GUI program. I realise I need to change a setting. I locate the settings button from the dropdowns, which every program seems to have in a slightly different place, big settings window pops up covering most of the main window. I immediately forget why I'm in the settings. I try to remember why for half a minute, and fail. I close the settings window and try to remember what I was doing before. 2 minutes later I remember which setting it was. I open the settings. I forget why I opened the settings again. Ok, annoying, but not that big a deal right? Oh but you see opening the settings is just the first roll of the dice. The settings window has 15 different tabs. And some of the tabs have buttons that spawn new sub windows, and even some of the subwindows have tabs(looking at you, Microsoft. What is wrong with you people?!). I call it menu purgatory.

3. Extraneous information distracts me very easily.

This one should be self-explanatory

4. My hand eye coordination is not fantastic, so I often click the wrong thing, which then feeds back into the wrong thing, which then feeds into 2 and 3 again. Keybindings don't require coordination, only muscle memory.

On a bad day, with a shitty piece of software like that, I can spend literally half the day locked in a cognitive battle of attrition with the software instead of getting work done. That's not an exaggeration.

Because I'm so hampered by what to other people is just minor annoyances, I need software that I can configure completely arbitrarily. No change can be off limits. That is almost never the case with GUI software, at least without cloning the source and patching it, figuring out the build system, possibly learning the implementation language. With Lisp software, the config file is really just a hotpatch. And Lisp is my favourite language, so yay. I would prefer Common Lisp, but beggars can't be choosers and Elisp isn't that bad once you learn to avoid the footguns. Certainly better than vimscript, which I've always found incomprehensible.

So that's why my setup is roughly this:

Never use GUIs with the exception of Firefox(I want to use Nyxt but I could never quite get past the learning curve, and there are still key features missing) and occasionally mpv(which is barely a GUI anyway). Everything else, find a good TUI. If you can't find one, find a shitty one for emacs and bend it to your will. This keeps (auto-) defenestration at a minimum.

▲jolmg 4 hours ago | parent | prev | next [-]

> I really dislike the great number of blog posts, videos, and articles that have a title which says "Why I do X in <some unconventional way>" where upon reading the blog post hoping to learn some useful feature that say, browsing the web in Emacs affords you (like closer integration between research and writing for example), you learn that the benefit in question is actually that the method is less useful than conventional means.

It wouldn't be unconventional if most found it useful. That doesn't mean the author themself doesn't find it useful:

>> I have seen in my own use of the modern browser (chromium/firefox) that it is far too easy to get distracted

They find EWW useful to cut distractions.

>> In addition to this, my belief is that we should make strides toward leaving behind Layer 8 of the internet - the limiting frontends of social platforms and locked away corners of the net that limit actual discourse (Discord, I’m looking at you). [...] The internet is just a delivery mechanism.

They also find it a useful way to stick to their ideals which I understand to be that they should be in control of the front-end and the internet is only to be treated as a delivery mechanism of information.

▲v9v 5 hours ago | parent | prev | next [-]

I'll go through some personal upsides to using eww.

The main utility I see in browsing the web through emacs is the potential to integrate it into your workflow. You can have your code/notes open in one buffer and have the website in another, which is useful for documentation, or an article you're following along, etc.

With gptel, it's easy to highlight part of a blogpost and ask an llm a question about it, or get it to rewrite or annotate the whole page.

With macros you can do basic automation, like this webscraping example here: https://nickdrozd.github.io/2018/10/17/web-scraping.html

An added bonus is that your keybindings for the rest of emacs are also valid here. (Though for that I've recently started using Glide, a firefox fork, and set all of its keymap to match my emacs bindings)

▲AndrewKemendo 5 hours ago | parent [-]

>You can have your code/notes open in one buffer and have the website in another, which is useful for documentation, or an article you're following along, etc.

I’m curious what the difference is between that and having pinned windows in Ubuntu

For example I’ll have sublime text, one terminal, a notepad, and a firefox window with multiple tabs, pinned to the four corners of my desktop

Everything You describe is possible without emacs so I’m genuinely trying to understand the appeal

▲iLemming an hour ago | parent | next [-]

> I’m curious what the difference is between that and having pinned windows in Ubuntu

The difference is the text consumption. Can you easily retrieve any text you're seeing on the screen into your editor?

Inserting any piece of text I see on the screen into my notes? A couple of keystrokes. I can grab text in any form, even if it's a frame in a YT video - I'd just select the area, snapshot it - Emacs OCRs the text out of it, which takes milliseconds. I fully control the playback of said video directly from my editor - rewind, pause, mute, speed up, extract transcript, etc. It is enormously liberating and empowering.

I have complete and utter control over text - I can send a query to an LLM in the middle of typing this very comment, without ever missing a beat. I can ask for anything - fact-check it, spell check it, reword it, explain it, give me different variations of the same sentence. I can replace part of it with diffing in-place. I can even start changing the behavior of Emacs itself, right there on the spot.

I can directly grab any part of the log of a process running in the terminal. Grep through it, semantically search through it with an LLM, whatever. Similarly, I can directly grab a piece of any text in Emacs and send it over to another app, e.g., as a command to run in the terminal.

> Everything You describe is possible without emacs

Everything is possible with Turing-complete languages, but Turing-completeness is a trap. It's all about affordability. What Emacs grants as a Lisp-REPL loop with a built-in text editor is lowering that affordability bar to the lowest imaginable minimum.

Have you ever thought: "What if I could change the 'Open File' dialog in Sublime so I can browse GitHub repos directly instead of folders and files?" This kind of thinking has probably never occurred to you - for an Emacs user, that is some prosaic, just-another-Wednesday kind of thought.¹

---

¹ https://www.youtube.com/watch?v=BDn8ak-8yIs

By the way fishing that url out of my browser history took a keystroke - of course Emacs can search through my browser history too - https://github.com/agzam/browser-hist.el

▲skydhash 5 hours ago | parent | prev [-]

> Everything You describe is possible without emacs so I’m genuinely trying to understand the appeal

The advantage is that it’s a single program with multiple windows with a shared list of buffers. So you can save transform your layout and save it, manipulate the content without any real boundary, unified bookmarks,…

Your WM can’t access sublime and firefox internals. And the last two can’t talk with each other.

▲AndrewKemendo 5 hours ago | parent [-]

> Your WM can’t access sublime and firefox internals. And the last two can’t talk with each other.

But why would I want them to as the default interaction?

I can ctrl-c > ctrl-v from one to the other trivially and ffx has console and inspector internals visible with one Function key press

▲BeetleB 4 hours ago | parent | next [-]

If you don't want to, then you don't want to. Understand you may want things others don't, and vice versa.

Although I don't browse the web with Emacs, I see the utility.

Tell me: How would you select some text, and with a keystroke, send the selected text to yourself via email, with the URL included and the title of the page in the subject line?

▲AndrewKemendo 4 hours ago | parent [-]

> Tell me: How would you select some text, and with a keystroke, send the selected text to yourself via email, with the URL included and the title of the page in the subject line?

I think the takeaway for me is that emacs is for people who get enjoyment out of building their own custom computing environment

The example you describe is something I would rarely do so building a process around it would be inefficient for me but if that’s where people want to spend time then great

▲iLemming an hour ago | parent | next [-]

> The example you describe is something I would rarely do

There is some tacit knowledge in here that is nearly impossible to convey in words. Your "rarely do" is the thought that subconsciously ignores the principle of least effort; there's an affordability gap, e.g., I am more likely to use a thesaurus simply because I have it built into my text editor, versus someone who has to reach for it in the browser/separate app.

> building a process around it would be inefficient for me

That's what you're missing. Emacs makes it incredibly cheap. It's a Lisp REPL. When you understand what it means in practice, it opens up incredible opportunities for exploratory computing. You're not "building processes around", you're essentially living in one mega-process, a simulation, a digital universe where you are a god, commanding change at will. Right now, as I'm typing this very comment, I noticed a tiny gap in the way how I'm using LLMs, so I'm changing this stuff on the fly, with the agent running things in the adjacent buffer while I'm finishing this comment. The crazy thing is that it doesn't have to compile, restart, ask me to pause typing, etc. It's applying changes to my editor live. By the time I finish typing the comment, it will probably have already built this feature, tested it out, and it will be ready for me to use, instantly.

▲BeetleB 4 hours ago | parent | prev [-]

> I think the takeaway for me is that emacs is for people who get enjoyment out of building their own custom computing environment

For long time users, that's the whole point of Emacs.

> The example you describe is something I would rarely do

I used to do it at work all the time (not with Emacs, but with AutoHotKey). Find a long article I'd really like to read, but don't want to waste time at work. With a keystroke, I'd quickly send the email to me with the URL etc.

▲skydhash 4 hours ago | parent | prev [-]

> But why would I want them to as the default interaction?

Some find it useful. One can write code in vim or sublime, the only differences are the specific actions to get it done and the user experience. People will lean towards one another, not for the capability to write code, but for how it’s done.

So what I’m trying to showcase is not the capability, but the Emacs ways of getting it done. You can also implement something with a WM setup or tmux (with w3m). But it’s a different feel and effort, so people like ones and dislike the others.

▲AndrewKemendo 4 hours ago | parent [-]

Makes sense!

▲bagacrap 3 hours ago | parent | prev | next [-]

Less distraction is a feature

▲agumonkey 3 hours ago | parent [-]

In 2026 it's almost a healthcare requirement to me.

▲bunabhucan 4 hours ago | parent | prev [-]

"I use emacs to brush my teeth" or whatever is like catnip for hacker news.