From 2b47dac39b443210eb0d34ac31257f19c4ab1a64 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Thu, 2 Dec 2021 12:46:03 -0500 Subject: Add pad stuff --- 2021/talks/eaf.md | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) (limited to '2021/talks/eaf.md') 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 + ( + or my talk from last year + ( +- 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 () or my talk from last year () +Links and other notes: + +- you might find the this bench-multi-lexical macro useful: + + or +   +- +- +- \"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. +- + [[!inline pages="internal(2021/captions/eaf)" raw="yes"]] [[!inline pages="internal(2021/info/eaf-nav)" raw="yes"]] -- cgit v1.2.3