Workshop: Creating and Saving Elisp HyperlinksLong story short: I gave a series of workshops on "creating and saving elisp hyperlinks" in 2021 because I needed to get feedback on some parts of eev. Very few people attended but I produced a lot of material, both before and after the workshops. Parts of this material were polished later, but I also made six videos in a hurry because there was a chance that a few advanced users would pop up in the last workshop, and I wanted to be prepared. The advanced users didn't come and there are links to some of these videos in (find-saving-links-intro), so I sort of "have to" keep those videos in the list of first-class videos even though I find them embarassing. If you execute `M-x find-1stclassvideos' you will see that:
Update, 2023jan02: I added subtitles to the videos, and with subtitles I don't think that they are bad anymore! See this page. 🙂 The rest of this page is old. TL;DR: I will give a workshop on Emacs on the saturday, 04-dec-2021. Come! Everyone's welcome! The instructions are at the end of this section! =) 1. A short explanationThis was the abstract of my presentation at the EmacsConf2019:
Note the part in red: "tools that let us create and modify elisp hyperlinks with very few keystrokes". Until some time ago these tools were very hard to learn; a few people were able to figure out from the documentation how to use them fluently, but most people weren't. I think that I found a way to teach them in a way that is both quick and reasonably fun, that is somewhat inspired by how string instruments are taught - and much closer to the Suzuki way than to the Sevcik way. See also this - I especially like the part in which he says "there is a moment in which most of the learning takes place". When we are learning a string instrument we have to coordinate a lot of fingers (too many to count), a lot of arms (2), a lot of elbows (2), our head (1) - that is usually pressing the chin rest too hard - the bow, and our eyes, and we have to try to read the music while we try to play in time. A good teacher can help us make the fingers, the arms, etc, work well using less of our attention, and when this happens it frees some of our mental space and lets us concentrate on the music and on making it sound like music, not like struggling. I believe that in the right setting, and with the right tricks, people will be able to concentrate on selecting and copying the right hyperlinks instead of just struggling to memorize the key sequences. One of these tricks is to copy the diagram of the exercise to the notes buffer, as you can see in the second video below at 3:07. I am still writing the material that we will use in the workshop. The core of the material will consist on 4 or 5 very short videos like the first two ones above and a series of diagrams like the one here. The non-core material will consist of lots of explanations and elisp hyperlinks, like this. In the next few hours I plan to record two videos about the basic exercises and reorganize this completely. What: the main theme will be to "save elisp hyperlinks to everything that is interesting". To see what this looks like, run:
Where: the workshop will happen on Telegram. I'm @eduardoochs
on Telegram - if you want to participate just add me there and
send me a "hi" and I'll add you to the group in which the
workshop will happen, or join the group using this link. For other ways to
contact me, see here. Update: the workshop will happen on IRC too! if you prefer IRC just
join the channel #eev on LiberaChat!
2. Old notesIn october/2021 I prepared a workshop on Emacs for beginners, where these "beginners" would include "M$ Windows users who had never used terminals in their lives". The workshop itself was apparently a failure, for reasons that I will explain in the next section, but 1) I learned a lot with it, 2) my real, semi-hidden, non-altruistic intent with that workshop was to do a kind of social engineering in the good sense: I was trying to become friends with people who know how to use things that I find incredibly hard to learn, and I made a lot of progress on that. Let me explain. The first programming language that really clicked for me was Forth. It was "simple" in a way that is unusual today:
A sizeable part of Emacs is "simple" in the sense above, and my workshop was going to be about that. Many of the tools that most people find "simple" nowadays are very hard for me, for reasons that I only understood clearly very recently. My two favorite examples of Python and Org Mode - or, more precisely, Python classes and source blocks in Org Mode. Every time that I tried to learn Python I got stuck at the same point: I was never able to form a clear mental image of what a Python class is, so I would try to understand the details, and when I tried to ask for help the answer was always: "you are asking the wrong questions - you should try to use classes instead". And when I tried to learn some non-basic parts of Org Mode, like code blocks, a similar thing happened - I tried to understand how code blocks are implemented, but the souce code was written in a way that I found too hard... So: I'm trying to become friends with people who know how to use these things, and I'm trying to become someone who deserves their help and their patience. I sometimes produce material like this when I finally learn something that I found too hard,
so some people know that helping me is good karma. But let me go back to eev. The main idea behind eev is that we can alternate between "task" and "notes", and we can take "executable notes" instead of just taking notes in English. My presentation at the EmacsConf2019 included a demo of how to "play back" "executable notes" - it starts at 13:10 in the video - and some of my later videos sort of explain how to create elisp hyperlinks, but I still don't have much material on this:
More precisely: "taking executable notes" consists mostly of 1) saving commands that are sent to "shell-like programs" and 2) saving hyperlinks to everything that is interesting. "Saving hyperlinks to everything that is interesting" consists of 2a) deciding what is interesting and what is not, 2b) saving URLs, 2c) saving elisp hyperlinks; and "saving elisp hyperlinks" consists of 2c1) making eev generate "hyperlinks to here", 2c2) selecting the right elisp hyperlink, 2c3) optionally refining the hyperlink, 2c4) copying it to our notes. If we organize this as a tree, we get: "Taking executable notes" can be split into: I have the impression that people can learn the items 2c1-2c4 very quickly if they do some exercises on series of actions - similar to how string instruments are taught; see this video. These exercises will make some series of actions, that are initially "totally alien", become "vaguely familiar", and this is enough to free some mental space, and let people pay attention to other things. If people learn how to use diagrams like this one - click on the video (obs: the current video is a stub, and will be replaced later!) for a demo - then being "vaguely familiar" with the key sequences should be enough - memorizing them is not necessary. (..) TODO: cite some talks from the EmacsConf2021 - the ones by Greta, Prot, Grant, which other ones? -, point to (find-eev-exercises-intro), explain that I will add MANY other exercises to that intro, make a video explaining the diagram, explain the prerequisites for the workshop - they are essentially just this - and finish this page. November: Introduction to Free Software (with Emacs and Eev)In october/2021 I started to prepare a workshop on Emacs and eev that would probably be attended mostly by Windows users who had never used terminals in their lives. I explained my plans in these two posts to help-gnu-emacs:
The workshop happened in 2021nov06 and it didn't work as I expected. The items "putting notes and links in ~/TODO" and "sharing notes and links via Telegram" were FAR more important than the other ones, but no one who attended the workshop seemed to be able to focus on them... so after the workshop I realized that this was my fault - I needed to prepare exercises on that, and in the next workshop I would have to tell everyone that sharing notes would be not only VERY IMPORTANT but also REQUIRED, and after, say, two hours of the workshop, the people who aren't sharing their notes would be simply KICKED OUT. After the workshop I restructured the documentation for MWUs and it became this:
I also recorded a video in Portuguese with basic exercises on the items "putting notes and links in ~/TODO" and "sharing notes and links via Telegram", but I haven't recorded a version in English of it yet... I am also preparing other videos with exercises, and my plan is to first get feedback on them and only after that I will record something similar in English. The page in Portuguese about the workshop is here. The first three images at its the bottom are links to videos in Portuguese. |