reddit / emacs

the real reason emacs is superior - org+latex+sagemath

mahmooz · 2022-04-30 15:02
[deleted] · 2022-04-30 15:43
[deleted]
00-11 · 2022-04-30 15:52
Mea culpa. I only looked at your post title, not your video. Judging by that (which is no doubt unfair, but might provide some help): You missed the most important "feature" about Emacs, which makes it superior in every way: ***Lisp***. Lisp is the **"killer app"** of Emacs. Not Org, not Magit, not anything else. IMHO, Emacs is really about providing a Lisp environment that's designed to work with text buffers (out of the box).
mahmooz · 2022-04-30 15:56
sure elisp is what makes emacs emacs, but saying "hey use emacs because it provides you with a language called elisp" to other people doesnt make them interested in using emacs, you have to demonstrate how the power of elisp translates to actual practical work and this is a great way to showcase it
MrTinyToes · 2022-04-30 16:28
Go be a salesman for something else, you shouldn't convince people to use something just because you do. If they don't see "the power of Emacs" why are you trying so hard to convince them?
MrTinyToes · 2022-04-30 16:28
"the real reason Emacs is superior" by someone who knows nothing about why Emacs is superior...
mahmooz · 2022-04-30 16:54
im aware that what makes emacs powerful is that it is basically a GUI lisp interpreter, i am fully aware that the source of power is the fact that everything in emacs translates to lisp functions and that emacs is self-documenting which makes it very easy to learn on your own, i am fully aware of the nature of emacs, my only intention in this video was to demonstrate a practical usage of org mode that cant be replicated in any other piece of software let alone a text editor, this was especially targeted towards people who are wondering whether making the switch from something like vim to emacs would be worthwhile, i dont understand the hate this post is getting and im sorry for not focusing on elisp in the video as the main source of customizability and power
00-11 · 2022-04-30 17:02
I'm saying that I look at Emacs differently - not so much as an end-user text editor, and more as a Lisp environment. A *Lisp* environment that has built-in *stuff for manipulating text buffers*. Yes, this is a *personal view* of Emacs. But my hunch is that it's really *behind* what Emacs is and underneath why people end up using it (for whatever reasons they feel they use it). I think it's what makes it possible for Emacs to be Emacs - to anyone. To me it's a very good first approximation (if not more than that): **Emacs = Lisp + text buffers**
lerkmore · 2022-04-30 17:39
How is he getting the popup list of "exports" options? `#+begin src sage :exports ...`
mahmooz · 2022-04-30 17:46
hit tab after typing colon
DanGNU · 2022-04-30 18:05
That, to me, is actually wrong. Marketing and sales are incredibly difficult problems and all communities that grow have a pretty well establish marketing team, which help get new people onboard and develop new things. Also, Emacs is incredibly complex, on the first try many people won't get what the use is and drop it, so real examples are always useful.
tecosaur · 2022-04-30 18:09
You seem to be getting a fair bit of criticism for saying this is *the* reason Emacs is good, but it's a cool demo video for org-babel. Nice 👍
MrTinyToes · 2022-04-30 18:11
Marketing and sales implies a product. Is open source software a product? What is the benefit of a "sale"? What is the point of expansion if it means sacrificing quality? I'd rather see it get better rather than bigger, if the two are exclusive. Obviously everybody wants the best of both worlds. A horde of users that only use a few parts of the Emacs ecosystem doesn't seem like a horde of users that is going to better the entire Emacs ecosystem... There is a reason Vim exists, and a reason Emacs exist, it's okay for both to coexist. There's no need for this constant arguing and convincing of "the other side".
snippins1987 · 2022-04-30 18:16
My Emacs's moment was when I saw a video where the author casually overriding a function of a package he's "configuring". Start writing my init.el 1 day later.
Aglets · 2022-04-30 18:22
What's wrong with sharing ideas and content? The genius of emacs isn't apparent on the surface level. I'm glad that content like this was available to me when I was searching for tools to improve my workflows, otherwise I would still be using Google Docs or some other simplified proprietary bs.
MrTinyToes · 2022-04-30 18:24
Why assume my stance is against sharing all content related to Emacs?? I simply said that it doesn't make sense to me to "market" a non-product to people who already have a solution. Any confusion must have been a mistake on my part.
Aglets · 2022-04-30 18:25
People are so protective of emacs as a programming tool, they fail to see how alternative applications of it can grow the community and broaden everyone's horizons.
DanGNU · 2022-04-30 18:26
Don't worry about the hate, people are always jelaous. One thing I would say though, as a constructive criticism, is that you need to learn video editing if you want to continue producing material for the community. Please don't feel bad and keep digging, I see you are very smart and I would love to see an explanation of your config, but you need to cut off the dead parts, at least out of respect for the audience.
lerkmore · 2022-04-30 18:27
I tried that , but it simply folds the `begin src` section.
mahmooz · 2022-04-30 18:28
hmmmm then its probably because im using company-mode not sure though i did start emacs using `emacs -Q` so it wouldnt load any packages and it still worked for me, weird.
lerkmore · 2022-04-30 18:34
I did emacs -Q and it still just folds the begin_src section * hello #+begin_src emacs_lisp :exports #+end_src
mahmooz · 2022-04-30 18:39
do you have company installed? this is my company-mode config (use-package company :ensure t :config (add-hook 'after-init-hook 'global-company-mode) (global-set-key (kbd "M-/") 'company-complete-common-or-cycle) (setq company-idle-delay 0) (setq company-require-match nil) (eval-after-load 'company '(progn (define-key company-active-map (kbd "TAB") 'company-complete-selection) (define-key company-active-map [tab] 'company-complete-selection) (unbind-key "RET" company-active-map) (unbind-key "<return>" company-active-map)))) im not sure if this would work though its just what i have, i hope it helps edit: see my other comment, im pretty sure you dont need company-mode for this
mahmooz · 2022-04-30 18:43
what i meant was to hit tab after typing the colon : not after typing :exports like :<tab>
DanGNU · 2022-04-30 18:59
First, you can always define a sale, be it an influx of money, a new follower or a new adopter. If more people use the product, more quality developers will help make it better. Excuse me for calling Emacs a "product", but I mean a wider meaning than something you can just buy/sell. Who said you sacrifice quality by expanding? Then, by that logic, we actually have to refuse all new user to keep the maximum quality. That is the perfect formula to kill a community. It's necessary to drop the entitled hat before helping newbies though, I hope you will manage, as experience user are the ones training the noobs on the way of the sword. By the third point I get you thing a person needs to be a professional in the whole field before he/she helps with something he/she is an expert in. Let me tell you, PhDs in one field are incredibly stupid in others, just look at any expert who talks out of his/her sphere. If a newbie is a pro in stadistics, why should I force him to understand mailing in gnus before I let him/her contribute in r-mode (excuse my ignorance if that doesn't exists). I actually prefer experts in one thing than mediocre "geniuses" in everything. I include myself in the latter as I use many packages but contribute or give an opinion on barely any.
00-11 · 2022-04-30 19:12
All true. Except for this outrageous, market-culture-shaping claim: > all communities that grow have a pretty well establish marketing team It's not a reasonable critique to say that Emacs isn't being sold (pitched) well enough, or that it needs better marketing. **Emacs isn't being sold, period.**
00-11 · 2022-04-30 19:15
Proof? Who are these "people" - the protectors who fail to see alternative applications and their possible horizon-broadening and community-growing effect? Clearly you don't have in mind those who *actually have* invented and provided applications that have broadened horizons and grown the Emacs community.
00-11 · 2022-04-30 19:24
FWIW, I've watched the video now. I think it's fine, useful. Thx!
mahmooz · 2022-04-30 19:30
thank you for your kind words, im not sure i wanna be a content creator or anything like that, maybe i will upload a video every now and then, i didnt really expect this to get much attention i just wanted to share my workflow because i just wanted others to see how great emacs can be, it was out of pure excitement that i decided to create this video
DanGNU · 2022-04-30 19:46
Well, that's actually the kind of entusiasm we need. People who love the tools they use so much that they are willing to share with others their findings and workflows. I recommend the Emacs podcast. It was made by a dude who was not professional at all, but he tried and shared such interesting information that got me to research many new packages I didn't even heard about. That's the kind of people who make this community move.
DanGNU · 2022-04-30 19:55
Jesus, we are not talking about a commercial product. Wouldn't you want faster Emacs' development? More quality packages? More frequent updates? How are you going to get that if you are not giving a salary to people? You can only get so much work for free until people get better things to do than coding for others. I get the "contribute for free" philosophy, but energy, curiosity and friendliness are what move a community and helps it improve. If you kill the first try of a person wanting to share something he is passionated about, guess what, instead of contributing more he might just drop everything. And he might be a genious, you don't want to lose that.
almadaer · 2022-04-30 21:57
Great video! What Desktop Environment is this? Is it wmii? haven't seen it in ages
00-11 · 2022-04-30 22:03
*Seriously?* "Faster development, more quality packages,..." ["When did you stop beating your wife?"](https://en.wikipedia.org/wiki/Loaded_question) > How are you going to get that if you are not giving a salary to people? Sounds like you not only drank the market-marketing Kool-Aid; you soaked in it till completely water-logged. **Emacs didn't fall from the sky.** How many who created Emacs or have contributed to it do you think were paid a salary to do so? Do you fight for whatever cause/candidate pays you the most? Do you believe in your beliefs because you're paid to? Do you put energy and love into your kids or siblings or... because some pays you to do that?
dpoggio · 2022-05-01 00:05
This is undeniably true, but it’s also like saying: I see Linux like a kernel. Actually, the command “emacs” is just a Lisp interpreter, but Emacs, the editor, built on top of emacs, is an editor. You can also build other things on top of emacs.
dpoggio · 2022-05-01 00:11
The emacs lisp interpreter does not include any GUI. As a matter of fact, you can use emacs as a bare scripting engine. Just pointing this out.
00-11 · 2022-05-01 01:51
I don't deny any of that -- except perhaps *"the command 'emacs' [whatever you might mean by that] is just a Lisp interpreter"*. Elisp is a Lisp dialect with built-in features for manipulating text buffers. That's what makes it special as a Lisp dialect (and special as an editor). Lisp and text go back a long way together, of course. But Elisp puts *buffers* at the center. (That's what makes it an editor.) ---- Oh, and by the way, it also gives you propertized buffer text (and overlays) and strings - as well as the usual Lisp propertized symbols. (Lisp gives you names (symbols) with properties, and Elisp does the same for strings.)
seshna · 2022-05-01 02:20
so why is it rendering so slow? this is incredible btw. its a shame he didnt have some examples pre-prepared so the presentation had more flow, but its really cool that he took the effort to record this
ve_era · 2022-05-01 02:40
This is wonderful. Would love to watch more of your Emacs workflow! Emacs has a bad rap for being too complicated to use. But content like yours would demystify and show how amazing it is.
-xylon · 2022-05-01 11:06
And it only took him 300 hours to get this setup to work!
mahmooz · 2022-05-01 11:47
310 to be exact :D
AnugNef4 · 2022-05-01 14:50
I like this video. I code in C++ at work and use org-babel frequently to test things. I showed a colleague one day how it works, and his jaw dropped. He had no idea that something like that existed.
dpoggio · 2022-05-01 15:23
I don’t think you get me if you may deny that the command emacs is just a lisp interpreter. The command (the executable binary called if you execute `emacs` from your shell) is no more than “python” is. It’s an Lisp interpreter. By default, it loads a bunch of scripts (except if you call `emacs —script blabla.el`). The “Lisp environment”, or more adequately the lisp interpreter, is always there as the core, but the application built on top of it, the end-user text editor, is also called Emacs. You will see that this description fits the one found in https://www.gnu.org/software/emacs/.
leet-adept · 2022-05-01 15:48
How do I get that file list buffer on the left?
00-11 · 2022-05-01 16:27
I see now what you meant by *"the command 'emacs'"*. Yes, it invokes *"just a Lisp interpreter"*. Of a particular kind.
mahmooz · 2022-06-10 13:34
>https://github.com/Alexander-Miller/treemacs