8 ms·
A CEO's Guide to Emacs (2015)
- softirq 3y agoGUIs and proprietary protocols have killed Emacs. Emacs isn't an editor, as the post implies, it's an environment. "You can do anything from Emacs" made sense back when everything was open and text based. Nowadays everyone is using Slack, or using an IMAP web client for mail that requires bespoke authentication, or organizer apps that automatically sync across all your devices via the cloud. All of the verticals have been slurped up by corporations who did it better in GUI, have better syncing, and have locked down the protocols needed to bridge, and now the brave Emacs user of 2024 is forced to spend lots of time not in Emacs, thus defeating the point of using Emacs. As an editor alone I don't think Emacs is worth it. There's the old adage "They added everything to Emacs but a good editor" and I think that makes sense. If you're not going to live in Emacs for the above reasons then Vim/Neovim is a better editor with a larger community, and VSCode/Jetbrains are better IDEs that are already adopting AI, which will essentially kill off Emacs. Emacs still has a lot of important lessons, but I feel bad for new programmers today who will never get the full experience of a text based digital life. Everything has been dumbed down for our own good, and Emacs is now nothing more than a glorified Org editor that forces you to find your own cloud syncing.
- dartos 3y agoEvil is a pretty good editor imo Magit is still the best git client Org mode is the killer feature of eMacs for sure, but there’s a little more to it. It’s just arcane to work with or work on.
- Zambyte 3y agoOrg mode cannot be overstated. I started using Org Roam for personal and work note taking in the middle of last year, and besides my daily logs, I have taken literally thousands of notes. Lots of which I actually use as references at a later time. Org has been transformative for the way I think. I spend much more of my time reasoning instead of recalling now.
- dartos 3y agoNice! I just started using org roam this past month. Honestly my favorite feature is the ui mode what shows the map all of the notes. Good fun watching that grow. Got a syncthing setup going and it’s been great
- cmrdporcupine 3y agoIn a way VSCode is kind of this generation's emacs, I guess. Scriptable, does "Everything", etc. It's just not as... magic. And it's not Free Software with the same spirit that made emacs cool. You can, in fact, glue everything together in emacs to get a rather all-encompassing environment; IDE-like code editing, navigation, etc. even copilot and such (but yes, sans the slack and browser, etc. as you say). But I've found it will always be brittle. And, yes, back in the day I had it all inside emacs.. IRC, LambdaMOO, email, code editing. All in one place running on my 8MB 486. There's nothing like that now, but, yes, the GUI environment does it all. It's the same reason why tiling window managers never click for me -- all the applications I use all have their own "tiling" that ends up fighting with it. CLion, Firefox, Emacs, Discord, Slack, Teams... they've all got their own internal nav, with the expectation of a typical GUI environment. All that said... Saying "just use Vim" is kind of missing the point. I (and others) hate modal editors, and if I liked them I would have used vi back in the day in the first place as it was always one very machine I shelled into. The modal editing thing as some sort of mark of superiority or pride... is a bit of a recent obsession of a subset of nerd culture that I don't get, nor do I care to. And I strongly disagree that "but a good editor" line; the editor in emacs is great. But no, it's not vi, and no, it's not windows/mac keybindings. You have to learn its keybindings and yanking and all that.
- AlanYx 3y agoDoes anyone really script VScode in the same way as emacs? It's trivial to knock-off a little function in emacs to scratch an itch, but in VScode there's so much boilerplate to create an extension.
- cmrdporcupine 3y agoYeah, I agree, and I don't personally use VSCode. But it sorta fills a similar niche, I guess. But it's missing the powerful buffer abstraction that makes emacs so special. An emacs buffer isn't just a text editor, it's an interactive working environment, a coding scratchpad, etc. closer to how old Smalltalk or Lisp environments worked. The same buffer concept can be simultaneously a terminal, a code editor, and a REPL.
- seanw444 3y agoI still really like Emacs. Granted, I use Doom, because modal editing is just better. But I don't need to use Vim/Neovim unless I need a quick light editor over a remote connection. There's still a lot of useful integrations and applications within Emacs. I use Calc all the time, Org, LSP is thankfully open and makes Emacs a full-on IDE, RSS reader, file explorer, by far the best Git client, and I still use it to analyze and operate on basically anything text-related. I think it goes both ways. There are a lot more closed-down things these days, but the things that are open feel more established and professional than they ever did before.
- softirq 3y agoI really meant it when I said that AI will kill Emacs. In the future every application will be connected to a backend inference engine to act as the primary or close to primary interface to the application. A calculator that can't run prompts is going to be like using an abacus in a few years. Same thing for Magit/regular git.
- dan-g 3y agoEmacs is able to run prompts, just like any other tool that's able to make an HTTP request. E.g., https://github.com/karthink/gptel https://github.com/karthink/gptel provides hooks to both OpenAI and local LLMs, and allows you to use them anywhere—since everything in Emacs is a buffer. There are some pretty great examples in the README.
- zilti 3y agoAI as-is is completely useless for programming, or even counter-productive.
- ParetoOptimal 3y agoThis will be far far in the future. I say this as someone using gpt4 a lot daily for their programming tasks and experimenting with local models like mixtral instruct.
- cmrdporcupine 3y ago
- globular-toast 3y ago> GUIs and proprietary protocols have killed Emacs. They've tried, but I have been happily using it for the past 15 years. They're trying to kill computing in general. I'm just thankful there seems to be enough people like me who won't give it up so easily.
- burkaman 3y agoYou can still find terminal interfaces for a lot of these things, including Slack: https://github.com/jpbruinsslot/slack-term https://github.com/jpbruinsslot/slack-term. I don't use Emacs but I imagine you could integrate that somehow if you wanted to.
- yashasolutions 3y agoAI is integrated with emacs. You can get both openAI/ChatGPT/Copilot integration with emacs, works fine. I agree that slack and other proprietary chat interface make it harder for everyone else, but that's a problem not just for emacs.
- cmrdporcupine 3y agoHell, we had eliza-mode in emacs since the 80s ;-)
- steppi 3y agoI’ve found code generation tools a boon to my Emacs-ing because I can use them to help write Emacs lisp code for any customization I think I might need in the moment without breaking the flow of concentration towards my primary task.
- newlisp 3y agoBut one can use both emacs and jetbrains. I get value from both and use vim's modal editing in both.
- masfoobar 3y ago> GUIs and proprietary protocols have killed Emacs I have been using Emacs since 2010. What started as this 'what do I do' white screen has evolved into a powerful tool. During this time, I have seen various other editors or IDEs all considered to be "better" but are eventually tossed aside in favour of something else. Visual Studio (the IDE) has gone through some changes. Some for the better. However, there is also worse. It is slow and bloated. Now we have Visual Studio Code which a lot of people seem to use, even those that judged me for using emacs a few years back. But... IDEs are better, right? We also have Sublime Text 2 which was all the rage around 2013. Even they were laughing at me for using emacs. Now, I hardly see anyone using it. Once in a while (in the last 15 years) I see the odd vi or vim user. They continue to exist like me with emacs. While I cannot confirm, I would not be surprised if most of these have moved to neovim or gone elsewhere. Point is - emacs will be around for many years to come. It may never be the "best" in term of numbers but I would not be surprised if, in the next 10 years, Visual Studio Code or Neovim have moved on to some other new editor or IDE (or another vi variant, respectivelt) yet emacs is still there. I have been using Slack properly in the last few months and I am not really that impressed with it. Sure, I am not using Emacs and I would not be surprised if there is emacs support for it. I would not be surprised is Slack is replaced by something else in 10 years. No different to other "management" tools that come and go. So heres to Emacs. For me, it is worth it - and while things always change... emacs is likely to be about for some time.
- n4r9 3y ago> We also have Sublime Text 2 which was all the rage around 2013... Now, I hardly see anyone using it. Maybe they upgraded to Sublime Text 4?
- masfoobar 3y ago> Maybe they upgraded to Sublime Text 4? Didn't know it passed version 3, being honest. Says a lot. Point still stands.
- n4r9 3y agoIt probably depends a lot on company culture and possibly what OSes the devs are using. Pretty much every dev in our 20+ team has it installed, as there are not many editors on Windows have equivalent editing features and are so snappy to use. However, the free trial version is not strictly permitted for corporate use, so we might be losing it soon.
- RHSeeger 3y agoAs someone who has IntelliJ open right now for some project work, and uses vi on a regular basis (but not skilled at it)... I use Emacs regularly. Literally, 5 minutes ago I opened a couple files in Emacs, right next to IntelliJ, because it was the better tool for the job I needed to do with them.
- PurpleRamen 3y ago> GUIs and proprietary protocols have killed Emacs. I'm pretty sure, Emacs is not dead yet. And if GUI & protocols are killing it, maybe adapting would be the way to survive? > Emacs isn't an editor, as the post implies, it's an environment. Bash is also an environment, but nobody calls it an editor. Emacs has an editor as the primary interface, and handling & editing text as its primary purpose. And today, any mature editor is its own environment anyway. > All of the verticals have been slurped up by corporations who did it better in GUI, Just saying, but GUI has little to do with this. Corps have simply more money, more manpower, more focus on serving customers (and making money). And modern Tools like GUI are a well working tool which enables them to deliver fast and userfriendly.
- steve1977 3y ago> Bash is also an environment, but nobody calls it an editor. Well bash has Emacs mode, so…
- liotier 3y ago> GUIs and proprietary protocols have killed Emacs For me, corporate environments killed tool choice... Locked down corporate Windows with the full O365 bubble (locked down too - so no integration with anything outside) is a hard current to swim against and I gave up resisting.
- medo-bear 3y agoIm a relatively new developer (10 years) and I use Emacs almost exclusively. Having come to Emacs from Jetbrains IDEs I would say that it is definitely worth diving in
- lallysingh 3y agoI think EMACS is a fantastic editor, partially because you can extend it however you like. And, those extensions work forever, they don't get lost every time you change teams and have to change IDEs. No, you can't live your entire life there, but that was never a great idea. Instead, it's great for software development activities. Org mode and magit are very hard to match outside of EMACS. The primary things you do in an IDE are debugging, browsing code, writing code, and then writing documentation. With LSP, it's now fantastic at all of those. I can write documentation easily with org mode, and GUD is a really good debugger. And I can extend GDB with Python, to simplify the common stuff I often have to do with my own data structures and types. With emacs, a web browser, and a terminal, I can do effectively anything I need to do on a computer and do it well.
- michaelsbradley 3y agoI’ve enjoyed using Emacs as a programming editor and environment since 2011 — for JavaScript, CoffeeScript, Clojure, Bash, Racket/Scheme, Python, Perl, Nim, among others, it’s worked great and keeps getting better with e.g. the arrival of LSP support.
- _a_a_a_ 3y agoDumb comment alert. > GUIs and proprietary protocols have killed Emacs I used it this morning. Dired, specifically. To look through files for a meeting. Used it yesterday to edit. Meh.
- ParetoOptimal 3y agoI think they meant more for horrible communications applications such as microsoft teams and all the others that don't use XMPP.
- _a_a_a_ 3y agoThat makes more sense, ta
- ParetoOptimal 3y ago> now the brave Emacs user of 2024 is forced to spend lots of time not in Emacs, thus defeating the point of using Emacs. If you can just get your email in Emacs, you can get a lot of integration you need. Luckily, email is still a must-have for many services. For things like slack, teams, etc... it's much much harder. Glancing at my "emacs for everything" roam node, I was last looking at utilizing matterbridge[0] to get access to teams, slack, etc by bridging to IRC. However, more ideal would be bridging to matrix especially if attachments/etc can be bridged over. Taking actions based upon notifications though all the way from beginning to completion, then using elisp to customize the process, is definitely where emacs has the most impact. Coworker pasted some code? You are reading it in an emacs buffer and have a function to open the code block at point in a python buffer with a repl split to the right to test it with no effort. 0: https://github.com/42wim/matterbridge https://github.com/42wim/matterbridge
- drbaba 3y ago> Emacs is now nothing more than a glorified Org editor I must admit that if it wasn’t for Org, I as a long-time Vim user wouldn’t be using Emacs :)
- globular-toast 3y agoThis is the article I wanted to write about Emacs. Bravo. The comparison to a bicycle is a good one. Emacs is the only software I have ever truly loved. People throw that word around a lot these days, but I mean it. I love it in the same way I love my bicycle. My bicycle is a machine that I've carefully built and maintained, it's been with me through the years, to various places, in all weathers, good and bad, and, ultimately, it carries me to places. Emacs is the only software that comes close to feeling the same way. I wonder if the analogy might be lost on people who don't have a bicycle or any machine like it, though.
- aspenmayer 3y agoI think it’s a reference to the Steve Jobs quote about the computer being a bicycle of/for the mind.
- hugoroy 3y ago[flagged]
- avgcorrection 3y agoI think this could also be called a-vegan’s-guide.
- jmclnx 3y ago[flagged]
- deleted 3y ago[deleted]
- aj7 3y ago[flagged]
- FredPret 3y agoI wanted to love Emacs. It’s open, it’s kind if cool, apparently it does everything, Randy in the novel Cryptonomicon uses it. But I soon spent more time and effort optimizing and working out the kinks in my personal org-roam than doing actual work. Now I use good old project management software (Merlin for Mac), Obsidian / Apple for notes, and a written to-do list.
- taeric 3y agoBeing clear that you should use what works for you, I always find these narratives amusing. I'm assuming you still have kinks in your current workflow, with the difference that there is not much you can do about it? Such that the main difference is that you aren't working on the meta side of the workflow. But you could have done that before, too, right? That is, it seems a lot of people have a story where their main complaint of Emacs comes down to the temptation of being able to do whatever is enough of a lure to keep them distracted. I think I get this, in the sense that it is comforting to have some decisions flat out made for you.
- FredPret 3y agoThere’s the work. Then there’s the meta-work. (planning the work: what to do; how to do it). This is me writing a to-do list on paper or someone else typing in org-mode. It also includes thinking about what to do. Then there’s the meta-meta-work. Setting up clever ways to plan work. This is where you configure emacs and other systems or try to find the best system. There’s a lot of leverage here, but it should never be a continuous effort, unless you like getting paid in meta-meta-dollars.
- taeric 3y agoFair on it being "meta-meta." My point is you can always stop the search for the best system, though? Just because you can change or optimize, doesn't mean you have to. Consider if you are doing written notes, have you learned a comprehensive shorthand system? Why not? Do you stick with only lined paper? Dotted paper or grid for some things? Is there an optimal sized sheet of paper for you? (Point being you can meta-meta work in most any setting. Nothing about Emacs requires that you do so.)
- cust 3y ago[dead]
- inferense 3y ago[flagged]
- lvass 3y agoThis has been the standard uninformed take on Emacs since dawn of the web, and unfortunately seems to be getting more popular. In reality Emacs is great out of the box, you don't really spend time setting up things, you spend time understanding how it works, and become more capable as you do. If you use Emacs for three weeks in your life it's obviously not worth it and you tend to get opinions like yours. The sane take as in most or all things is listen to people with the most experience.
- robertlagrant 3y agoWhat a crazily negative way to segue into an advertisement.
- pantulis 3y agoIn 2024 someone should write "A CEO's Guide to Obsidian".
- brlewis 3y agoReading between the lines, I don't think this article is about a particular way of using emacs. I think it's about the psychological safety that comes from using a platform that won't pull the rug out from under you. A lot of tools that are commonly depended on today will change on their own schedule. Nice ones will give you warning ahead of time that a change is coming, but you can't opt out of the change. APIs get deprecated. UIs get reorganized. There's not much you can do. With emacs there's an expectation that what worked for you 20 years ago will still work today. And in rare instances where that's not true, you can just not upgrade to a newer version of emacs. Working in emacs definitely gives a feeling of control. If anything is ever going to replace emacs (or neovim, which I don't use but I understand is similar), it will have to give the same feelings of control, in addition to the same sense of focus that comes from an uncluttered UI.
- deltaburnt 3y agoI really enjoy using VSCode, it's highly configurable and ubiquitous. However, I do get concerned about handing so much control over my editor to Microsoft. While VSCode is ostensibly open source, forking it may become just as hard as forking Chromium.
- nalinidash 3y agoYou can try vscodium.com .According to their website, VSCodium is a community-driven, freely-licensed binary distribution of Microsoft’s editor VS Code.
- wt__ 3y agoI think it's kind of a combination - not having the tools pulled from under you, but also the device to device portability he mentions, and having all your content in text (or whatever) in a directory structure you control. And yes, it's exactly the same feeling when using Neovim, which has it's own web browser plugins. (He wrote the post in 2015. Wonder if he's still using Emacs now.)
- codethief 3y ago[dead]
- buzzm 3y agoConsistent navigation and keystroke commands for content/context-appropriate basic operations have really been the foundation of my use of the emacs. Yes, there's an elisp integration to everything and Magit is (perhaps..?) the best git client period, but boy ... For example, I have gotten so much mileage out of M-x comment-region across Java, bash, C++, XML. Using Ctrl-S to inc search a dired buffer in the same way I inc search text. And I was delighted when I first used Eclipse to discover that 90% of the keystroke commands that have become muscle memory (nav, save, multilevel undo, block copy and paste...) are the same. Same with bash of course.
- from-nibly 3y agoFor me my "emacs" is my home-manager managed home directory. It's less monolithic, and yes, comprised of a bunch of random apps. But it's a thing I've crafted over years. I rock various apps with various configurations, but at this point it feels like home. I now ask, like a picky little diva, what OS I get to use at new jobs I apply for, because I don't want to rebuild my home. I recognize that emacs can run on all operating systems, but my "home" extends out past my terminal, and my text editor. It includes random apps that just don't have an equivalent i.e. my browser, my music service, and my work issued chat app. I like to be able to manage ALL of that all the same way, and I can with home-manager, nix and linux. Someone tell me what I'm truly missing with emacs.
- worthless-trash 3y agoIf you are happy with what you have, you don't need to buy into other things. Maybe a time will come in your life when you values align with emacs, maybe it wont. Keep an open mind when/if the event happens.
- ylee 3y agoWelcome back to the club. I've been using Emacs continuously for almost three decades, 99.9999% of the time text-only (whether Linux console, X terminal console, xterm, or SSH client) on a remote server. My email client is VM, written in Emacs Lisp. I've used it to read mail for almost as long as I've used Emacs. I tried Gnus a couple of times for Usenet but stayed with slrn because of Emacs's lack of multithreading. I've never tried Gnus for email because VM has always met my needs. VM (and ancillary tools, like Personality Crisis and mairix) * does a great of job displaying HTML messages. For the very few that it doesn't, one keystroke sends the message to my web browser running locally. * sends URLs I select (all from the keyboard) to the web browser * opens images and attachments * auto-adjusts the From: line of outgoing messages depending on the recipient * archives messages to various folders using various criteria * searches my archived mail at lightning speed Of course, I can write Emacs Lisp code of my own to extend any or all of the above. VM isn't perfect. I'm sure that I could do all of the above with Gnus, and quite possibly am missing out on other features that VM lacks. Overall, though, I really feel like I have a superpower for email handling with it.