[–] jwr 1 day ago
[–] TFNA 1 day ago
[–] cyrialize 1 day ago
For example, corfu [0] versus company [1]. Company works with capf, but you can also write your own backends for it (specific to company). Corfu also works with capf, but all backends are capf functions instead of a corfu specific backend.
Another good example is eglot [2] versus lsp-mode [3]. Eglot is actually packaged with Emacs now.
There's also other stuff, like vertico [4] (and others that are recommended to download) versus helm/ivy.
I also want to mention that packages that hook into Emacs more don't necessarily mean that they're better. From my POV it's more like you get a lot more things for free and the documentation you dive into will be Emacs specific instead of package specific. It all comes down to preference.
Vertico/Counsel/Orderless is very nice, but Helm and Ivy are fully featured (I always forget how much Helm has for you).
I use corfu, eglot, and vertico now. I have thought about going back to helm and company, especially since I was very familiar with company's backends for a long time.
[0]: https://github.com/minad/corfu
[1]: https://github.com/company-mode/company-mode
[2]: https://github.com/joaotavora/eglot
[–] iLemming 1 day ago
In practice we're seeing the biggest waves of development in years. r/emacs gets daily, daily! announcements of new packages. Many of them, if not most, are not some AI-sloped trash - they are very useful. Some package makers go above and beyond - even though vibe-coded, they still show good design decisions, proper tests, hand-written documentation. Canvas stuff most likely wouldn't be possible without LLMs.
[–] PuercoPop 1 day ago
Literally unsubscribed from /r/emacs because it was, in fact, trash.
Haven't used the canvas patch but afaik minad didn't use LLMs to write it.
[–] iLemming 22 hours ago
Oh, I stand corrected. I was confused, I thought Divya did it experimentally first, for the Emacs Reader. Turns out minad really was the one who had the original prototype, and Divya wanted to use it in the Reader, then multi-people effort to make it work on Android, Mac and finally making it into the master branch. And yes, no LLMs - at least nobody publicly mentions any use of them.
[–] bluGill 1 day ago
This is a good thing. Custom environments should be either minimal or upstream. Anybody should be able to sit down next to you and help you hack out a change. The more unusual/custom your environment is the less productive that is, and this more than balances out any possible gain you can make from custom setups. (don't forget to account for your cost to learn elisp and then make the changes!)
Somebody needs to make the correct setups. However most of us have better things to do.
[–] TFNA 1 day ago
[–] skydhash 1 day ago
[–] jupitr 1 day ago
I would say that loss of expertise in emacs-lisp is a significant loss, even if there continues to exist C-expertise globally.
[–] torben-friis 1 day ago
I wouldn't dismiss the help of lower friction of entry. Lots of recent Linux and neovim users due to how easy it is to debug an issue or edit a config now.
The larger the regular userbase, the more chances people gradually go deeper into the system.
[–] TMWNN 6 hours ago
DHH made the interesting point that the Unix standard of plaintext dotfiles and such are as if designed for AI.
[–] bch 1 day ago
I haven’t been all-emacs all-the-time for ages (I jumped back to the other editor after years of emacs), but hasn’t that super-elite group always been relatively small? We have to hope that the best of the next generation are going to self-select and be curious (and hopefully get the support they need from the established old guard) despite AI. We have to hope that the kids (no matter their age) will be alright.
[–] gpderetta 1 day ago
Claude, the ultimate REPL.
[–] tetraodonpuffer 1 day ago
Saying "I want my editor to do X" and have it happen basically realtime on an editor I fully control is incredible. I have written elisp in the past, but it's definitely one of my weakest languages, so being able to leverage claude to do this is great.
[–] LoganDark 1 day ago
[–] iLemming 1 day ago
Clojurescripters for example can use nbb with the connected REPL and build web-scrapers while interactively "clicking" on buttons and exploring DOM directly from the editor.
In case of Emacs, it is not [just] an editor, technically it is a Lisp REPL loop with a built-in text editor. That's why you can virtually change any aspect of it on the fly, without ever having to restart it.
What's crazy that this allows to have pretty much anything "programmable". Even keyboard macros in Emacs are just series of Lisp instructions. You can compose a macro and then look at its underlying code, modify it and execute it.
[–] Karrot_Kream 1 day ago
Pre-LLM I used to spend the occasional afternoon at work when I was a bit demotivated just adding new features to my emacs or fixing small papercuts in the environment. Now I largely have the LLM work on it for me, though I separate out LLM code from my own by loading them separately in my config.
[–] jerf 1 day ago
[–] fmbb 1 day ago
Smalltalk is a development environment and an applications platform. The development tools are as extensible and user customizable as Emacs. And like Erlang it is also a runtime you can package software for. Any GUI or server software. For Emacs you can probably do the same, but I’m not convince many users would find the GUI familiar.
[–] a_e_k 1 day ago
But to answer your question, It's not just elisp itself, but rather that Emacs is basically a live elisp interpreter process with an editor UI on top, and the design is something of a ball-of-mud with few boundaries.
With typical systems you have plugins and they have fairly narrow interfaces. If you want to do something that's not covered by the plugin API, you're pretty much out of luck.
With Emacs, everything is open as a free-for-all to extend or redefine, so you can monkey-patch pretty much anything. Here's an example from my init.el:
(define-key global-map [remap move-beginning-of-line] 'move-beginning-of-line-dwim)
(defun move-beginning-of-line-dwim ()
"Cycles between the beginning of text on the line, the actual
beginning of the line, and the beginning of the body of a comment
on the line. If not in one of those three places, it starts at
the beginning of the text. Basically, it's a smarter HOME
command."
(interactive "^")
(comment-normalize-vars t)
(unless (and (bolp) (comment-search-forward (pos-eol) t))
(let ((cur (point)))
(beginning-of-line-text)
(if (= cur (point))
(beginning-of-line)))))
By default, the HOME key and Ctrl-a are bound to the `move-beginning-of-line` (defined in `simple.el`, one of the elisp source files that comprises vanilla Emacs). That `define-key` with the `remap` tells Emacs that everywhere in the global keymap that it sees the default `move-beginning-of-line`, it should replace it with my custom `move-beginning-of-line-dwim`.Alternatively, I could have just done `(defun move-beginning-of-line ...)` and simply redefined `move-beginning-of-line` wholesale and it would probably have worked fine. But this is a little cleaner, IMO. Either way, now when I hit HOME key it cycles between column 0, the first non-whitespace character, and the first character in the body of a trailing comment.
On top of that, I don't need to have a formal plugin or anything. I can take the above code, paste it into an elisp buffer somewhere, put the cursor somewhere in or after the `(defun ...), hit Ctrl-x Ctrl-e and now that function is defined within Emacs (and callable by other functions). Same thing with the `(define-key ...)`: put the cursor on it, Ctrl-x Ctrl-e, and the binding is updated. No ceremony.
And for testing, I can edit the function freely, hit Ctrl-x Ctrl-e and now my edited version is the live one in the running Emacs process. It's a lot like a scripting language REPL except within the editor UI.
And in addition, Ctrl-h Ctrl-f tells you about any function that Emacs knows, defaulting to whatever function name the cursor is on. So if I put the cursor on `move-beginning-of-line-dwim` and hit Ctrl-h Ctrl-f RETURN, I get:
<home> runs the command move-beginning-of-line-dwim (found in global-map),
which is an interactive interpreted-function.
It is bound to C-a and <home>.
(move-beginning-of-line-dwim)
Cycles between the beginning of text on the line, the actual
beginning of the line, and the beginning of the body of a comment
on the line. If not in one of those three places, it starts at
the beginning of the text. Basically, it’s a smarter HOME
command.
[back]
Same thing for Ctrl-h Ctrl-v for variables and settings. The documentation that it shows is generated directly from the doc strings and live editor state. Ctrl-h Ctrl-k will prompt for a key and show me a key binding, so Ctrl-h Ctrl-k HOME will give me the above documentation now too. Ctrl-h Ctrl-b shows all applicable keybindings, etc.Now I'd mentioned that you can monkey-patch anything. In practice that could cause chaos if you don't take care. A pretty common idiom in Emacs to do this more cooperatively are "hooks". These are just variables that some package, internal or external, defines to hold a list of functions to callback. The package iterates the list and calls them whenever the given event happens and you can add or remove your own function to the list to get that call. Think signals and slots, if you seen that design before. And these are pretty ubiquitous. As an example from my init.el:
(add-hook 'font-lock-mode-hook 'font-lock-mode-setup)
(defun font-lock-mode-setup ()
"Make fixme tags standout."
(unless (derived-mode-p 'special-mode) ; Don't break list-{faces,colors}-display
(font-lock-add-keywords nil
'(("\\<\\(?:AEK\\|NOTE\\|FIXME\\|TODO\\|XXX\\)\\>\\(?:([a-z]+)\\)?:?" 0 'font-lock-warning-face prepend)))))
So whenever syntax highlighting is started up in a buffer, it calls the font-lock-mode-hook callbacks, and that runs my code to register a regexp to highlight my initials and other fixme tags.And if all that's not enough, Emacs also has an "advice" system which lets you register code to run before, after, around, etc., any existing function. (And then later unregister it if you wish.) There's also a built-in elisp debugger to break into a function and step through it.
So basically, the key I'd say is that there's no real privileged code in Emacs. You can redefine pretty much anything to taste, and do so without even having to reload Emacs. The downside is that it's up to you to decide what to trust. It's on you to avoid breaking it, and you probably want to be choosy about the packages you run.
[–] knome 1 day ago
you can write (arbitrary (lisp)) and then just put the cursor after the end parenthesis and hit `Ctrl-x Ctrl-e` to evaluate it. It works just like you had typed out something in a python repl, only you can inspect, add, or update anything inside of your running copy of emacs.
As an example, I've had a chunk in my ~/.emacs for 15+ years that rewrites a few builtin functions to prefix all of the backup files emacs makes with a `.` because I don't like to see them in `ls` listings but still want them local to where they were made should I want to diff them against the current version. (the default is just a ~ suffix, and there's a common directory relocation many people use to pile them all in a backups directory somewhere)
As another, I wanted to be able to punch a button and drop the current datetime into a file, for files where I keep records and the like, so I added this:
(defun my-date-insert ()
(interactive)
(insert (substring (shell-command-to-string "date") 0 -1 ))
)
(global-set-key [f9] 'my-date-insert)
Albeit, you needn't shell out to get a date in emacs, I dropped in in their years ago on a whim and just used what I knew at that time to toss it together.[–] spauldo 1 day ago
It's really quite neat. Emacs is an easy way to play around with it, but if you're a CS language nerd Racket might be a good fit for you. And if you want this type of environment but without all the parentheses and polish notation, check out the Smalltalk implementation Squeak.
[–] skeledrew 1 day ago
[–] tetraodonpuffer 1 day ago
[–] urams 1 day ago
[–] jaaron 1 day ago
I use agent-shell and I love the ecosystem that's being created there:
https://github.com/xenodium/agent-shell
And for claude interacting back with emacs:
Some folks like having an MCP package. I agree that gives you a bit more control. But I live dangerously and run emacs in daemon mode and tell claude to just run emacsclient to execute elisp as needed. It works amazingly well. Claude has full visibility into my editor and together we can pretty much do anything.
In fact, I increasingly think of emacs as just a live lisp machine. It's a surface that I and the agents can interact against. It acts as a document store, database, control surface, etc.
[–] jjav 21 hours ago
Same here! Aside from the basic unix tools in /[usr]/bin/, there is very little software with the longevity of emacs. I fully switched from vi to emacs in 1992 and been using it heavily every day since then. So good.
(The only other program I can think of from that era that I still use is trn to read USENET)
[–] jwrallie 23 hours ago
Or maybe a more fundamental question, how do you find out what are good packages to use?
[–] jwr 10 hours ago
As for AI doing the coding in my Emacs, I simply use Claude Code or codex with the emacs-direct package which exposes the Emacs REPL via MCP. That allows the AI to do quick iteration passes and try things out in my running Emacs. Or start another one for testing.
[–] zavec 1 day ago
Maybe the solution is that I should just be running the entire thing in a sandbox in any case.
[–] athrowaway3z 13 hours ago
[–] fmajid 1 day ago
[–] aag 1 day ago
[–] moishe_syzslak 1 day ago
[–] steve1977 20 hours ago
[–] _doctor_love 1 day ago
Using magit made me believe again that really good software can exist and that there are really great designers still among us.
Also super agree that Stallman's original ideas are only ever more increasingly valid. I will generously say that Stallman has been an imperfect messenger but the core message has always been solid. I have not regretted my FSF membership over the years.
[–] iLemming 1 day ago
Modal editing was supposed to pull users away - Evil mode made vimming better. LSPs were supposed to kill it - only made it better. Electron-based crap was supposed to make terminal-native editors look ancient with a built-in terminal, extensions, and a polished UI. Emacs got vterm, eat, and ghostel. GitKraken-like GUIs were supposed to make the git CLI unnecessary. Magit is widely considered better than any git client that exists, GUI or not. Tree-sitter was supposed to require a "real" language server architecture to get accurate parsing. Emacs 29 absorbed it natively, and font-lock, indentation, and structural navigation across major modes got noticeably better. Obsidian and Notion keep trying to overcome it - Org-mode just keeps getting better. AI was supposed to make it outdated - only enhanced it.
For half a century, humanity has been searching for an Emacs-killer. All the while, Emacs has been a killer app all along.
[–] noctuid 1 day ago
I also can't understand how people like eca and agent-shell so much unless they've never actually used any decent harness. Neither seems to really fit with emacs. Acp is the exact opposite of extensible, and eca isn't really extensible either.
[–] moishe_syzslak 1 day ago
[–] iLemming 1 day ago
This is absolutely uncalled for. Álvaro is a long-time Emacs advocate and maker of packages, long before LLMs. I guess that's why some Emacs adepts, despite their long-time commitment and contributions, refuse to be called "programmers", notably Prot (Denote), Karthik (Gptel) and Jonas (Magit). They all keep saying they are not, maybe just to avoid this kind of ungracious stigma from random people.
Some FOSS developers are one of the rarest kind of people we need to cherish and respect. They who sustain unpaid, often thankless maintenance work on important infrastructure for years, sometimes it becomes their life purpose, with zero direct financial reward, while fielding entitled bug reports. They don't anticipate any recognition, but at least let's not call their work substandard, it's not like you're getting taxed for using it.
[–] xenodium 1 day ago
(completing-read "How should I take this?" '("ouch" "lol" " ̄\\_(ツ)_/ ̄"))
[–] a_e_k 19 hours ago
[–] iLemming 1 day ago
Did anyone ever tell you how badly you suck at prophecies? This unfalsifiable prediction has enormously bad track record: people have called Emacs dead since the 90s, through XEmacs, through every IDE wave since, through Atom, Sublime, nvim, VSCode, Zed, etc.
I'm sure "Anti-AI core community" drinking themselves to oblivion and chugging anti-depressants seeing how many packages for AI integration people keep building¹ and they just can't do anything about it. Bruh, there's literally ongoing threads about built-in LLM support in emacs.devel, the latest one is not even a week old.
Magit being slow is almost entirely git subprocess spawn and output-parsing overhead, which exists in any git porcelain, not something specific to Emacs or elisp². Blaming Emacs for that is blaming the UI for the engine. I use Magit on Mac and it is not slow. It is slower than on Linux, but it ain't unusably slow.
Define "decent harness". First of all you're conflating the layers - ACP is a wire protocol; asking a protocol to be extensible is illiteracy - protocols are meant to be minimal and stable, that's literally their job. eca and agent-shell are ordinary elisp, with hooks, advising, keymaps, same mechanisms every other package uses. If that layer is hookable and advisable, it's extensible in every effing sense; extensibility was never supposed to live in the protocol underneath. Darn, I'm extending eca from inside fucking eca buffer, da fuk you even blabbering about? Whatever, skill issue. Next.
¹ https://www.reddit.com/r/emacs/comments/1uwm3c0/the_state_of...
[–] wilkystyle 1 day ago
[–] iLemming 1 day ago
[–] gpderetta 1 day ago
I have used gptel a while ago which was great for completion-like workflow, but abandoned when I moved to more agentic stuff.
[–] iLemming 1 day ago
[–] jhoechtl 1 day ago
[–] iLemming 1 day ago
[–] jimbokun 1 day ago
[–] iLemming 1 day ago
Luckily (for us), Emacs is the king of text-processing and text manipulation.
[–] cykros 14 hours ago
I've been considering trying it out anyway and seeing what I can do to smooth things out though. Still really getting a hang of exactly how to best integrate external memory in the form of notes with my agentic setup. Was looking at some second brain approaches (such as Zettelkasten) but a lot of that just feels like throwing information into a pile that is more likely to chew through tokens and not provide much benefit with the AI, even if it might well be a really neat way to keep more old fashioned notes.
[–] throwAway30303 13 hours ago
Let me know if this has changed!
[–] Blackthorn 1 day ago
[–] iLemming 1 day ago
[–] s0l1dsnak3123 1 day ago
[–] iLemming 1 day ago
Experts often do forget their own "beginner's journey", but I honestly never remember struggling with where windows do appear in Emacs. Either because I never had any eccentric expectations of how this should work, or maybe because I had far bigger issues back in my beginnings. Maybe I didn't notice anything until I found Spacemacs, which had just started gaining some traction back then. I don't remember if they've done anything to improve beginner experience, but then, moving off Spacemacs I might have gotten annoyed, which iirc forced me to understand display-buffer-alist. And then trying Doom, I believe I had to explicitly disable all their novice-aimed improvements and rely on display-buffer-alist settings I was already comfortable with. So, I guess it's a difficult balancing game - need to make it intuitive for the beginners, while not screwing it up for the experts. I mean, if Emacs v32-33 ships with "improvements" that somehow mess with my display-buffer-alist, I'd probably get mad for like two minutes. But that's me, if anything like that to happen, I'm sure it will generate some 2000-message-long discussion thread on emacs.devel.
[–] conartist6 17 hours ago
It's like "what if the web browser became emacs".
I want to build it because it would put an experience with the level of power described so thoroughly here onto every device simultaneously. I think it would be an incredible boon for programming literacy.
At the same time we could make programming feel natural to do on touchscreen devices, and in languages other than English. Combined with just having a place to play and learn (a reason to write little programs) my hope is that such a tool could inspire a new generation of programmers who previously were locked out
[–] marttt 1 day ago
I'm not a coder, but I did use Emacs daily around 2010-2012, with brief returns later. I always gave up eventually because the complexity of addons, the org-mode-can-do-everything-so-I-should-do-everything-with-it etc just grew over my head. I've discovered that I like Plan9 Sam, Acme and, in general, the one-thing-well camp better. Each their own, I guess.
That said, I did often like how "immersive" using Emacs can actually be at times. I'm a trained journalist, and it made managing bits of information, including PDFs etc, really streamlined, almost like a wonder. And, I had my own little OS on a USB stick that way (though the minimalist in me always whined that "an editor" should not weigh 100+ megabytes).
Incredible that it has been around for 50 years, with no signs whatsoever of being a "paradigm of the past".
[–] tarentel 1 day ago
[–] patrickmay 1 day ago
[–] zelphirkalt 11 hours ago
[–] iLemming 1 day ago
With my last bankruptcy where I tried to dissect my 12K LOC config to identify the bloat and the crap I no longer needed, I found very few pieces that weren't used. Turns out, my config was already modular and lean, in the sense that everything I had there had a practical reason to be in there.
Once I started using LLMs to deal with Emacs, I decided to add a bunch of tests to run them in CI, just to prevent regressions. My config since then has grown to 26K LOC + 35K of tests. I consume 250 third-party packages, plus about 100 built-in libs.
My Emacs starts and loads within a second. I have no problems such as freezing, breaking or leaking memory. With all this stuff I have in it, it can run for days and weeks and its memory usage on Mac stays within a comparable range with the Slack app - around 500MB.
I never understood this obsession with keeping Emacs lean. Bruh, throw some shit into it, let it burn, it'll chug on any large amount of Lisp and still give you the smoothest ride ever. What's the point of keeping a colossal beast under a mountain and feeding it a low-calorie diet? It's like digital abuse. Emacs these days is capable of rendering Doom-level graphics, it's offending to use it like notepad.exe.
[–] grep_name 1 day ago
That said, damn, my emacs config is like 1000 LOC and takes like 20 seconds to load. Also the reason I keep leaving Emacs is definitely the complexity of the bugs and the edge-of-the-edge case things that come up when I'm just trying to do something simple (the other day it crashed after running `e: newfile`, the evil mode command for editing a new file. I have no idea why it crashed but after it did the program couldn't be killed. Maybe it was because I was trying to open a file with no extension, but even that's a stretch.
Anyway would you mind if I sent you my config sometime or looked at yours? It's never occurred to me to write regression tests
[–] zelphirkalt 10 hours ago
[–] iLemming 6 hours ago
Sometimes, people conflate Emacs crashing and hanging, the latter can happen, but almost never requires killing it - you just send `pkill -SIGUSR2 emacs` from the shell and it unblocks.
[–] iLemming 1 day ago
---
[–] ghosty141 1 day ago
Using emacs for 4-5 years now and it's been a fantastic experience so far.
[–] cobolexpert 1 day ago
Me too, for some reason. I've been using Emacs for 8 years and my init.el is 94 lines long. I guess the defaults mostly work for me.
[–] skydhash 1 day ago
I tried but most of my config is just variable settings (with the use-package macro). I don’t really have custom code there. If I do think about a feature, I tried to build a package instead (like one for bridging subsonic and emms).
[–] BeetleB 1 day ago
Heh. At work many in our department installed a (voluntary) tool that logs the apps we have in memory, and how much RAM they consume.[1]
My manager came to me and said "Your Emacs is taking 8GB of RAM?!"
Guess we should call it EGACS now.[2]
I had an LLM do some debug and it turned out my copy of Emacs is a bit buggy in MacOS. Every time I open a new frame, and then close it, it doesn't release a lot of GUI related stuff. Over several weeks, this leak adds up. I open new frames multiple times a day.
And of course, I got the LLM to make a package I can load in Emacs that cleans it all up without needing to quit.
After cleanup, it's taking "only" 1.5 GB of RAM.
[1] Company is dramatically reducing the amount of RAM on new laptops, so we want to gather data to show it's too little RAM.
[2] For those who don't get it, a common joke decades ago was that Emacs stood for Eight Megabytes and Constantly Swapping. Back when 8MB RAM was huge.
[–] worik 1 day ago
In the last decade I have started to add configuration. When GPT-3 became available, and I did not have to learn Elisp (another f%^&*n computer language - with no other use) I have extensively configured my Emacs
My point is it is very usable with no config
[–] TMWNN 6 hours ago
DHH recently said that despite hating Rust, he recently wrote a program he needed in Rust by handing the task to AI, and that the alternative was him having to spend nine months to learn the language.
[–] TacticalCoder 1 day ago
How small? I try for things to not get out of control and as I ofc version my config, I semi-regulary remove stuff I don't use anymore from my config.
But I take about 3 000 of custom elisp, written over the years, doesn't qualify as lean and minimal?
Now I gotta say: I saw packages making it into the main branch and that simplified my configuration. For example eglot: I just adopted it.
[–] RedCinnabar 1 day ago
I read that I was hired at my first job from en email received inside Emacs, I’ve used it to send countless emails to colleagues, employers and business partners. I planned both my personal and professional life inside it, I’ve used it to track the time spent doing a certain task when no such software was yet available.
Most of the time I’ve spent in front of a computer over the last 20 years, was inside Emacs. Happy Birthday, Emacs! You’re the best thing that happened in the computing world.
[–] gumby 1 day ago
[–] DonHopkins 1 day ago
And to answer the question I get a lot: no, it would be morally reprehensible to name a cat after an inferior editor such as "vi".
[–] frantathefranta 1 day ago
[–] DonHopkins 1 day ago
Emacs is a powerful, flexible, majestic, extensible silver tabby, so he also acts like his namesake: textual and functional determinism.
[–] schoen 1 day ago
[–] kragen 1 day ago
https://en.wikipedia.org/wiki/Peripheral_Interchange_Program
[–] DonHopkins 1 day ago
]CATALOG
And my next dog after the way you warm restart DOS after you hit RESET with Integer Basic ROMs and get thrown into Woz's system monitor:
*3D0G
[–] jsrcout 1 day ago
[–] kragen 6 hours ago
So probably three-quarters of the people who remembered them in, say, 01990, still remember them. You remember all those guys, and the occasional gal, you saw at computer stores and user group meetings at the time? Most of them are still alive, and most of them still remember them. They're just harder to find because places like HN have filled up with MBAs.
(I remember ]CATALOG but not *3D0G.)
[–] hobo123 8 hours ago
Ed is the standard Unix text editor.
[–] neutronicus 1 day ago
[–] gumby 1 day ago
[–] DonHopkins 1 day ago
[–] gumby 15 hours ago
[–] DonHopkins 10 hours ago
[–] osener 1 day ago
Curious what are the biggest things that have come out in the last year or two, and what emacs based personal software have others reading this made?
[–] internet_points 1 day ago
Tree-sitter support is quite smooth now, with automatic grammar installation.
Apparently very good Android support.
Canvas support is in master, people are building all kinds of crazy stuff[0] with this
Lots of nice built-in packages like modus themes, eglot, which-key. Editable grep/xref/occur results is also built-in now. New context menu things.
Load the "newcomer-presets" theme to enable stuff that newcomers tend to want enabled (tab bar, fancy completion, lots of little things).
[0] e.g. https://monadicsheep.org/blog/an-introduction-to-canvas-in-e..., and https://www.youtube.com/watch?v=61-uNV9N154 / https://github.com/yibie/exc.el
[–] osener 1 day ago
Wow I missed canvas support completely. This is going to make some custom UI's way easier to make compared to the hacks I had to resort to in the past [0]
I do hope one day we'd get a new cross platform performant display engine that draws like Zed does for more UI capabilities in Emacs. Neomacs[1] promises this and has some of this but looks like its suffering from never ending scope creep and continuously moving back and forth between 80% there and 90% there due to unattended agents running wild.
[–] nxobject 1 day ago
[–] osener 1 day ago
[–] iLemming 1 day ago
Just ask Claude or whatever to hook up gptel and eca (or agent-shell). You don't even need to read anything, just literally talk to the LLM. The first step is to get to the point where agents can change Emacs from the inside out - and then, that opens the floodgates for any ideas.
Just yesterday I decided to make it possible to detach a video I'm watching (and of course controlling directly from Emacs) from my browser. The active YT video stops playing in the browser, loads mpv, and seamlessly continues, while keeping the time, speed, and volume. It's now possible with the new Canvas API to play videos directly in Emacs; at some point I may try to figure that out. Why? Well, just because I can. With Emacs, the limit is your imagination and nothing else.
Craziest thing? I never had to restart, recompile, rebuild anything. I was watching a video, thought: "hmm, a floating window would be nice..."; without missing a beat, just typed the prompt and made that happen within minutes.
[–] vr46 1 day ago
[–] luqtas 1 day ago
[–] paaloeye 1 day ago
We should all learn from Emacs about software longevity.
[–] d-us-vb 1 day ago
The extension language should be a full featured programming language in its own right capable of creating substantial applications because that is something people will want to do!
I wish every application worth putting a plugin system in it followed this philosophy.
[–] paaloeye 1 day ago
Does it open the door for compromising on the core XP whilst expecting everything to be a plugin for example? It's also making the task of testing N^2 complex.
Sometimes a well-thought-through plugin system is no plugin system. Kakoune (https://github.com/mawww/kakoune) is a good example of it.
I know it's an Emacs celebration party, but that one decision made Kakoune super stable and nice to use. (I'm looking at you NeoVim).
[–] Barrin92 1 day ago
in some applications yes, in Emacs I'd say no because Emacs itself is extensible and let's people utilize its own core functions and is itself almost like a mini OS. For example the completion framework is enhanced rather than replaced by plugins like Consult.
There's a systems thinking aspect to Emacs plugin development. People make plugins always with Emacs itself in mind and to improve Emacs rather than merely the plugin. It's very anti-Unix philosophy in that way. Org-mode or Magit are good examples of this, they work well, and really only well, within Emacs.
It's what I've struggled with every time I tried out NeoVim where I ended up with ten plugins all loosely held together by tape and always something broke when something else was updated.
[–] iLemming 8 hours ago
I believe it's because of Lisp. The majority of the new generation of programmers are mostly just clueless about how Lisp remains relevant and how things in the Lisp-world are calmly and quietly getting just built, problems solved, solutions developed - without fanfare and pomposity.
The biggest digital bank in the world uses it. Nubank, using Datomic as their primary tech driver, grew from ~12M customers in 2019 to 131M in 2025 - almost 1000% growth in less than a decade. Not an exactly faithful comparison, but for JPMorgan getting to their ~80M customers took dozens of acquisitions and 150 years.
Netflix uses it. Amazon uses it. Apple uses it. Walmart built their billing system in it. Cisco's entire cybersec stack is on it. Even NASA uses it.
The number of Lisp dialects just this past decade has exploded - you can find practical, working Lisp pretty much for just about any runtime now. The amount of Emacs Lisp on GitHub alone should be at least surprising - you check the GitHub lang stats, and may think how weird - a non-general-purpose PL, that has always had one and only intent, is among some top languages, why? r/emacs subreddit gets daily, pretty much daily announcements of some new Emacs packages. The age of LLMs is now practically proving the value of Lisp. Working with an AI harness through a Lisp REPL is palpably a better experience - agents work faster, spending far fewer tokens.
It is honestly just baffling how almost every PL out there is restrictive, in the sense that they impose seemingly weird and arbitrary nuisances, while Lisp has always had just two necessities - structural editing and REPL-driven workflow. Those are the only two things anyone needs to grok in order to efficiently build with it. And even these are not hard requirements.
It gets frustratingly exhausting to dispel a constant barrage of biases. As if people just don't want to believe their own eyes to see how pragmatically commonsensical it is and always have been.
[–] PaulDavisThe1st 1 day ago
ps. My first sight of the author was in a basement lab at the Weizmann Institute in 1986, sitting cross-legged on a chair working in front of the then-wondrous brand new Sun workstations - the so-called "3M standard" (1MB of RAM, 1MHz CPU, 1M pixels). Good times but old times!
[–] seewhydee 21 hours ago
The post 1970s/1980s history of Emacs is one of the more colorful stories in the software development world. The Emacs/XEmacs schism is the most famous episode, but there's also the "waiting for Godot" drama surrounding the Emacs 21->22 release, etc.
[–] mickael-kerjean 1 day ago
It's unfortunate its underlying ideas aren't more widely used in our industry, the very idea that you don't need to expose a separate API for people to create and extends things since code is the api is a idea that put emacs on a league of its own .... Thank you to anyone who has been involved in developing it.
Also I would love to hear Stallman view of labs using (A)GPL code and not contributing back to the world since this is completly against not only the ethos of free software but what Stallman teached to the world about the very purpose of its license
[–] WillAdams 1 day ago
The ironic thing is I've been fascinated by similar graphical efforts such as the Glamorous Toolkit.
[–] GalaxyNova 1 day ago
[–] cyrialize 1 day ago
I no longer use Helm (I'm doing Vertico/Orderless/Consult), but I've stuck with Org-mode since then. I sometimes venture out to other apps (like Joplin, Obsidian, Apple Notes, Apple Reminders, etc), but Org-mode just works best for me.
I don't even use it's most advanced features. The most complicated thing I do is maybe recurring schedules and using the agenda. I don't even have agenda view defined (although I really should at this point, it would be really helpful).
I use it every day at work with a daily log.org file keeping track of what I did each day, a habits.org file for recurring tasks I want to make sure I do (check my email, find a PR to review, etc).
I have various files to help organize my personal life - I heavily rely on Beorg [2] for that.
Looking back on my years with Org-mode, I feel like the primary reason I use it is for the ease of use with keybindings and dealing with plain text. I don't need to dig through menus or swipe around. I just go in and type, write, and delete.
[0]: https://tuhdo.github.io/helm-intro.html
[–] teunispeters 1 day ago
Why do I prefer it to (say) Turbo Pascal or Borland C++? Both of whom "Visual Studio" style environments have inherited a lot from? Well, those two worked well when one didn't have multiple consoles or terminals, and on a single tasking OS (DOS).
I do not want or need my editor to be my whole UI. (I know Emacs can do it, it's just not something I either want or need). And I am not comfortable with a UI that demands changes from Emacs in order to function, as any such UI suffers from blocking effective development, especially for (say) embedded code spaces.
Can there be better than Emacs? Yeah, probably. It's certainly not the most intuitive interface, for instance.
Is there?
No.
[–] lopotubez 1 day ago
Did not realize that everything I was building in my vim configs to make it better was already default in emacs i.e dired, compile mode, magit, org mode, etc.
If I wasn't able to multiplex with tmux I would have switched to emacs a long time ago.
[–] floathub 1 day ago
[–] DonHopkins 1 day ago
Interview with an Emacs Enthusiast [Colorized]
https://www.youtube.com/watch?v=urcL86UpqZc
Deldo - Vibration Control and Teledildonics Mode for Emacs
[–] wasting_time 17 hours ago
There's also "How to type “blimpy” in Emacs": https://news.ycombinator.com/item?id=37366341
[–] invaliduser 1 day ago
Emacs is still my main editor over ssh, so I happen to use it on a regular basis, and the commands are all imprinted on my fingers' muscle memory, so that's quite the comfort zone.
Happy Emacs anniversary to everyone!
[–] Isamu 1 day ago
And I used Emacs (on Linux) this morning.
Let me know if you remember the DEC20 and the dreaded “not running” message that happened to everyone in the room when it went down.
Also interested if you remember Gosling Emacs, the first rewrite for Unix. James Gosling of Java fame.
[–] jhallenworld 1 day ago
The most important software missing from the new Encore UNIX (Umax) was MM- the TOPS-20 integrated mail and bulletin board program. A friend of mine wrote "bboard" a campus messaging system as a replacement (this was soon replaced with USENET). It had a bad integrated editor, so I wrote my own editor as its replacement, this became the editor JOE. Even so, Emacs was always there as the counter-example. In those days, Emacs was large and slow and had a limited file size, and it was easy to do better if you weren't focused on extensibility.
I don't remember "not running", but I certainly do remember those annoying "garbage collecting... done." messages in C Emacs. The eventual solution from the mid 90s was kind of awesome: improve the garbage collector? No: Just stop showing the message.
I remember getting a DOS port of Gosling Emacs on floppy disk at a computer show (there was always somebody selling "shareware" at those). I lost that disk, and for a long time had no access to the Gosmacs source code, but eventually someone sent it to me. Sadly, we can not share it- James Gosling closed it. Some other Emacsen: MicroEmacs, Epsilon, JOVE and JED.
[–] nicfio 1 day ago
[–] esFran 1 day ago
I realidad that integraron it with tmux and claude cli, it is un unbeatable program.
[–] BrokenCogs 1 day ago
[–] lukehandcool 1 day ago
Many people have mentioned magit and org mode. I just want to give another shout out to consult.el which is a wonderful way to grep and search through text.
Happy birthday emacs!
[–] mark_l_watson 14 hours ago
I suspect that I am slightly more productive in VSCode for large code bases, but it just makes me feel happier and content to use Emacs.
[–] tomcam 6 hours ago
[–] Arubis 1 day ago
[–] 9999gold 1 day ago
For LLM stuff I’ve been using eca, or claude code in a vterm or ghostel. I’m still experimenting with this stuff but I don’t think emacs is getting in my way. Not sure if I’d recommend to everyone, though.
[–] WhitneyLand 1 day ago
Find it useful to conjure up cognitive dissonance and practice letting it go.
[–] iLemming 23 hours ago
Just the other day I made this comment on the topic of "nvim vs emacs", I think it fits here well:
> editor choice shouldn't be treated like soccer or religion
Oh, I wish there was a choice here. I've been vimming since 2010, the idea of vim modality is an excellent, practical, beautiful model. It's a fantastic idea and the ideas do port. That's why I've used vim-bindings in every editor/IDE/terminal/browser I used.
Emacs, however, is not an editor. It's a Lisp REPL loop with a built-in editor. The only contenders in this space are Light Table, Nightcode, or Lem and none of them truly can compete with Emacs (at least right now), because you can't just ignore forty years of package development. Maybe some more people start using Lem and keep vibe-coding a huge body of Elisp into CL and then maybe we finally see something that can potentially dethrone Emacs.
It's not sports or a religion - you can feverishly love trains and despise airplanes, but you've got to admit, trains just can't replace airplanes, regardless of what you love and believe in.
[–] ashton314 1 day ago
When I first started using Emacs, my dad gave me his config. (Yes, I actually experienced https://xkcd.com/297/ irl.) A few years ago a friend of mine asked for some help getting a simpler Emacs setup—they wanted to move off of Doom Emacs. I made Bedrock as a bare-bones starting point that focuses on built-in customization and understandability. Even if you're comfortable in your own setup, you might find something useful in the files there. :)
[–] heddhunter 1 day ago
[–] iLemming 23 hours ago
[–] wilkystyle 14 hours ago
I am primarily an Emacs user, using the standard key bindings (and a whole bunch of custom bindings and functions I've built on top of it over the decades, ctrl remaped to caps lock and no Emacs pinky so far).
But I am also 80% a NeoVim and Vim user for about 15 years now, and I consider myself quite proficient with Vim keybindings. The Emacs emulation is truly incredible, but the fact that Vim implementation quality varies wildly from environment to environment is extremely frustrating to me. For example, the jupyterlab-vim plugin is so jarringly broken in a handful of ways that it completely knocks me out of the flow of whatever I was doing when I encounter those emulation failures. IntelliJ's idea Vim plugin is a pretty decent one, but even there I have encountered the occasional issue [1][2][3]. Otherwise, I strongly agree with your point about learning one way to work with text and being able to leverage it most places.
Sort of a tangent, but I think this is why Emacs users tend to end up trying to do as much in Emacs as possible: It's not really the keybindings but the fact that everything in Emacs is a text buffer. Emacs owns the input and the output, and because everything in Emacs operates on text, you can do most everything in most every mode, to most any buffer content. One example of how powerful this can be is the ability to press a key and use dabbrev-expand to autocomplete shell input I'm typing based off the shell output of a prior command.
1: https://youtrack.jetbrains.com/issue/VIM-569
[–] iLemming 11 hours ago
I know exactly what you're talking about. I am a die-hard vimmer and used vim plugins in every editor/IDE/browser/shell/multiplexer/WM/etc. I use vim bindings system-wide. I control my music, switch between apps, swap and resize windows - all without lifting a finger from the home-row.
I spent almost a decade living in IntelliJ. I had many direct conversations with Andy Vlasovskikh (he's the maintainer of IdeaVim then). Gary Bernhard (Destroy All Software, wat guy) once said: "there's no vim-mode, there's only Vim" in the sense that no single editor or IDE, not a single vim emulation layer properly works, they all have glaring deficiencies - to the point that it can drive any experienced vimmer truly mad.
With one notable exception. Evil-mode in Emacs is just wonderful. It's the best vim-emulation layer, to a certain degree it works even better than in Vim/Nvim. Weirdest thing - it makes you forget it's not a built-in feature of Emacs. I'm honestly very happy with it, because I don't know, otherwise, I might have never convinced myself to ever give Emacs a try.
These two ideas - vim modality and the grand idea of Lisp - are possibly the two best things that I am forever grateful to my younger self for forcing me to learn. I can't even comprehend being a professional software developer and not grokking them.
[–] wilkystyle 6 hours ago
One last thing on the Vim emulation front: While I'm not a big fan of VSCode, the VSCode-Neovim extension[0] connects to an actual Neovim instance via Neovim's MessagePack-RPC API, allowing you to use real Neovim but native in VS Code. Pretty cool!
[–] hobo123 8 hours ago
[–] cykros 14 hours ago
[–] tinkelenberg 16 hours ago
[–] flowerlad 1 day ago
[–] tikhonj 1 day ago
[–] iLemming 1 day ago
[–] tikhonj 1 day ago
[–] iLemming 1 day ago
[–] pjmlp 1 day ago
[–] tikhonj 1 day ago
And we've also seen how legacy systems refuse to die :(
[–] pjmlp 20 hours ago
I have an idea, from someone famous in hacker circles,
"Using Unix is the computing equivalent of listening only to music by David Cassidy"
-- Rob Pike
[–] globular-toast 1 day ago
[–] internet_points 19 hours ago
[–] yipinwong 1 day ago
I regret ever using X/Emacs for 5 years with two reasons.
The biggest reason is, I have arthritis on my left pinky thanks to Emacs. Now I need to use an expensive ergo keyboards (thumb for ctrls)
The second reason being, vi is what I am forced to use for many linux default editors. I never learned it, and always look up google for commands.
(optionally, extending Emacs is pain as I never understood the point of lisp).
[–] iLemming 23 hours ago
LOL. Skiing is torture as I never understood the point of having to wear boots, since I rather liked sneakers.
[–] yanhangyhy 1 day ago
there is program called 'doctor' in emacs, it's a rules based 'AI', pretty dumb. and it's like 40 years old. 40 years later, people are still using the same editor, just with diffnert AI program.
this is the most elegant and beautiful software i have ever used. and i wish after a 100 years, people will still love it.
[–] timonoko 16 hours ago
command palidro() {
set_mark();
forward_character();
kill_region();
down_line();
yank();
up_line();
backward_character();
}[–] gspr 1 day ago
I code in Emacs almost every day. I read and write e-mail in Emacs almost every day. I take notes in Emacs almost every day. I maninpulate data in Emacs almost every day. Yet I don't know LISP (any LISP!) at all, I barely use any packages beyond "whatever it is that Debian ships by default", and I'm quite bad at fancy Emacs shortcuts. My Emacs config file is a hodge-podge of little snippets I don't properly understand – and it measures in at just about 100 lines, including comments and whitespace, with a significant part of that being just mundane configuration data for the mu4e Emacs client!
This has been the case for about 15 years now. And I'm the kind of person who really likes to know my tools. It's such a ridiculous situation! I somehow never get properly around to sitting down and learning, and I really struggle to make LISP click.
Sigh. I hope I'm not alone. I really really really should learn this thing!
Anyway, the most important part is: Despite all of this, Emacs is still fantastic for me! Here's to the next 50!
[–] ylee 6 hours ago
As others have said, it's never too late to learn.
My life has been within Emacs for 31 years. Yet I would say that I only really learned Elisp in the past ten years. Still at a tyro level, but enough to write my own functions for VM (I don't think mu4e existed when I started using it, also 31 years ago).
>Anyway, the most important part is: Despite all of this, Emacs is still fantastic for me! Here's to the next 50!
Amen.
[–] iLemming 1 day ago
I'm a Lisper. I switch between Lisp dialects, sometimes multiple times a day. Since I got my LLM harness to work from inside of Emacs I no longer need to even look at Lisp that it generates for my config.
It is very justified use of AI - if anything breaks, it breaks for me, and mostly just for me. And whenever something doesn't work as expected - I don't even try to debug it anymore - my harness has introspective capabilities - it can run the profiler, monitor changing vars, debug and just fix things.
Now is the best time to try Emacs. If people before could complain that Lisp is weird and not easy to grok, it's not a valid complaint anymore.
[–] kickingvegas 1 day ago
[–] moishe_syzslak 1 day ago
[–] Hammershaft 1 day ago
emacs is a rabbithole and the cost is rarely worth it. LLM agents do a great job already customizing your configuration for you.
[–] gspr 1 day ago
I'd rather leave it unconfigured than have a massive configuration I don't understand.
[–] jimbokun 1 day ago
[–] gspr 1 day ago
[–] iLemming 22 hours ago
> My Emacs config file is a hodge-podge of little snippets I don't properly understand
People giving you truly time-saving advice. Use a good model to unhodge-podge it. You can even ask it to explain every single Lisp snippet it makes, to the detail and granularity level you prefer - want a big picture, please; would you like nitty-gritty details - ask no more. It's not like it's gonna build a "massive configuration" and absolutely will refuse to make it make sense to you.
[–] gspr 21 hours ago
There's indeed lots of good advice in this thread. I appreciate it all! "Just use an LLM for the stuff you don't understand" is, however, not one of them.
[–] BeetleB 1 day ago
I myself used Emacs heavily for 9 years before learning elisp (clicked on my 3rd attempt).
IMO, the included Elisp guide is not good for beginners. My recommendation:
Separate the language from the ecosystem. First focus on simply learning the basics. How do you set a variable? How do you write a loop? How do you write a function? These things are as easy in Elisp as they are in other languages. Perhaps use Exercism to practice.
Of course, also learn the related keybindings (C-M-x to evaluate, C-x C-e, etc).
Only then start understanding some of the basics of integrating with the rest of Emacs (unwind-protect, save-excursion, save-restriction, etc).
[–] wormius 21 hours ago
But have been enjoying learning alot of emacs (oh god so much to learn :))
I'm not ready to make the jump (not sure I will jump at all, but...) I am gonna mess with guix in a vm to see how I roll with that.
I've got a lot of digital versions of various books on lisp/scheme but only played with them. Eventually I think it'd be great to do more with slime/sly and sbcl. But for now sticking with the basics. It's a real head trip to see the power of emacs, and it feels like it's hard to explain to people why it's so fascinating (to me).
I have a feeling I picked a good time to hop in, because a lot of the quality of life features seem to have only come in the past few years.
(my experience is specifically to use vanilla and build up from there, to both learn, and to get used to the "proper" way. I was afraid doom or space would end up getting me into their mental models, and didn't want to feel "locked in")
Of course shout out to systemcrafters, joshblais, protesilaos, sacha chua, mickey peterson (and mastering emacs).
God, I haven't even mentioned org-mode or magit (though magit is still a bit rough, I'm used to lazygit - in some ways using magit is making me understand some things about how git operates better).
The other thing is - I feel like I'm walking on unstable ground when using emacs - maybe it's just because I'm learning, and it's so easy to modify, I always feel like I'm about to break something. I know "backup stable config" and reset from that if it breaks, is obvious; but there's a feeling of looseness that comes from it that's a bit intimidating.
I guess I had that feeling with vim at first to. Obviously it's not going to "break" but as a noob, sometimes it's intimidating and feels that way.
The other thing I need to work towards is mastering workspaces/projects (and maybe tab integration) right now I run server/client windowed, no chrome (no tab, title bar). May add tabs for project management, but I wanted to get used to using M-x for things first (and man does vertico, consult, orderless and marginalia help with discovery!) Embark is another big tool I have so much to learn about.
And seeing how people use emacs for publishing. Linkarzu interviewed an author who talked about he used LaTeX for publishing.
One of my favorite facts is telling people that emacs is one of the oldest actively maintained piece of software still at large. It makes me feel like I'm part of an ancient tradition LOL.
Happy Bday Emacs!
[–] kleiba2 1 day ago
But I can see there is a value (mostly for the admins, but also for debugging if you work collaboratively in a team) in enforcing the same setup for everyone. Sigh. Strangely, I could never convince my coworkers to ditch their IDEs for Emacs.
[–] iLemming 1 day ago
100% completely opposite experience. Emacs is hands down the king of any kind of text-manipulation. And not only on the composition side. Most editors and IDEs are focused on the composition side of things - making text, adjusting text, amending text. And code btw, is nothing but structured text.
Emacs opens gates for text consumption - I'm reading this entire HN thread in Emacs, just like I consume Jira, Slack, Telegram, Reddit; control YT vids, my browser tabs and history, etc. I search through Splunk and Datadog logs, Wiktionary entries and just general googling - all done in Emacs. I browse million-line codebases on GH without ever having to clone them. If there's a piece of any kind of text in the computational vicinity to my active Emacs instance - this laptop and all connectable devices, I can easily make use of it.
And this gets incredibly important in the age of LLMs. I can read, manipulate, navigate, search through, diff, sort, group, slice, dice, salt and pepper any kind of text. Give me just about any other editor instead and I immediately will feel handicapped.
IDEs that are not malleable (by design) are at an exact disadvantage. I can change any aspect of my editor in the middle of typing this very comment without ever losing the state, the context, or my mental focus. No IDE even hypothetically capable of doing any of that.
[–] amitp 1 day ago
[–] iLemming 1 day ago
https://www.reddit.com/r/emacs/comments/1uwm3c0/the_state_of...
[–] kleiba2 1 day ago
At home, it's a different story.
I believe, Emacs is considered unprofessional in a lot of places?!
[–] Jtsummers 1 day ago
Why would it be "unprofessional"? It's an editor. I've used it in every job since I left college 20+ years ago.
[–] kleiba2 1 day ago
[–] Jtsummers 1 day ago
[–] kleiba2 20 hours ago
But I've also worked at a different place in the past where - when I asked if I could have Emacs installed on my machine - the sysadmin asked me "What's Emacs?"
¯\_(ツ)_/¯
[–] iLemming 1 day ago
What? Why? Who the hell would ever forbid anyone from using a tool that literally makes them more productive? I mean, as the Russians say: "If drinking vodka at work interferes with your job, quit drinking vodka... at that job"
[–] kleiba2 1 day ago
[–] iLemming 23 hours ago
Develop hacker's mindset. Don't anyone tell you how to use your computer. Especially don't let your computer to dictate you the rules. Always remain in charge.
When I started at my current job, they gave me a laptop that came installed with crap called ABR - Admin By Request. Basically, for anything that required sudo, they'd force me to run it, then click a prompt: "yes, I need the [fucking] access," then another little prompt comes up, asking for "reasons," and you're supposed to type it, to which everyone on my team types some random number of letters (because there's a minimum), then press Ok to get three-hour access.
I dealt with it for exactly three days. After that I just wrote a script that periodically checks if I have the admin rights, and then waits for me to get idle (so no sudden focus stealing), then runs the sucker, sends the request, etc. I don't even see it anymore - just happens. I'm not playing their stupid games, their "security theater", I have a job to do.
[–] kleiba2 20 hours ago
That would be nice in theory. I've worked in many different places throughout my career and in almost all of them, the sysadmins had the final say in what software was okay to install on your machine and which one wasn't.... because "security".
[–] jimbokun 1 day ago
[–] iLemming 1 day ago
I can also just ignore every conversation - sometimes, posted urls are more valuable than what people blabber and fight about. Imagine having to extract all the urls on the page. Some might say: "Hey, there's a browser extension for that", but...
a) the extension has its own keybindings, dissimilar UI, etc.
b) it won't ignore HN's internal URLs, so you still need to grab the list of URLs and then remove the ones you don't need in... your editor. So why not just use that, to begin with?
In Elisp, it's a one-liner. You can bind it to a key. I can also utilize sparse tree search, e.g., to collapse everything while leaving every reply that contains a keyword. With imenu, I can jump to any thread. With indirect buffers, I can compare two parts sitting on opposite ends of the discussion. I can narrow to any point, add some text, and then send a request to an LLM.
And guess what? All these things are still the same for a Reddit discussion. So when I use it in Emacs, I can still use the same ways of manipulating and extracting value.
[–] badr47 1 day ago
Modern editors build layers upon layers of IPC, JSON-RPC protocols, and sandboxed extensions to keep the user from touching the core. Emacs did the opposite: it gave the user direct access to the live execution state. You don’t "configure" Emacs from the outside; you mold it into the exact operational extension of your own thought process.
In an era where modern developer tools consume gigabytes of memory just to render a UI tree, there is something deeply grounding about a piece of software from 1976 that still offers the most malleable computing medium on earth.
[–] schoen 1 day ago
https://www.gnu.org/fun/jokes/ed-msg.html
but I guess trends elsewhere were so keen on adding abstractions that now Emacs is an efficient, parsimonious choice by comparison.
[–] neutronicus 1 day ago
[–] manithree 1 day ago
Compared to VSCode, Eight Meg And Constantly Swapping does sound ridiculously parsimonious in 2026.
[–] correlatequint 1 day ago
The core of GNU Emacs is written in C, and there are GNU-licensed Emacs variants which are entirely written in C. I really doubt anything like a new Zed/Gram fork would perform better than, say, QEmacs.
[–] noufalibrahim 1 day ago
[–] TFNA 1 day ago
In the early millennium, I as a Emacs user had hardly anyone to actually talk about Emacs with, even on nerd hangouts like Slashdot or the dedicated Freenode channel. Since the 2010s, one can make oneself practically a whole social life around Emacs.
[–] noufalibrahim 22 hours ago
But you're right, it looks like Emacs went on strongly but I fell off the bandwagon.
There were better and worse times in Emacs history. Recent times, however, are really good. Emacs is maintained and developed actively and there are many external packages which are impressive. Magit and ghostel are good examples of packages that I use on a daily basis to get my work done.
Recently, AI completely changed how I use Emacs, and in a very good way. I now treat AI as a fairy that can fulfill any wish. I describe how I want my editor to work, and boom! it works that way.
Examples: window and tab management, difftastic integration, markdown previews with beautifully rendered tables, markdown previews as PDFs, and many more.
What is most important, however, goes back to Stallman's original ideas. I am in control of my editor and my environment. I decide how it will look and behave. No corporation decides for me. No corporation builds in a new AI assistant. Nobody introduces ads or tracking. This is something I've learned to appreciate over the years.