Live data from Hacker News

I have officially retired from Emacs

nullprogram.com

191–200 of 221 posts

Re: I have officially retired from Emacs

#191

Earlier quoted context omitted.

> I don’t see a particularly clear winner between them Because deep down they are incomparable categorically. Separate the tools from the foundational ideas and you see the very different value. Vim-model of text navigation is fantastic, practical, brilliant idea. Once you grok it - you can take it anywhere. You can use it in your editor, browser, terminal, WM. Emacs is rooted in another, even more brilliant idea of…

You can take modal editing anywhere, but that doesn't mean you should.

Huh. So what do you think "modality" is? Emacs is inherently a modal editor. Transients, isearch, chords (when it expects another key after C-c or C-x) - that's all modality. VSCode has tons of modal features built-in - multi-cursor/selection state; snippet tab stops, rename symbol, breadcrumb nav - all that modality. Submlime has a genuine first-class modality built into its core.

The idea of vim navigation simply offers some structure and mnemonics - why should I learn hundreds of different ways to deal with text in every app, if there exists an established, well tested, popular way that can simplify it all?

Re: I have officially retired from Emacs

#192
post #184

Earlier quoted context omitted.

Of course. I've tried different AI packages and currently gptel and ECA remain the main ingredients. This is a quickly changing landscape, and things may change, but for now it feels very good. I like gptel because it's enormously extendable and exploitable - it allows me to send LLM requests from just about anywhere - I could be typing a message (like this very one) and suddenly in need of ideas for how to phrase so…

I’d like a concrete example on how you’re actually controlling emacs with LLMs. Is ECA the part that does that?

gptel has the built-in elisp eval tool. ECA doesn't have it built-in, I use my custom MCP (I posted the link in the comment above).

Re: I have officially retired from Emacs

#193

Earlier quoted context omitted.

Can't agree more. Lisp was discovered/invented for the purpose of AI research. Of course, modern neural nets and transformers is a big departure from McCarthy's vision of AI - logical, interpretable, symbolic. However, if the current wave of AI hits a wall - and many serious researchers think it will, or already has at the margins - there's growing interest in neurosymbolic approaches that combine neural nets with sy…

Well, this is because "normal" programming languages are one step above AST. So LLM has to work with program text, which is much easier than regular human text, as it is constrained to well defined number of keywords and grammar, but still this is pretty variable. Lisp is just AST, so it is one level lower. I guess that at some point LLM-s will stop writing human-readable code, as this is additional obstacle, they wi…

> LLM-s will stop writing human-readable code, as this is additional obstacle, they will work directly with binaries

LLMs already internally operate on embeddings - dense floating-point vectors in high-dimensional space - they don't need "intermediary language" - there's no discrete symbolic reasoning - it's continuous numerical computation all the way through.

If you made an LLM to generate bytecode, you'd need it to "read" bytecode tokens as context for predicting the next bytecode token. The model would need to have learned the statistical patterns of bytecode sequences, which are far less structured and too arbitrary than (human readable) source code. Bytecode is optimized for machine execution, not for having patterns for a next-token predictor.

So Lisp actually is the sweet spot in the direction you're gesturing at, but you got the direction backwards. You don't want to go lower (toward bytecode), you want to go toward representations that have: fewer syntactic rules, structural, and high in local predictability. That is basically Lisp. The AST is the syntax. There's no parsing ambiguity, minimal syntactic variation, and the structure is self-describing. The model spends fewer tokens on syntactic ceremony and more on semantic content. That is why LLMs are surprisingly great at generating Elisp and Clojure code.

Re: I have officially retired from Emacs

#194
post #163

Earlier quoted context omitted.

Can't agree more. Lisp was discovered/invented for the purpose of AI research. Of course, modern neural nets and transformers is a big departure from McCarthy's vision of AI - logical, interpretable, symbolic. However, if the current wave of AI hits a wall - and many serious researchers think it will, or already has at the margins - there's growing interest in neurosymbolic approaches that combine neural nets with sy…

Clojure? Forget it, SBCL would be better for that task. Just look what could be done with Coalton.

"Technically superior in isolation" argument, unfortunately (as relatively short history of our field shows) rarely manifests in tools being actively used by many. Coalton's type system is absolutely more powerful than what Clojure offers. But language choice in production is dominated by libs, hiring, tooling, and operational maturity - Clojure wins all of those handily. Unfortunately, the same argument can be made about Clojure and... I dunno, Python. Clojure occupies a middle, nicely defensible ground.

SBCL is a fine choice for a solo project or research; recommending it over Clojure for a team/production setting though requires ignoring most of what actually matters. Every language stack choice is a bet on where the tradeoff between power and pragmatism pays off for your specific context. Clojure's bet is a more conservative than CLs, yet both may seem (for some) more aggressive bets than just using Python. It all depends on the team.

Re: I have officially retired from Emacs

#195

Earlier quoted context omitted.

Ah come on, guys, let's talk pragmatically. "Malleable editor as an OS layer" has benefits beyond subjective reasoning. Emacs has had M-x shell-command and arbitrary elisp eval forever. A metacircular MCP isn't some new capability class. Even if I didn't use Emacs - my shell, my editor, my browser extensions, my npm install, my VSCode plugins, my curl | bash from yesterday - they all have the same access. Singling ou…

There are many better sandboxing options than docker (in terms of security and/or ease of use), and it sounded like you weren't doing sandboxing.

> it sounded like

That exactly what it is. People's reaction is a default pattern-matching on "AI executes code on your machine." - Ay the horrors!. They have no idea of my cybersec posture, my network perimeter - vpn, firewall, malware protection, etc.

It's not like I'm giving the LLM root shell. It's as if I said: "I learned how to juggle three chainsaws - so fun...", and people reacted as if I suggested doing that in a school bus full of children going 140kmh down the highway.

It's culturally fitting for HN - signaling caution is always socially safe. Nobody ever got criticized for saying "that sounds risky". But "I evaluated the risks and accepted the tradeoffs for my situation" is the actual, pragmatic engineering. Security is risk management, not risk elimination.

Re: I have officially retired from Emacs

#196

Earlier quoted context omitted.

So? My terminal has the same full system access. If I didn't use Emacs, I'd be using Claude code in it. It's contained locally on my computer, I don't see any problem here. I use Emacs like my OS-layer. Why would I complain that my OS has access to something? It would be weird and annoying if it's the opposite.

Yeah, that's incredibly unsafe. You made a footgun machine and you're firing it with no shoes on. Don't run that on any machine with credentials you care about. At the very least, run it in Docker. It's not a security tool, but it's at least some kind of guardrail against data loss and exfiltration.

> Yeah, that's incredibly unsafe.

Having a browser on your machines is unsafe. The browser is a massively more dangerous attack surface than an Emacs-based LLM tool. What I have is a curated set of Lisp functions exposed to an LLM through a protocol I control, running in a single-user process, on my machine, behind my firewall. The attack surface is comically small by comparison.

Re: I have officially retired from Emacs

#197
post #70

My usage of emacs is so vim-like that I’ve tried switching a few times. Vim is definitely faster, and overlays and cursor placement is much simpler and more intuitive. But there were still feature gaps and configuration issues that prevented full adoption.

can you elaborate? Heavy vim user here, have considered using emacs in vim mode to quell a decades long nagging curiosity. Just need a compelling nudge.

I'm a die-hard vimmer. I use vim motions in my editors, my IDEs, my browsers, my WMs, my terminals. I use vim-like navigation system-wide - e.g. for the volume control I switch to "media" mode and press "j/k".

Neovim is great, I use it almost every day. But it just can't replace Emacs. That is the most annoying part of Emacs - there's simply no alternative to it. If you accept it with all its quirks and weirdness and embrace the malleability, stick with it for a while - at some point you may discover some enormous feeling of empowered liberation from years of bullcrap you had to deal with without even realizing.

Here's a comment I posted on /r/emacs couple of weeks ago:

So yes, Neovim is snappier, and so what? I'm genuinely curious, I consider myself a die-hard, hardcore vimmer. Yes, I use Emacs today, but I'm still a vimmer. I sometimes use Neovim too - having vim skills comes handy with pure terminal workflows.

So, honest question - why should it appeal to me - the idea of ditching Emacs and moving to Neovim (or whatever) full-time?

- I have a few thousand notes in my Org-Roam note taking system. My notes can contain anki-cards - my spaced-repetition content is just my notes; my pdf annotations - they are just my notes; my health records - are just my notes; I don't need to use Postman - my API investigations - are just my notes.

- I don't need to use Ansible, Chef or Nix to maintain my dotfiles - they are tangled from an .org file - I just need Emacs to bootstrap the whole system.

- I read Reddit and Hackernews in Emacs.

- I manage my email in Emacs.

- My Telegram is in Emacs.

- I search Google, Wikipedia, YouTube, DuckDuckGo, and more without leaving Emacs.

- I write everything in Emacs (even this very comment), because I have thesaurus, spellchecking, definition and etymology lookup, translation, dictionaries, LLM integration - I can ask AI at the point of typing text (in just about any buffer).

- My AI coding assistant is in Emacs.

- My PR reviews happen in Emacs. Everything git related happens in Emacs. I go through my GitHub notifications in Emacs.

- I watch videos with Emacs - it allows me to control them directly - I can speed up, mute, pause the video, extract transcript - all while taking some notes.

- I do my Jira in Emacs.

- I open and search through Slack threads in Emacs.

- I learn programming languages through exercism.io in Emacs.

- My file manager is in Emacs - I have tried so many different ones - mc, yazi, ranger - nothing beats Dired in customizability and capabilities.

- I access my browser history and even browse and switch tabs of my browser - in Emacs.

- I even OCR text out of screenshots with Emacs.

So now tell me, why should I care that there is something, anything, whatever - snappier, prettier, shinier, more popular? Why should I ever feel FOMO, if it can never do even the small subset of what my current system is capable of doing today?

Re: I have officially retired from Emacs

#198

Emacs is an outstanding, extremely powerful piece of software. It just lacks a decent editor.

Not ever remotely true. Emacs has one of the best plain and structured text editing ever known to humans. Buffer abstraction alone is a godsend. Indirect buffer editing allows you to edit any piece independently - e.g. I can edit code comments treating them as completely different thing - with different highlighting, fonts, behaviors, etc.

In what editor can you peak&edit folded text without unfolding it? Answer - only Emacs.

Ask someone who needs to write texts in Arabic or Hebrew - Emacs has far, far better RTL support.

Org-mode is just light-years ahead of anything else, nothing even comes close to it.

So, your stupid joke (if you really believe it) is on you, truly.

Re: I have officially retired from Emacs

#199
post #55

Earlier quoted context omitted.

Big same. I have been doing a lot of clojure development, and hooking up my app to a live REPL has given me an absolutely fantastic feedback loop for the LLM. I don't think a lot of people understand what they're missing.

> I don't think a lot of people understand what they're missing Very true. There's an enormous tacit knowledge gap. Check this out: I have to use Mac for work. My WM is Yabai, which is controlled via Hammerspoon (great tool on its own), which means I can use Fennel, which means I can have a Lisp REPL. MCP connected to that REPL can query and inspect every single window I have on my screen. It can move them around, it…

Ah, that's on Mac, but I forgot to tell you about the Linux. On Linux, I ran my modal-keyboard-toolkit controlled through babashka (clojure) with an exposed nREPL endpoint. That means I can query and control windows - their placement, change brightness and color temp. - all interactively, directly from my editor. I can write some conditional event loop, e.g., time-based color temp changes. Because I have a Lisp REPL - I can test out all the colors, squeezing the entire day into a minute - simulate, eval and preview the results - no saving, no reloading, no recompilation. Once satisfied - I can put the time markers accordingly - so colors change depending on the time of day.

Re: I have officially retired from Emacs

#200

Earlier quoted context omitted.

It doesn't have the (any?) diffing capabilities of magit, so it's not usable for me yet.

FWIW the lem editor (basically emacs in common lisp) has its own version of magit, called legit. https://github.com/lem-project/lem/blob/main/extensions/legi... But I guess if you're leaving GNU emacs, you're probably not eager to jump into another emacsen.

Thanks, I left due to rsi from the chords.
Post reply on HN