10 ms·
Emacs Love Tale by sdp
- kwhitefoot 5y agoThat's one of the best love stories I have ever read!
- jmercouris 5y agoAmazing story. The things we will do for our partners is incredible.
- olivierestsage 5y agoI appreciate how "fun-oriented" the Emacs community is. Whenever text editors come up, people usually spar over which is the best for various productivity concerns, etc. While I do think there is a strong argument to be made for Emacs as a purely productivity-oriented choice for certain kinds of users today, the community is overall geared more toward hacking it as an end in itself: customizing every little detail, doing willfully goofy things like play mp3s or run tabletop RPGs, etc. These aren't the sort of features that will dethrone vscode in terms of general usage, but I feel that it is valuable as a preserved island of fun and "hacking for the sake of it" in a world of software that increasingly seems to have left those values behind. And as this story shows, sometimes the hackability leads to really positive things.
- tazjin 5y ago> as a preserved island of fun and "hacking for the sake of it" Somehow this sentiment is anything but fun to me. Emacs is the last bastion of a different path down the tree of personal computing than the one our species took, one in which individual users are empowered and not - as is now the case - held hostage by us[0] in our ivory towers of impenetrable layers of cryptic technology. Emacs was made for humans to use as a real tool. Barely anything else in the tech world really qualifies to the same degree. I'd love to peek into the parallel universe where we stuck to introspectable, malleable software and ended up with something closer to the Houyhnhnm computing stack[1]. Alas, for now that ship has sailed. See also: That old story about Emacs at Amazon, etc. [0]: "tech people" [1]: https://ngnghm.github.io/ https://ngnghm.github.io/
- poidos 5y agoGot a link to the Emacs Amazon stuff?
- tazjin 5y agoIt's part of a larger post by Steve Yegge[0], of which you can find a copy here: https://sites.google.com/site/steveyegge2/tour-de-babel https://sites.google.com/site/steveyegge2/tour-de-babel Look for the heading labeled "Lisp" or just search for "Emacs" and you'll find the relevant bits :) [0]: https://en.wikipedia.org/wiki/Steve_Yegge https://en.wikipedia.org/wiki/Steve_Yegge
- 70rd 5y agohttps://archive.is/isH3s https://archive.is/isH3s I believe this is the reference.
- zozbot234 5y ago> Emacs was made for humans to use as a real tool. If Emacs was made for humans, why do so many humans get painful RSI trauma ("Emacs pinky") when they try to use it? How many humans can code in something as clunky as EmacsLISP?
- Naga 5y agoNo one is saying emacs is perfect, this is such an odd comment. Just because it is made as a real tool, as opposed to a product or something to sell more of, doesn't make it perfect. Table saws are meant to use in productive behaviour too and the fact that people cut their fingers off doesn't make them less of a real tool.
- throwaway292893 5y agoNot a great analogy. Table saws try to prevent you from cutting your finger with flesh-detection saw stops. Wouldn't hurt emacs to change the default keymap, just like it didn't hurt table saw manufacturers like SawStop or Bosch to include safety mechanisms, it helps.
- pmoriarty 5y ago"the community is overall geared more toward hacking it as an end in itself: customizing every little detail, doing willfully goofy things like play mp3s or run tabletop RPGs, etc." In my experience the "goofy things" you list are a minority use of emacs. Most people are mostly in to things like org-mode or coding with emacs as their primary use. Of course emacs customization is very popular too, as if you don't want to customize your editor you might as well use something else.
- olivierestsage 5y agoYes, I think I could have phrased my comment better in terms of fun and "goofiness." Emacs definitely has a lot to offer for straightforward productivity; I'm an org-mode fanatic. But I think there's a certain lighthearted "spirit" to the community that gets lost in some discussions.
- jkepler 5y agoLike emacs coffee mode, https://www.emacswiki.org/emacs/CoffeeMode https://www.emacswiki.org/emacs/CoffeeMode
- pwillia7 5y agoYou finally explained what draws me to emacs. Except org-mode. I feel if I could make org-mode a part of my life I could accomplish anything.
- rStar 5y agoorg-mode is the truth and the light. learn once, run forever.
- munificent 5y agoThe subtext of "the rest of her life" was a gut punch. Beautiful story.
- Dangeranger 5y agoYes, this was my take away as well. After reading about the joy the author's partner experienced in using the notepad they built, and the reward they experienced watching them, I couldn't help but feel viscerally the pain expressed in those last words.
- maxpro 5y agoAt the beginning I actually thought it was about emacs
- ylee 5y agoI've been using Emacs for more than a quarter century. 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. Although I run Emacs in text-only mode, 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. * 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 * search my archived mail going back a quarter century at lightning speed Of course, I can write Emacs Lisp code of my own to extend any or all of the above.
- aardvark179 5y agoI have also been using emacs for over 25 years. That is a sobering thought. Admittedly the way I use it has changed, because things like LSP are a game changer for me, but it’s still been over 25 years.
- kreetx 5y agoWhat packages do you use for email?
- ylee 5y ago>What packages do you use for email? As I said, VM (<https://www.nongnu.org/viewmail/ https://www.nongnu.org/viewmail/>); 8.2.0b is recommended. Personality Crisis comes with it. Mairix (<https://github.com/vandry/mairix https://github.com/vandry/mairix>) is separate and does not require VM.
- ylee 5y agoMost people who use a separate Emacs-based email client seem to use mu4e, Wanderlust, notmuch, or even gnus. It's entirely possible any or all are superior to VM; I use the latter because I'm comfortable with it and it does everything I need.
- mkl95 5y agoI haven't used Emacs as my main text editor for a while now, but Emacs macros are still one of the aces up my sleeve. They save me a lot of time every now and then.
- cyrialize 5y agoI've thought about writing a blog post trying to capture the magic of Emacs. By "magic" I really just mean having a super low barrier to having your code running and working in Emacs. You just open your config files, put in a line of code, and then you're done. Of course there are other barriers - Emacs has a huge learning curve and Elisp is harder to learn if you aren't familiar with Lisp like languages. Still, there are no other programs out there like Emacs. You always have to either create your own extension, modify the source code, etc. Realizing that you could kinda just make whatever you'd like in Emacs is an amazing feeling. I don't even use Emacs as my primary editor at work and I still think about cool things I could hack in my config files.
- yissp 5y agoThis is a huge part of the appeal of emacs to me as well. Other editors / IDEs might offer a comparable level of extensibility but it feel like there's so much more friction involved in taking advantage of it. With emacs you don't even need to restart the application.
- sillysaurusx 5y agoBelieve it or not, a lot of it is due to a shared global namespace with global variables as the norm. It's hard to capture the qualities you mention without that. (Raise your hand if you can think of a system that did; I'd love to know.) There's more to it than that, of course – the design is excellent – but convention matters, and elisp has a convention not seen in most other large-scale programming systems.
- emacsuser31 5y agoDefinitely this. It just feels so natural to have all those functions in the same scope without dealing with modules, hierarchies or something involving both. I also believe that none of the languages with module hierarchies are suitable for some kind of REPL driven development. You can't just dump all of your program into the REPL and expect it to work. You need globally unique names for these. And I believe this is a must for a language that is running inside an editor.
- Barrin92 5y agoI started to program when I entered university about 10 years ago, so I guess I'm a little bit younger than the average Emacs enthusiast at this point given that in particular here people's stories often go way further back, but I'm extremely grateful that our professor introduced us to Emacs. I think I could have easily missed out on truly getting to learn a programmable and customizeable environment because IDEs and finished products in teaching were already pretty dominant at this point and it wasn't as much about tinkering any more and more utilitarian. But Emacs really made me curious about reading documentation, tinkering with minor modes, doing simple things like writing my own status bar, and I think the great thing about it is that everything is in one place and interacts organically. The ability to introspect everything, change things on the fly, led me down a huge rabbit hole of reading about Smalltalk, papers from Licklider in the 60s about human-computer interaction, at some point later back to Pharo and a whole bunch of stuff I don't think I would have ever heard about in my CS education to be honest. And all that aside it's still an incredibly useful piece of software practically. It's my editor of choice and people keep building new stuff for it. 'org-roam' is one of the better roam research alternatives out there I think and it's incredible to me how there's always someone who has ported some new thing to emacs.
- nanna 5y agoFun fact I learned from Licklider's archive at MIT: he was also an Emacs user! I guess that isn't such a huge surprise given his being at MIT, but it did make me wonder if Emacs is the ultimate interface to his man-computer symbiosis.
- bsedlm 5y agothis is the open way, the commercial private way with a marketplace of taxable transactions requires hiring a company or (coming soon---because hacks---licensed contractor) software engineer whom with the proper authorization and certifications will charge hundreds of (taxable) dollars to give you such customized functionality.
- susam 5y agoFor those eager to begin learning Emacs, I would like to share that Emacs has a very friendly and fun community at #emacs on irc.libera.chat as well as on r/emacs on Reddit. If you have never been on IRC before, you can quickly try it out via Libera Chat's web interface at https://web.libera.chat/#emacs https://web.libera.chat/#emacs. If you are worried about missing conversations when you log out but do not want to set up an IRC bouncer (the typical solution), there is a Matrix bridge to the IRC channel at https://app.element.io/#/room/#emacs:libera.chat https://app.element.io/#/room/#emacs:libera.chat that you can use to stay connected even after you turn off your computer.
- bsedlm 5y ago> I set up a parallel group of keystrokes using super where the Mac had used command. This meant that her existing muscle memory (and mine!) this is fundamental to me, it's things like this that make me use linux and prefer KDE, but the way he talks about this (along other comments in this discussion and generalized software trends) has got me worried that this level of customization (and its associated mindset) are an 'endangered species' even among software engineers.
- snicker7 5y ago> She never lost interest in it, using it for the rest of her life. Oh no! Did she pass away?
- systemBuilder 5y agoI'm an old-timer, having used emacs for 41 (!) years. I started in a LISP class at MIT, but I was always a UNIX-lover so ended up using Gosling's UNIX emacs throughout the 1980's, and when that ended I borrowed gosmacs.el and wrote a short .emacs to kept Gosling's emacs alive as Richard Stallman descended further and further into madness, breaking CTRL-h and trying to create thousands of functions keys ... I have never done "chording". What is that? I don't need an editor with more than about 100 function keys (CRTL-[a-z], CTRL-[A-Z], ESC-[a-z], ESC-[A-Z]). I absolutely hate 'info' and in the age of manpages and webpages it is an embarrassment to emacs. I absolutely love ESC-j (fill-region) for squeezing text into 77 columns, and ESC-x indent-region for unifying my coding style. Modern shells understand at least 20 emacs key-bindings (CTRL-e, CTRL-a, CTRL-k, CTRL-b, CTRL-f, CTRL-d, etc.) and so does the Chrome browser, apparently. Mostly these days I am turning off modes written by pedants who want to 'force' me to do things I don't want to do. ESC-x text-mode works just fine for that.
- hagmonk 5y agoSlightly younger old-timer here: I feel I've gone on the full spectrum on .emacs files and keybindings, at least for emacs versions commensurate with my own vintage. In the early 2000s I used emacs while writing C++, I was writing Lisp macros without any idea what I was doing just purely so I could avoid using one of the bloated Motif IDEs[1] or vanilla `vi` on SPARC boxes. No vim here, thanks, and the nice IT folks at the investment bank didn't permit you to install your own software, so emacs was a fantastic end-run around their rules. We used `pine` for email because somebody had done the leg work to get it working with the corporate Lotus Notes servers, but I got email working in emacs too. Somehow. Having to actually use your windows box was either a sign of weakness or an encounter with insurmountable corporate policy. Anyway, it never occurred to me to customize the emacs key bindings. At that stage in my career I assumed some godlike personage had chosen those key bindings for a reason, and I had better just go with the flow. Then I left emacs behind for too many years, but rediscovered it through spacemacs, which let me put off learning what I was actually doing for a few years more. Then on to doom emacs because it would make it "faster", then I finally had my epiphany and realized I would have to do this myself. Emacs of all things should not be slow, there is no excuse for it to be slow on these supercomputers we take for granted. So my config is now tangled from an org mode file to keep it nice and organized. When I add a new thing and it becomes slow, I stop immediately and figure out why. And I kind of stick to the original emacs keybindings where possible. I have no idea what people are complaining about when it comes to RSI. My only non-negotiable change is to reassign (at the OS level) caps lock to control, simply because ctrl is such a small target on most keyboards, which are apparently made for FOLKS WHO NEED ALL CAPS way more than you or I use ctrl. Scary thought. I would argue RSI is going to come from the R part: repetitive. You spend most of your time, even when coding, just typing strings over and over. Likely the RSI suffers never learned to touch type and so the real strain comes from well established bad habits. Try using an Ergodox-EZ ortholinear split keyboard, you'll soon learn whether you're truly touch typing or not. I can't see how emacs shortcuts would be the source of pain. Maybe if you're typing on a 2000-era Sony Vaio or Nokia handset and never learned to touch type? Reminder: old curmudgeon talking here, I may have just got lucky. If you like emacs keybindings and happen to be using macOS (which out of the box in most text fields supports the basic emacs key bindings anyway), a kind soul has put together a KeyBindings.dict that extends support even further: https://gist.github.com/cheapRoc/9670905 https://gist.github.com/cheapRoc/9670905 Mentoring newer engineers, it's remarkable how many of them are at the terminal holding down the backspace key, waiting for individual characters to be deleted over long seconds. The idea of using option-b or ctrl-a to move backwards blows their mind. Ctrl-k to delete everything forward of point is also revelatory. It's curious that they get stuck in this rut, totally dependent on the shell day to day, but wholly accepting of these inefficiencies. Yet their forebears - who actually wrote and hacked on these shells, if anything went overboard giving you ways to do everything they could conceive of with the bare minimum of keystrokes. How many of them know you can hit ESC-t to transpose the two previous words in bash? (M-t in emacs for the same). I'm tempted to blame the children but honesty if you give a child a claw hammer and they point at the end with the V shaped prongs and say "what is that for?" you will explain it to them, or they will eventually figure it out. Maybe its purpose will never occur to them, but it's a rare user of hammers who has driven nails but never encountered the need to reverse that operation. How exactly do we design software such that someone notices the existence of option-b and how much time it could save them? Maybe it's all the fault of the mouse? Better yet: Windows and the mouse! [1] I'm sure you can empathize with a feeling of horror that once upon a time, Motif felt bloated and slow. Perhaps we are doomed to always be at war with slow abstractions, independent of the hardware capabilities.
- markus_zhang 5y agoI feel sad after reading the whole story :(