diff options
-rw-r--r-- | content-org/emacs.org | 165 | ||||
-rw-r--r-- | content/emacs/whys-of-emacs.md | 179 |
2 files changed, 344 insertions, 0 deletions
diff --git a/content-org/emacs.org b/content-org/emacs.org index 021bb60..12fc38a 100644 --- a/content-org/emacs.org +++ b/content-org/emacs.org @@ -658,7 +658,172 @@ So, when you look at it this way, Emacs makes a lot of sense: - It runs above basic OS. You can replace your window manager with Emacs, but you need some sort of kernel. - You can live entirely inside Emacs, just like you can live entirely inside a terminal. +** DONE My "whys" for Emacs +CLOSED: [2023-12-26 Tue 22:12] +:PROPERTIES: +:EXPORT_FILE_NAME: whys-of-emacs +:EXPORT_HUGO_CUSTOM_FRONT_MATTER: abstract My reasons for using Emacs +:END: +I have used many editors over the years. +I've started with Notepad, then moved to Notepad++, Sublime Text, IntelliJ, and VS Code. +Heck, I even Nova at some point. +But only two really stayed with me for longer - the first being Vim, the second Emacs. +Choosing Vim[fn:nvim] seems like the logical option[fn:popular]. +It's an extremely popular editor with a huge community. + +But first: I *strongly* believe, that everyone working with computer, owe to themselves to spend some quality time with both, Vim, and Emacs. +Vim is amazing. +Modal editing is second to none when it comes to natural text processing. +They keybindings are close to perfect. +It requires some time to get used to, but let's not overstate that. +You can get semi-fluent in Vim in 2 weeks. + +And then there's Emacs. +I've tried it for a year. +I like it, but something felt off[fn:off]. +Then, for a few months I have returned to using Neovim. +But here I am. +Using Emacs once again. +Why is that? + +[fn:popular] amongst specific crowd at least. +But since you are here, it's quite possible that you are one of us. +[fn:nvim] I don't distinguish between Vim and Neovim here. +[fn:off] mostly keybindings. I am now armed with Evil mode, the best replication of Vim in any editor. + +*** License + +VSCode is released under non-free license[fn:vsclicense], and therefore the code you can see is not necessary what you run. +In fact we know this, as VSCode spies on users[fn:vsctelemetry], so it's an instant No for me. + +[[https://vscodium.com/][Codium]] exists as /libre/ version of VSCode, so it's an option. +However, it is not the same program as VSCode as incompatibilities exist, and the presence of plugins is limited[fn:codium]. +Any advancement of Codium is to the benefit of VSCode, and I hove problems with this. + +IntelliJ is completely closed-source, so it's also a no-go for me. + +Emacs[fn:gnu] is released on GPL[fn:emacsgpl] +Vim is released under custom /libre/ license[fn:vimlicense]. +Neovim is released under Apache license[fn:nvimlicense] +This means that the software is truly free. +I can see the entirety of codebase, not just the Lite version (like with VSCode). +I can redistribute it, I can copy, and share it without any limitations. +I can fork it, I can change it. +I can do almost whatever the hell I want it - as this was the basis of FSF. +This may be not important to you, but it is for me. + +I believe /libre/ software is a necessity. +Some people prefer /proprietary/ programs - some even don't see problems with /software as a service/. +But only /libre/ software allows for betterment of our /craft/. +Only by being able to freely modify and share software are we able to make the /craft/ better for future generations[fn:libre]. +I am paying for free software without any second thoughts by donating to some foundations. +Yes, I make my living creating /properties/ software, but I try to give back. +I refuse to /choose/ non-free software. +I am forced to use some, but whenever there is a choice, I will choose /free/. + +This leaves Vim and Emacs as two the two /important/ and /libre/ editors. +And with this, I have quickly removed almost all competition. +Now, how did I choose between those two? + +[fn:gnu] I refer to "GNU Emacs" as "Emacs". +[fn:vsclicense] https://code.visualstudio.com/license +[fn:vsctelemetry] "The software may collect information about you and your use of the software, and send that to Microsoft"[fn:vsclicense] +[fn:codium] https://ruky.me/2022/06/11/im-switching-form-vs-code-to-vs-codium/ +[fn:emacsgpl] https://www.gnu.org/philosophy/free-sw.html +[fn:vimlicense] https://github.com/vim/vim/blob/master/LICENSE +[fn:nvimlicense] https://github.com/neovim/neovim/blob/master/LICENSE.txt +[fn:libre] I will need to write a dedicated article about it at some point, as all that would only mud this one. + +*** Different visions of computing + +Vim and Emacs represent two, vastly different visions of computing. + +Vim is a precompiled program with plugin capabilities. +This is the vision of computing that has won. +You get a binary (or, worse, a webpage) which makes your program do its thing. +You can /expand/ it using different plugins and configuration, but the /program/ is an unmovable object[fn:os] + +Emacs is different. +We've got a very small /core/ written in C. +It handles basic functionalities, but by itself is close to useless. +But then we've got Lisp. +Almost all user-facing functionalities are written in Emacs specific dialect Lisp. + +And Lisp is the keyword here. +All of the codebase is exposed to the user, ready to be not only read (as with Vim) but also modified during runtime. +You can /change/ Emacs at a whim. + +VSCode tries the same, as it's a JavaScript-backed browser dressed as an editor. +Emacs therefore can be though as a Lisp-backed virtual machine dressed as an editor. +But the former was already rejected on the basis of being non-free (and I don't to run more Chromes that it's absolutely necessary), so it leaves me with Emacs. + +I am not a Lisp programmer, but I started learning it. +For now I like it more than JavaScript. + +[fn:os] I know you can modify the source code, but then you are running a fork and not the original program. + +*** Community + +I am not a people person, but people are what drive me. + +And this another aspect which drives me to Emacs. +There are folks who are happy with all-batteries-included distributions, like Doom Emacs. + +But there's a huge community of personalization maniacs. +People change every possible aspect of Emacs, because the program allows it. +Lisp is right there, and Emacs seems to be the last standing in the good fight to preserve /Literate Coding/ with /Literate Configuration/ people share. +To name just a few, who are my personal inspiration: +- [[https://se30.xyz/conf.html][Alex Maestas]] +- [[https://sqrtminusone.xyz/configs/readme/][Pavel Korytov]] +- [[https://protesilaos.com/emacs/dotemacs][Protesilaos Stavrou]] +- [[https://gitlab.com/dwt1/dotfiles/-/blob/master/.config/emacs/config.org?ref_type=heads][Derek Taylor]] +- [[https://sachachua.com/dotemacs/index.html][Sacha Chua]] + +But at the same time the community is /small/ and I have a thing for smaller communities. +There are Vim users everywhere, but it's not that easy to find an Emacsian[fn:bsd]. +But when you do, there are huge chances you've met someone at least interesting. +All Emacs users who I've ever meet in real life became my mentors to some degree. + +Also, what is *very* important to mention: despite popular joke, there is very little hate in the Emacs community. +People into Vim tend to tell mean joke about Emacs users[fn:vimjoke] - and part of this joke is that the feeling is mutual. +It couldn't be further from the truth. +We all have great respect for other /libre/ editors and their users. +In fact, a lot of us move between Emacs and Vim on a daily basis. + +Maybe this is partly due to age[fn:paah]? +Emacs users tend to be, well, older. +Some have their configs evolving since the 90s! +They've already got a lot to show, so they don't need to be mean spirited? +I have no idea, but what I know is that they are a lovely bunch! + +[fn:bsd] this also applies my other love, [[/bsd/][BSD]] +[fn:vimjoke] sadly, this was one of the biggest reasons I stopped following certain hyperactive Vim evangelist. +Let him become nameless. +[fn:paah] there is a very funny movie about this https://www.youtube.com/watch?v=urcL86UpqZc + +*** Stability + +Lastly, stability. +I use [[/bsd/][BSD]] because it doesn't change for the sake of change. +No SystemD will ruin a perfectly good workflow. + +Emacs is the same. +It's badge of honor - very rarely were there any bigger breaking changes. +When I used NeoVim, every few weeks something broke due to unfortunate update. +In Emacs on the other hand? +Not even once has something broke not from my own volition. + +Emacs comes with multiple competing solutions for the same problem, as people may rely on one of those. +If a new one comes along, the old ones are not replaced. +This increases the confusion of a new user, but it's very much appreciated. + +*** Summary + +Emacs is the only empowering, libre and limitless editor I know. +It has an amazing community which values I share, and I want to participate in. +Also, it does not require constant maintenance because someone changed something. +Using Emacs /sparks joy/. diff --git a/content/emacs/whys-of-emacs.md b/content/emacs/whys-of-emacs.md new file mode 100644 index 0000000..d5a478f --- /dev/null +++ b/content/emacs/whys-of-emacs.md @@ -0,0 +1,179 @@ ++++ +title = """ + My "whys" for Emacs + """ +author = ["MichaĆ Sapka"] +date = 2023-12-26T22:12:00+01:00 +categories = ["emacs"] +draft = false +weight = 2002 +abstract = "My reasons for using Emacs" +[menu] + [menu.emacs-varia] + weight = 2002 + identifier = "my-whys-for-emacs" ++++ + +I have used many editors over the years. +I've started with Notepad, then moved to Notepad++, Sublime Text, IntelliJ, and VS Code. +Heck, I even Nova at some point. +But only two really stayed with me for longer - the first being Vim, the second Emacs. +Choosing Vim[^fn:1] seems like the logical option[^fn:2]. +It's an extremely popular editor with a huge community. + +But first: I **strongly** believe, that everyone working with computer, owe to themselves to spend some quality time with both, Vim, and Emacs. +Vim is amazing. +Modal editing is second to none when it comes to natural text processing. +They keybindings are close to perfect. +It requires some time to get used to, but let's not overstate that. +You can get semi-fluent in Vim in 2 weeks. + +And then there's Emacs. +I've tried it for a year. +I like it, but something felt off[^fn:3]. +Then, for a few months I have returned to using Neovim. +But here I am. +Using Emacs once again. +Why is that? + + +## License {#license} + +VSCode is released under non-free license[^fn:4], and therefore the code you can see is not necessary what you run. +In fact we know this, as VSCode spies on users[^fn:5], so it's an instant No for me. + +[Codium](https://vscodium.com/) exists as _libre_ version of VSCode, so it's an option. +However, it is not the same program as VSCode as incompatibilities exist, and the presence of plugins is limited[^fn:6]. +Any advancement of Codium is to the benefit of VSCode, and I hove problems with this. + +IntelliJ is completely closed-source, so it's also a no-go for me. + +Emacs[^fn:7] is released on GPL[^fn:8] +Vim is released under custom _libre_ license[^fn:9]. +Neovim is released under Apache license[^fn:10] +This means that the software is truly free. +I can see the entirety of codebase, not just the Lite version (like with VSCode). +I can redistribute it, I can copy, and share it without any limitations. +I can fork it, I can change it. +I can do almost whatever the hell I want it - as this was the basis of FSF. +This may be not important to you, but it is for me. + +I believe _libre_ software is a necessity. +Some people prefer _proprietary_ programs - some even don't see problems with _software as a service_. +But only _libre_ software allows for betterment of our _craft_. +Only by being able to freely modify and share software are we able to make the _craft_ better for future generations[^fn:11]. +I am paying for free software without any second thoughts by donating to some foundations. +Yes, I make my living creating _properties_ software, but I try to give back. +I refuse to _choose_ non-free software. +I am forced to use some, but whenever there is a choice, I will choose _free_. + +This leaves Vim and Emacs as two the two _important_ and _libre_ editors. +And with this, I have quickly removed almost all competition. +Now, how did I choose between those two? + + +## Different visions of computing {#different-visions-of-computing} + +Vim and Emacs represent two, vastly different visions of computing. + +Vim is a precompiled program with plugin capabilities. +This is the vision of computing that has won. +You get a binary (or, worse, a webpage) which makes your program do its thing. +You can _expand_ it using different plugins and configuration, but the _program_ is an unmovable object[^fn:12] + +Emacs is different. +We've got a very small _core_ written in C. +It handles basic functionalities, but by itself is close to useless. +But then we've got Lisp. +Almost all user-facing functionalities are written in Emacs specific dialect Lisp. + +And Lisp is the keyword here. +All of the codebase is exposed to the user, ready to be not only read (as with Vim) but also modified during runtime. +You can _change_ Emacs at a whim. + +VSCode tries the same, as it's a JavaScript-backed browser dressed as an editor. +Emacs therefore can be though as a Lisp-backed virtual machine dressed as an editor. +But the former was already rejected on the basis of being non-free (and I don't to run more Chromes that it's absolutely necessary), so it leaves me with Emacs. + +I am not a Lisp programmer, but I started learning it. +For now I like it more than JavaScript. + + +## Community {#community} + +I am not a people person, but people are what drive me. + +And this another aspect which drives me to Emacs. +There are folks who are happy with all-batteries-included distributions, like Doom Emacs. + +But there's a huge community of personalization maniacs. +People change every possible aspect of Emacs, because the program allows it. +Lisp is right there, and Emacs seems to be the last standing in the good fight to preserve _Literate Coding_ with _Literate Configuration_ people share. +To name just a few, who are my personal inspiration: + +- [Alex Maestas](https://se30.xyz/conf.html) +- [Pavel Korytov](https://sqrtminusone.xyz/configs/readme/) +- [Protesilaos Stavrou](https://protesilaos.com/emacs/dotemacs) +- [Derek Taylor](https://gitlab.com/dwt1/dotfiles/-/blob/master/.config/emacs/config.org?ref_type=heads) +- [Sacha Chua](https://sachachua.com/dotemacs/index.html) + +But at the same time the community is _small_ and I have a thing for smaller communities. +There are Vim users everywhere, but it's not that easy to find an Emacsian[^fn:13]. +But when you do, there are huge chances you've met someone at least interesting. +All Emacs users who I've ever meet in real life became my mentors to some degree. + +Also, what is **very** important to mention: despite popular joke, there is very little hate in the Emacs community. +People into Vim tend to tell mean joke about Emacs users[^fn:14] - and part of this joke is that the feeling is mutual. +It couldn't be further from the truth. +We all have great respect for other _libre_ editors and their users. +In fact, a lot of us move between Emacs and Vim on a daily basis. + +Maybe this is partly due to age[^fn:15]? +Emacs users tend to be, well, older. +Some have their configs evolving since the 90s! +They've already got a lot to show, so they don't need to be mean spirited? +I have no idea, but what I know is that they are a lovely bunch! + + +## Stability {#stability} + +Lastly, stability. +I use [BSD](/bsd/) because it doesn't change for the sake of change. +No SystemD will ruin a perfectly good workflow. + +Emacs is the same. +It's badge of honor - very rarely were there any bigger breaking changes. +When I used NeoVim, every few weeks something broke due to unfortunate update. +In Emacs on the other hand? +Not even once has something broke not from my own volition. + +Emacs comes with multiple competing solutions for the same problem, as people may rely on one of those. +If a new one comes along, the old ones are not replaced. +This increases the confusion of a new user, but it's very much appreciated. + + +## Summary {#summary} + +Emacs is the only empowering, libre and limitless editor I know. +It has an amazing community which values I share, and I want to participate in. +Also, it does not require constant maintenance because someone changed something. + +Using Emacs _sparks joy_. + +[^fn:1]: I don't distinguish between Vim and Neovim here. +[^fn:2]: amongst specific crowd at least. + But since you are here, it's quite possible that you are one of us. +[^fn:3]: mostly keybindings. I am now armed with Evil mode, the best replication of Vim in any editor. +[^fn:4]: <https://code.visualstudio.com/license> +[^fn:5]: "The software may collect information about you and your use of the software, and send that to Microsoft"[^fn:4] +[^fn:6]: <https://ruky.me/2022/06/11/im-switching-form-vs-code-to-vs-codium/> +[^fn:7]: I refer to "GNU Emacs" as "Emacs". +[^fn:8]: <https://www.gnu.org/philosophy/free-sw.html> +[^fn:9]: <https://github.com/vim/vim/blob/master/LICENSE> +[^fn:10]: <https://github.com/neovim/neovim/blob/master/LICENSE.txt> +[^fn:11]: I will need to write a dedicated article about it at some point, as all that would only mud this one. +[^fn:12]: I know you can modify the source code, but then you are running a fork and not the original program. +[^fn:13]: this also applies my other love, [BSD](/bsd/) +[^fn:14]: sadly, this was one of the biggest reasons I stopped following certain hyperactive Vim evangelist. + Let him become nameless. +[^fn:15]: there is a very funny movie about this <https://www.youtube.com/watch?v=urcL86UpqZc>
\ No newline at end of file |