From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id 0Kj0AHqzkWJ8QgEAbAwnHQ (envelope-from ) for ; Sat, 28 May 2022 07:30:34 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id 0PfSAHqzkWJfywAAauVa8A (envelope-from ) for ; Sat, 28 May 2022 07:30:34 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id B6CBBC90A for ; Sat, 28 May 2022 07:30:33 +0200 (CEST) Received: from localhost ([::1]:39324 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nuoSN-0007ne-3t for larch@yhetil.org; Sat, 28 May 2022 00:53:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39844) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nuoRG-0007nG-6n for emacs-orgmode@gnu.org; Sat, 28 May 2022 00:52:34 -0400 Received: from mail-pj1-x1031.google.com ([2607:f8b0:4864:20::1031]:36516) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nuoRD-0005wE-SU for emacs-orgmode@gnu.org; Sat, 28 May 2022 00:52:33 -0400 Received: by mail-pj1-x1031.google.com with SMTP id u12-20020a17090a1d4c00b001df78c7c209so8771805pju.1 for ; Fri, 27 May 2022 21:52:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version; bh=qUNuQyKbCkvEwdt0urvl0L0AMIxwdXsIgWVJWZb1FeI=; b=kKjxloh6JFJEOOtjzGrGRHZeX5oGZOKffxWkhtFPaPWXyYSZs11lvx3AfMJjGT19w5 nHkdxZr5VwuIL6PMLEZJq7U4DJkngOenvGgKbapLCB/mJDiUSgqDdRkAZSeSjIHrw8aO A2ZFYpr8zfL0Ao4Ay/ucwXCUf0+lddpsFgaWZ5D23yPw71P1QagZFJ5CJz6kR8bljG7B U+AIjF+mLgpZ+JsRP2MCSeW2JVGpwXOLTq9dNGLcgzQmCz/3rSu2YT7/qJdMoWd5cMph rpnNZRGUXAKPIcpB+l1W+UBE0A4HW7pZB6Rg2YcuMf4T7k0w9diK58RuwpMGTfzr4RDh hL/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:mime-version; bh=qUNuQyKbCkvEwdt0urvl0L0AMIxwdXsIgWVJWZb1FeI=; b=sM53gRDO9kpNkW67n0DCe1esrSWRLj1FfJXJOx++KNHNl6xK7gWWXE1KkdTO+yLabx pzkX2iDntrBPPvo7/YTLpf7ebKHDdMYsqpD86e/1hEUGUdcAdq5IB3MSFQ99NIOUrDTQ xTN4omSIu3jvwjLKvjipxBhYJzvbdspGL2KZE9qMkXXNk/jcOpZJKM5OLXYVMgAq2Pcd y0n6uo1XHOUlpbAGC6l5nxKZedlTN/TTfUfFZ4/oSh4q4JwYH9skJRvT/51KsdXIZjPQ QGaFjc/z1aUjlpp8rC2deNilv8+Cxo5h/n8uLo7X+pwJBnS50dwZsGaZfQvwykzEZh0L qmxQ== X-Gm-Message-State: AOAM532+0jRE0aMgYhBLArxeQP+cKOlazbaCP7C7kGvNkoYUtqhQXHHp tyRSZKeesJ0t01Ru9mnqDRg= X-Google-Smtp-Source: ABdhPJxGRITsx+PHiOH8KemJ9nuJ8lXcMISqtMDMXZAcd+C3OFDqJDlVEZm7Lj47vttgLiTsDlHJDQ== X-Received: by 2002:a17:90b:380f:b0:1e0:9a0:4a99 with SMTP id mq15-20020a17090b380f00b001e009a04a99mr11896165pjb.158.1653713549939; Fri, 27 May 2022 21:52:29 -0700 (PDT) Received: from localhost ([64.32.23.62]) by smtp.gmail.com with ESMTPSA id z7-20020a170903018700b0016188a4005asm4597273plg.122.2022.05.27.21.52.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 May 2022 21:52:29 -0700 (PDT) From: Ihor Radchenko To: Eduardo Ochs Cc: Org Mode Subject: Re: Eev-wconfig.el etc etc, or: "Exercise: Learn Org!" In-Reply-To: References: <87h75b59pj.fsf@localhost> Date: Sat, 28 May 2022 12:53:09 +0800 Message-ID: <87mtf2cl6y.fsf@localhost> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::1031; envelope-from=yantar92@gmail.com; helo=mail-pj1-x1031.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1653715833; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=qUNuQyKbCkvEwdt0urvl0L0AMIxwdXsIgWVJWZb1FeI=; b=HipsKcTf/DdyX/b3f+cL7P9pQzG1e9dV/ZsIDJoNCvUEPx5sMBaC5k8xDRuoMehWF3rRTz nFl6u138LAz6oc0jYwK+cp3+WrY6WJLiEYBgFtFjj+6mNFyPtIyy4Ho+/NUr2INghqG3sW R2hmbZDBj0CGQu9TdqzT1eHK3AchaG9hFOvfF0n45dkzzLVZIP6o850t2OrIXuVzJR6Rfk GqBJH2+CoFNPS1EzENa5aMDoAnXCQrMkEKKL4O0iPF1sf6oPEP2QMO2HFOXEvQzrQKvMWN KyofFULWBgfWfkEyC1NVyDxUcfG4MGCem91OeJ/u5va3dl9Kc/FZ+7qbMtbsZw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1653715833; a=rsa-sha256; cv=none; b=DUCXjezfIYN2UVDLitNkN5Rr1FbAhtvgELXsH4gNyTKmbzlF/EOYQZpknKp2aKcpM/dQWl ud2UV426VZ0sESde8oUtwDHpIws9JSX4ifWH008myXZk3nmkKqnZBspMji1PX/CH3z+QTs y2KEatHG/BdIPs1ltuRAqSGdiacn+SpEiw+jGK/JAPZiEd3RxXBUkH0mV5C+5aNh0EBYkg oFB6irGlbP+8ymCZOjLGrXhAEHOE9ZayVAwS8+j/YG7zhp8kIqB0iAUmi5k3OfHru69xiD Qqp7B2ZIU7aBpnFWR86hSwG54vjhqDnuqujQNmEBYb0BI38eMDFekP6ol48Mhg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=kKjxloh6; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: 4.35 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=kKjxloh6; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: B6CBBC90A X-Spam-Score: 4.35 X-Migadu-Scanner: scn0.migadu.com X-TUID: huB5WitPB6pr Eduardo Ochs writes: > On Fri, 27 May 2022 at 11:30, Ihor Radchenko wrote: >> You are discussing too many things at once in one video. > > Yes - that's why I made an index for the video: > > (find-1stclassvideoindex "2022eevwconfig") > http://angg.twu.net/.emacs.videos.html#2022eevwconfig Honestly, I cannot navigate that index even after watching the whole video. Before watching, it had no sense whatsoever. In short, the video is too hard to understand. The available index does not help. Imagine that you don't watch the video and look at the below items: ;; (find-2022eevwconfigvideo "15:50" "6.1, 6.2, 6.3, 6.4") ;; (find-2022eevwconfigvideo "16:03" "these steps can be replaced") ;; (find-2022eevwconfigvideo "16:12" "by these two sexps here") ;; (find-2022eevwconfigvideo "16:15" "(require 'eev-wconfig)") ;; (find-2022eevwconfigvideo "16:23" "(find-wconfig-links)") ;; (find-2022eevwconfigvideo "16:37" "use this to configure eev") ;; (find-2022eevwconfigvideo "16:40" "on Windows \"without magic\"") ;; (find-2022eevwconfigvideo "16:52" "wconfig means \"Windows config\"") ;; (find-2022eevwconfigvideo "17:02" "this is the \"main wconfig\"") ;; (find-2022eevwconfigvideo "17:15" "five sub-wconfigs") What is 6.1..6.4?? "these steps can be replaces" has no context "by these two sexp here" does not make any sense as a standalone TOC Item. "on Windows \"without magic\"" is referring to the term you introduce in the video itself and does not make sense without watching. (Honestly, after watching, "without magic" feel like there was a lot of magic going on). etc... >> What is the main point you want to explain in the video? How to >> download, watch, and annotate a series of videos? If so, you only talk >> about it in the last minutes of the presentation. > > The video has many "main points". Then, it is not a good idea. Videos/books with many main points not connected by an easy-to-follow general logic are hard to understand. They are just a "thought salad". Note that it would not be a so much of a problem if you recorded this video as future reference to yourself. But it is unacceptable for general audience. Public presentations often follow more or less fixed structure: (credit: Prof. Evan Ma) 1. what is significant? (aka background) 2. what is the trouble? (why what you tell is important) 3. what is your approach? (explaining the new thing you want to introduce) 4. does it work well? (e.g. real-life demo) 5. can it be employed in other systems? (how other people with different systems can use it) >> Also, do you expect people new to emacs understand all the >> (commmand args) staff? > > Yes, in my view of "what is Emacs" the first thing that people need to > learn is eval-last-sexp and its more convenient variants. See the page > 10 of my slides for the EmacsConf2019: > > http://angg.twu.net/LATEX/2019emacsconf.pdf#page=10 Then, your target audience should be the people who are already a bit familiar to Elisp and you need to state it at the beginning of the video. Explaining how setq works is not enough to make complete beginners understand sexps. You should either stop at the beginning and introduce _all_ the required Elisp concepts or ask people to read Elisp manual first. >> I still fail to understand what is the advantage of eev compared to Org >> or Hyperbole (which also provides context-free actionable links). > > Here are my current hypotheses: 1) my brain is wired in an atypical > way; 2) about 95% of the people find Org "easy" and "fun", and eev > makes no sense to them - and about 5% of the people find Org very > hard, and they find eev much "easier" and "more fun" than Org. This is Org mailing list. I doubt that people here do not find Org "fun". Yet, you asked feedback to the video. So, I assumed that you cover us as target audience as well. If not, my feedback may not be too useful for you. Though I'd say that your presentation is hard to understand even from general perspective of giving public presentations (according to my teaching and conference experience). >> I still fail to understand what is the advantage of eev compared to Org >> or Hyperbole (which also provides context-free actionable links). > I explained this in the eev-wconfig video, starting from 33:27: > > and sort of summarizes it. Let me copy here the subtitles of that part > of the eev-wconfig video: > > So: in this video I explained why I have > always found Org so hard to learn... > and the thing is that many things in Org > are implemented in ways that i > don't understand, > and practically every time that I try to > learn more more features of org > I get stuck, because I start to ask > questions like: > hey, how is this implemented? > And I get stuck trying to trying to > answer these questions, that are not > typical user questions... I still do not see where is the _advantage_ of eev. Is it easier to understand compared to Org? In what way? How can I understand eev features? >> I recommend recording a much shorted video demonstrating a singe task >> you perform using eev. No need to side track explaining Elisp syntax. No >> need to show troubleshooting. No need to show things users "are not >> supposed to understand". No need to show initial configuration with all >> possible caveats. > > There are lots of short demos scattered through the videos... here's > one that has subtitles. If you run this > > # Index: http://angg.twu.net/.emacs.videos.html#2022pict2elua > # Info: (find-1stclassvideo-links "2022pict2elua") > wget -nc http://angg.twu.net/eev-videos/2022-pict2e-lua.mp4 > wget -nc http://angg.twu.net/eev-videos/2022-pict2e-lua.vtt This video is somewhat better, though it still mixes eev and demonstrating the library. Is the video describing a eev feature to support Lua repl? Or is it also a testing library for Lua? >> No need to side track explaining Elisp syntax. No >> need to show troubleshooting. No need to show things users "are not >> supposed to understand". No need to show initial configuration with all >> possible caveats. > > Can you explain these "no need"s? Except for the red stars and anchors > _all_ the "markup language" of eev consists of explicit sexps... In short, if the purpose of the video is to introduce eev to new users, you need to demonstrate (by example) how eev can be used _normally_. By normally, I mean after you already install it and when everything works as expected. There is no need to explain extra information that is not strictly required to understand the video. What is strictly required depends on the purpose of the video. What exactly do you want the users to learn from the video? It should be no more than a handful of concepts. >> You argue that Org is a "black box", but your code is also a black box >> in a sense that one needs to read the "wconfig" files (AFAIU). How is it >> different compared to Org written in Elisp following the usual >> documentation conventions described in the Elisp manual? > > Eev-wconfig is only needed for configuring things on Windows. On, say, > Debian, people only need to install google-chrome (obs: it's easy to > use other browsers instead), and do this: > > sudo apt-get install wget xpdf pdftotext mpv > > after that all the features will work. Sure, but it does not challenge my point. How can I understand the eev internals? Why is it easier compared to Org? > Here are two examples of cases in which I stumbled on black boxes that > I never managed to open properly, one in Org and one in Hyperbole: > > https://lists.gnu.org/archive/html/emacs-orgmode/2021-12/msg00674.html > https://lists.gnu.org/archive/html/emacs-orgmode/2022-02/threads.html#00098 As I mentioned in that thread, I am not sure what you mean by black box there. The source code of org-export-dispatch is available to you. > https://lists.gnu.org/archive/html/hyperbole-users/2020-09/msg00012.html Judging from this email, you find eev easier because you understand the underlying logic. This is of course true, especially since you are the author :) Also, eev only implements a subset of what Org mode of Hyperbole does. It also makes things simpler to understand. If I understand correctly, you expect the end functions to be exposed directly as text without any intermediate dispatchers. Unfortunately, larger projects like Org do not have this luxury. Org has so many features that nobody can easily remember them all. Hence, some "automatic" behavior is inevitable and one needs to follow all the intermediate handlers to reach the actual function that does the work. You can still understand the inner workings by examining the Elisp code and making use of Emacs help system (F1-k F1-f F1-v) to jump around functions and bindings. It is not as easy as in smaller projects, but not impossible. (That's how I learned Org myself). Best, Ihor