summaryrefslogtreecommitdiffstats
path: root/2021/talks/eaf.md
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2021-12-02 12:46:03 -0500
committerSacha Chua <sacha@sachachua.com>2021-12-02 12:46:03 -0500
commit2b47dac39b443210eb0d34ac31257f19c4ab1a64 (patch)
treea6d5ff7dfd45f90c08615ff4386cc562dac17e59 /2021/talks/eaf.md
parent6ec428824567a2f8325da742171bff1166b2b5c3 (diff)
downloademacsconf-wiki-2b47dac39b443210eb0d34ac31257f19c4ab1a64.tar.xz
emacsconf-wiki-2b47dac39b443210eb0d34ac31257f19c4ab1a64.zip
Add pad stuff
Diffstat (limited to '2021/talks/eaf.md')
-rw-r--r--2021/talks/eaf.md66
1 files changed, 66 insertions, 0 deletions
diff --git a/2021/talks/eaf.md b/2021/talks/eaf.md
index 78a52c78..6fc946a6 100644
--- a/2021/talks/eaf.md
+++ b/2021/talks/eaf.md
@@ -19,6 +19,50 @@ last year, this talk will briefly go over them.
IRC nick: matthewzmd
+- Q1: Any plans for supporting other languages?  It\'d be great to use
+ EAF to offload processing to Common Lisp, for example.
+ - A: You\'re able to use Python & JavaScrpt/Vue to extend on top
+ of Elisp, it is so far enough (Python for Qt apps and JS for web
+ apps). Currently I don\'t see a clear advantage of using Common
+ Lisp as well, but there could definitely be a support in theory.
+- Q2: is there an eaf-app that\'s not a bootstrapping nightmare?
+ (having Vue as a dependency, eg)
+ - A: I don\'t fully understand what you mean by \"bootstrapping
+ nightmare\", all these dependencies are system dependencies that
+ you install like any other system dependency, it doesn\'t slow
+ the Emacs startup nor the system startup. But if you\'re asking
+ for an app suggestion with lightweight dependencies without JS
+ or Vue dependencies, the popular EAF Browser and EAF PDF Viewer
+ are cool app options.
+- Q3: Are there security implications to having a browser in emacs?
+ - A \[opalvaults\]: With how Emacs deals with things like
+ GPG/pass/etc. I feel like it\'s probably as secure as you make
+ it?
+ - A: \[matthewzmd\] the browser application is independent from
+ emacs itself, you\'re using a browser in emacs, but the browser
+ is not actually \*in\* emacs. The browser is QtWebEngine, a
+ modified Chromium without Google stuff, it is as safe as a
+ Chromium can be.
+- Q4: maybe i misunderstood, but is every eaf app essentially embedded
+ QT?
+ - A: yes, it\'s built upon qt-webengine 
+ - A: Yes, it uses PyQt5 and it\'s essentially painting the Qt
+ frame on top of emacs, simulating a buffer. EPC is used for
+ Elisp \<-\> Python \<-\> JS communication so that you can extend
+ Emacs in various langauges
+ - Q: I guess/hope this is using qtwebengine, not qtwebkit?
+ - A: right, qtwebengine.  If you wanna dig more into the
+ internals of EAF, I suggest you to read this part of the
+ Wiki
+ (<https://github.com/emacs-eaf/emacs-application-framework/wiki/Hacking)>
+ or my talk from last year
+ (<https://emacsconf.org/2020/talks/34/)>
+- Q5: Can the EAF dependencies be made into dynamically loadable
+ modules for Emacs, so there will be no need to rebuilt Emacs?
+ - A: There is no need to rebuilt Emacs, they\'re simply
+ dependencies that you can install using the system package
+ managers (pacman, apt, etc), npm install and pip install
+
- One thing I never tried watching all this is viewing PDF files within emacs.
- is there an eaf-app that's not a bootstrapping nightmare? I suppose having Vue as dependency makes that not so for a large number
- This is pretty cool, from a security standpoint, I'm not sure I'd want a web browser in emacs all that much.
@@ -31,6 +75,28 @@ IRC nick: matthewzmd
- I guess/hope this is using qtwebengine, not qtwebkit? ('cos qtwebkit is unmaintained and by now massively insecure)
- matthewzmd: if you wanna dig more into the internals of EAF, I suggest you to read this part of the Wiki (<https://github.com/emacs-eaf/emacs-application-framework/wiki/Hacking>) or my talk from last year (<https://emacsconf.org/2020/talks/34/>)
+Links and other notes:
+
+- you might find the this bench-multi-lexical macro useful:
+ <https://alphapapa.github.io/emacs-package-dev-handbook/#outline-container-Optimization>
+ or
+ <https://github.com/alphapapa/emacs-package-dev-handbook#bench-multi-lexical> 
+- <https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/emacs-lisp/elp.el>
+- <https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/emacs-lisp/benchmark.el>
+- \"Use hash tables kids!\"
+- PSA: buffer-local-value is generally much faster than
+ with-current-buffer if all you need to do is get the value of a
+ variable in a buffer 
+- EIEIO\'s object construction is slow because it goes through
+ \`make-instance\` which is a generic function and it itself calls
+ various other generic functions, so there\'s a lot of cl-generic
+ dispatch overhead; and then there\'s the fact that the (keyword)
+ arguments are laboriously parsed at run-time so it itself is slow as
+ well.
+- There is a pending patch to represent the set of a buffer\'s
+ overlays as an AAtree or somesuch.
+- <https://media.emacsconf.org/2021/emacsconf-2021-faster--optimizing-emacs-lisp-code--dmitry-gutov.el>
+
[[!inline pages="internal(2021/captions/eaf)" raw="yes"]]
[[!inline pages="internal(2021/info/eaf-nav)" raw="yes"]]