summaryrefslogtreecommitdiffstats
path: root/2025/talks
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--2025/talks/modern.md77
1 files changed, 77 insertions, 0 deletions
diff --git a/2025/talks/modern.md b/2025/talks/modern.md
index 2d63fa0f..a66c604e 100644
--- a/2025/talks/modern.md
+++ b/2025/talks/modern.md
@@ -28,7 +28,84 @@ total sense to a handful of people and no sense at all to
practically everyone else - except for one part of eev, called
"eepitch". He intends to explain the reasons for that in his talk.
+## Discussion / notes
+- Q:  [from IRC] why the lambda representation has recently changed
+ to vector-like?
+ - A: It is easier to debug Emacs if different kinds of objects
+ have different types... keeping everything as lists is better
+ for quick-and-dirty code, but the developers wanted something
+ that felt less "dirty"...
+- Q: Do you have hints for integrating eev into an already existing
+ workflow?
+ - A: I need to understand the other workflows to see what I can
+ recommend... can we discuss that on chat? If your workflow
+ includes Org code blocks then I will learn a lot from your
+ workflow too...
+ - I was hoping for some document with some general notes or ideas.
+ Right now eev feels very 'dominant'. While it works great I
+ find it difficult to mix eev and other Emacs tools
+ - Which other tools? Can we discuss examples? I was able to
+ integrate eev with practically all the other packages the I
+ know...
+- Q: [from IRC] What do you think of org-mode and its executable src
+ blocks?  That seems to overlap with what eev seemed to provide.
+ - A: I need to learn more about Org and source blocks!!! The
+ problem is that every time that I tried to learn source blocks I
+ started to ask many technical questions about the details and
+ got lost in a big maze of rabbit holes... see:
+ <[https://anggtwu.net/2021-org-for-non-users.html](https://anggtwu.net/2021-org-for-non-users.html){rel="noreferrer noopener"}> -
+ I even tried to write functions that would display the data
+ structures behind source blocks, but at some point I gave up and
+ decided that I would only come back when I had people who could
+ help me... =(
+ - A: in short: when I tried to use Org mode I was always asking the wrong questions and trying to understand internal details that the developers treated as very advanced
+- Q: I just tested on SBCL, Guile and Chez Scheme, and all of them use
+ opaque objects for functions (Chez: `#<procedure square>`, SBCL:
+ `#<FUNCTION F>`). Why is Emacs Lisp changing to using
+ semi-opaque vectors considered so bad? (Or is just making them fully
+ opaque better for beginners?)
+ - Note: on SBCL you can inspect that function object and see
+ both the lisp code and the machine code it compiles to
+ - A: It is not bad at all!
+- Q: What defines `find-classtree'?
+
+- I must confess I am still confused about eev. same with hyperbole.
+ - A: eev doesn't make any sense from the description and the sales blurbs, all the few people who learned it learned it from the tutorials. but that video has a big example that is very easy to run it the person has eev installed - it starts a bit after 13:00.
+- I often find myself wishing other systems had a help system like Emacs.
+- It took me about 5 years to move from Space & Doom to vanilla Emacs 🤣
+ - Now that I think about it, it was about the same for me.
+ - it was less about learning elisp and more about finding the motivation & internal justification to start from scratch. David Wilson's tutorials helped propel me as well
+ - did you switch from vim/evil bindings to "Emacs Standard" bindings?
+ - The Doom & Spacemacs Frameworks obfuscate how vanilla Emacs actually works... and so after a while it became a barrier
+ - not really, I use evil when writing code but tend to stick to vanilla bindings for most other buffers
+ - My own motivation was that one day Spacemacs broke an important org-mode keybinding (M-RET) in a way that I couldn't work around. I had managed to learn a decent amount of Elisp by then, so I decided to go try my first vanilla config.
+ - I think it took me a few months
+ - me similar: I use evil mode for all prose and programming buffers but Emacs modes for everything else.
+ - I had installed too many packages that I didn't understand at all
+ - I was really unhappy with performance as I started to rely more on LSP modes (this was before the bytecode implementation). Switching to vanilla & moving to Eglot really helped with that, then of course the bytecode changes make it a non-issue now
+ - thanks! just started using emacs about 4-5 months ago via Doom. But I can't help think I've skipped some important learnings.
+ - I was quite happy when I got my first taste of native compilation. It improved Elisp performance tremendously.
+ - I really recommend giving vanilla a try! You can use this trick to setup a parallel config so you can try it out before scrapping your current setup: https://stackoverflow.com/a/58039656/315827
+ - That SO strikes me as slightly more complicated that necessary.. I would usually do it inline, like: emacs -Q -eval '(setq user-emacs-directory "~/emacs.1.d")' [filename, maybe]
+ - There is also the --init-dir flag.
+ - Fair comment, with your version it could be nice to build a shell function or alias so you can have multiple configs at one time
+ - shell function or alias is a great idea! taking a note to set that up for myself!
+- Q: following along a little using IELM... which version of Emacs was used in the recording? My (symbol-function 'foo) is giving #f(lambda (a b) [t] (+ a b))
+ - A: 31
+ - I get #[(a b) ((+ a b)) (t)] (not nil for the last vector element as shown in the presentation)
+ - Emacs 31 would be a development build (vs from the release branch) so it's possible two different builds of 31 could have subtle differences depending on which commit was the last included in the given builds.
+- A: the demo is here
+ - https://anggtwu.net/2025-modern/00-try-this.html
+ - https://anggtwu.net/2025-modern/00-try-this
+ - I think that people can run the demo with just this (find-wget "https://anggtwu.net/2025-modern/00-try-this") except for one line that with give an error because it depends on a function that is not in ELPA - actually not even on the github version yet...
+ - if anyone has eev installed and wants to try it please tell me... I think that one line of the demo calls a function that is not in the version of eev that is ELPA yet
+- Q: What do the leading red * in the left window mean?
+ - A: https://anggtwu.net/eepitch.html#test-blocks
+- I was using eev for a month or so then my guix package broke and I am too lazy to fix it
+- Very informative talk.
+- Thank you edrx! eev has been on my list of things to check for some time!
+- Super cool seeing pieces of the workflow with eev, gives me some ideas!
[[!inline pages="internal(2025/info/modern-after)" raw="yes"]]