WEBVTT captioned by edrx
Kind: captions
Language: en-GB
00:00:00.000 --> 00:00:03.000
Hi! My name is Eduardo Ochs. I'm the author of
00:00:03.000 --> 00:00:07.000
an obscure package called eev and I
00:00:07.000 --> 00:00:08.000
think that it's better to start this
00:00:08.000 --> 00:00:10.000
presentation by the middle of the story -
00:00:10.000 --> 00:00:12.000
by this word here: Maxima.
00:00:12.000 --> 00:00:15.000
Maxima is a computer algebra system
00:00:15.000 --> 00:00:17.000
that has several interfaces. One
00:00:17.000 --> 00:00:20.000
of them is WxMaxima, that looks very
00:00:20.000 --> 00:00:24.000
modern and is very pretty, and it
00:00:24.000 --> 00:00:26.000
looks like this...
00:00:26.000 --> 00:00:30.000
it's a cell based interface. We can type
00:00:30.000 --> 00:00:32.000
an expression here and execute it...
00:00:32.000 --> 00:00:35.000
here's the result.
00:00:35.000 --> 00:00:38.000
But I don't like that interface
00:00:38.000 --> 00:00:40.000
because my memory is very bad, and I type
00:00:40.000 --> 00:00:42.000
very slowly and with lots of mistakes...
00:00:42.000 --> 00:00:46.000
so for me this ugly interface that
00:00:46.000 --> 00:00:49.000
I'm going to show now is much better -
00:00:49.000 --> 00:00:51.000
and here I'm going to show how I am teaching
00:00:51.000 --> 00:00:54.000
that ugly interface to beginners.
00:00:54.000 --> 00:00:58.000
If I type f8 on these three lines here
00:00:58.000 --> 00:01:00.000
it creates a Maxima running inside Emacs -
00:01:00.000 --> 00:01:04.000
I mean, using a terminal and running inside
00:01:04.000 --> 00:01:06.000
a shell buffer in Emacs...
00:01:06.000 --> 00:01:09.000
and if I type f8 on this other the lines here
00:01:09.000 --> 00:01:15.000
the 'f8's send lines to Maxima, and, ta-daaa,
00:01:15.000 --> 00:01:20.000
this small program drew this.
00:01:20.000 --> 00:01:23.000
I live in Brazil and people in
00:01:23.000 --> 00:01:26.000
developed countries cannot imagine
00:01:26.000 --> 00:01:29.000
how are the beginners that we have here...
00:01:29.000 --> 00:01:32.000
in a sense Brazil is another planet.
00:01:32.000 --> 00:01:35.000
Let me explain why, and also let me
00:01:35.000 --> 00:01:37.000
explain why Maxima, why Emacs... because
00:01:37.000 --> 00:01:39.000
people always say "you should use
00:01:39.000 --> 00:01:41.000
programs that everyone finds intuitive,
00:01:41.000 --> 00:01:43.000
like VSCode"...
00:01:43.000 --> 00:01:45.000
well, I teach Calculus in a bad Campus
00:01:45.000 --> 00:01:47.000
of a good Federal University in Brazil.
00:01:47.000 --> 00:01:50.000
My university is called UFF, for
00:01:50.000 --> 00:01:53.000
Universidade Federal Fluminense.
00:01:53.000 --> 00:01:56.000
The main campus of UFF is in Niterói,
00:01:56.000 --> 00:02:00.000
that is a big city near Rio de Janeiro,
00:02:00.000 --> 00:02:03.000
and I work in a city called Rio das Ostras,
00:02:03.000 --> 00:02:03.000
that is is a small city 200 Kms away
00:02:03.000 --> 00:02:07.000
from Rio de Janeiro.
00:02:07.000 --> 00:02:09.000
I started working there in 2009.
00:02:09.000 --> 00:02:13.000
My campus gets very little funding -
00:02:13.000 --> 00:02:16.000
that's a long story that I don't have time
00:02:16.000 --> 00:02:20.000
to tell now - and we get the
00:02:20.000 --> 00:02:22.000
students that don't get enough marks in
00:02:22.000 --> 00:02:25.000
the admission process to go to better places.
00:02:25.000 --> 00:02:30.000
Also, my campus has two institutes -
00:02:30.000 --> 00:02:33.000
I call them The Institute of Humanities
00:02:33.000 --> 00:02:35.000
and The Institute of Inhumanities.
00:02:35.000 --> 00:02:38.000
Each of our institutes has a small building...
00:02:38.000 --> 00:02:41.000
the Humanities building has lots of plants and
00:02:41.000 --> 00:02:46.000
lots of graffittis - I call it the Good Building -
00:02:46.000 --> 00:02:49.000
and the Inhumanities building has lots
00:02:49.000 --> 00:02:51.000
of rules and prohibitions, and I call it the
00:02:51.000 --> 00:02:51.000
Evil Building.
00:02:51.000 --> 00:02:56.000
I heard that the Inhumanities building
00:02:56.000 --> 00:02:58.000
has a laboratory with computers, and that
00:02:58.000 --> 00:03:00.000
it doesn't have any machine that runs Linux...
00:03:00.000 --> 00:03:05.000
but the Inhumanities building is
00:03:05.000 --> 00:03:07.000
shrouded in mystery, and basically
00:03:07.000 --> 00:03:09.000
humans avoid it - only inhumans go there.
00:03:09.000 --> 00:03:12.000
I only discovered how much "another planet"
00:03:12.000 --> 00:03:15.000
Brazil is a few months ago. In May and June
00:03:15.000 --> 00:03:18.000
of this year the federal universities in Brazil
00:03:18.000 --> 00:03:21.000
paralyzed their activities in a nationwide
00:03:21.000 --> 00:03:23.000
strike for two months, and during the strike
00:03:23.000 --> 00:03:28.000
the humanity students occupied the
00:03:28.000 --> 00:03:31.000
Humanities Building and organized lots
00:03:31.000 --> 00:03:31.000
of activities there.
00:03:31.000 --> 00:03:34.000
They asked me if I could give some workshops
00:03:34.000 --> 00:03:36.000
and I offered two hands-on workshops
00:03:36.000 --> 00:03:40.000
on Free Software for beginners -
00:03:40.000 --> 00:03:45.000
basically on Emacs and eev, with
00:03:45.000 --> 00:03:49.000
tutorials with lots of "try this"s...
00:03:49.000 --> 00:03:54.000
and, as usual, the students of
00:03:54.000 --> 00:03:56.000
Computer Science and Engineering ignored
00:03:56.000 --> 00:03:59.000
the workshop completely, and didn't come...
00:03:59.000 --> 00:04:01.000
but some students of psychology and of
00:04:01.000 --> 00:04:04.000
Producão Cultural, which is basically
00:04:04.000 --> 00:04:08.000
techniques for producing cultural
00:04:08.000 --> 00:04:11.000
activities, came to workshop... and they LOVED
00:04:11.000 --> 00:04:14.000
the workshop - they found it FUN.
00:04:14.000 --> 00:04:17.000
And after the workshop I told the
00:04:17.000 --> 00:04:19.000
students that there are lots of things
00:04:19.000 --> 00:04:22.000
that, uh, "everyone knows and I don't",
00:04:22.000 --> 00:04:24.000
and I would like to learn them,
00:04:24.000 --> 00:04:27.000
but I find them too hard to learn by myself
00:04:27.000 --> 00:04:29.000
because I'm a dinosaur - I'm only used to
00:04:29.000 --> 00:04:31.000
interfaces that are very old,
00:04:31.000 --> 00:04:35.000
and that are not graphical... and one
00:04:35.000 --> 00:04:37.000
of the examples of the things that I
00:04:37.000 --> 00:04:39.000
would like to learn was Canva.
00:04:39.000 --> 00:04:42.000
And then the student of Produção Cultural
00:04:42.000 --> 00:04:45.000
taught me Canva in 10 minutes,
00:04:45.000 --> 00:04:54.000
AND THAT CHANGED MY LIFE.
00:04:54.000 --> 00:04:58.000
Anyway, again, I'm working in that place,
00:04:58.000 --> 00:05:00.000
Rio das Ostras, since 2009,
00:05:00.000 --> 00:05:04.000
and the Computer Science students
00:05:04.000 --> 00:05:06.000
here know lots of programs and languages
00:05:06.000 --> 00:05:08.000
that I would like to learn, but in all
00:05:08.000 --> 00:05:11.000
these 15 years the Computer Science
00:05:11.000 --> 00:05:14.000
students only helped me twice.
00:05:14.000 --> 00:05:17.000
It turns out that our Inhumanities
00:05:17.000 --> 00:05:20.000
students don't have a culture of sharing
00:05:20.000 --> 00:05:26.000
and helping - but our Humanities students do.
00:05:26.000 --> 00:05:29.000
Another detail about how much Brazil
00:05:29.000 --> 00:05:30.000
is another planet...
00:05:30.000 --> 00:05:33.000
well, I only discovered this very
00:05:33.000 --> 00:05:38.000
recently, too... my research is in Logic,
00:05:38.000 --> 00:05:40.000
I sometimes go to conferences, usually in
00:05:40.000 --> 00:05:44.000
Brazil, very rarely outside, and people
00:05:44.000 --> 00:05:46.000
here don't bring their laptops to the
00:05:46.000 --> 00:05:49.000
conferences - we don't have a culture
00:05:49.000 --> 00:05:51.000
of sitting together with friends
00:05:51.000 --> 00:05:54.000
or colleagues to learn with them how to
00:05:54.000 --> 00:05:56.000
use the programs that they use...
00:05:56.000 --> 00:06:01.000
for example, many of my friends
00:06:01.000 --> 00:06:05.000
are logicians, so they have to draw
00:06:05.000 --> 00:06:08.000
lots of diagrams, and I don't know how
00:06:08.000 --> 00:06:13.000
they use their programs to draw diagrams...
00:06:13.000 --> 00:06:15.000
I don't know how things are in
00:06:15.000 --> 00:06:18.000
universities with good computer labs but,
00:06:18.000 --> 00:06:22.000
anyway, consider these sentences
00:06:22.000 --> 00:06:25.000
sentences that sort of everybody says...
00:06:25.000 --> 00:06:25.000
"Everyone knows VSCode",
00:06:25.000 --> 00:06:27.000
"Everyone knows Jupiter Notebooks",
00:06:27.000 --> 00:06:31.000
"Everyone draws diagrams with Quiver"...
00:06:31.000 --> 00:06:34.000
Here these things are not true -
00:06:34.000 --> 00:06:36.000
and they are not relevant -
00:06:36.000 --> 00:06:40.000
here knowledge about programs does not
00:06:40.000 --> 00:06:40.000
propagate... and
00:06:40.000 --> 00:06:43.000
one of my goals in life is
00:06:43.000 --> 00:06:45.000
to become friends with some people who
00:06:45.000 --> 00:06:47.000
know how to use for example, code blocks
00:06:47.000 --> 00:06:50.000
in Org, and JavaScript, and learn some of
00:06:50.000 --> 00:06:55.000
their workflows... or, rather one of my
00:06:55.000 --> 00:06:57.000
goals is to become someone who deserves
00:06:57.000 --> 00:07:02.000
help.
00:07:02.000 --> 00:07:05.000
More on Maxima for students...
00:07:05.000 --> 00:07:08.000
remember: our inhumanities students
00:07:08.000 --> 00:07:10.000
don't have a culture of sharing and helping
00:07:10.000 --> 00:07:13.000
but our humanity students do...
00:07:13.000 --> 00:07:16.000
I've been telling my students - I teach
00:07:16.000 --> 00:07:19.000
Calculus 2 and 3 here -that they will learn
00:07:19.000 --> 00:07:21.000
much faster if they learn Maxima,
00:07:21.000 --> 00:07:24.000
and that people who learn Maxima can take
00:07:24.000 --> 00:07:27.000
an optional test and earn extra marks
00:07:27.000 --> 00:07:31.000
in the course, but if they behave
00:07:31.000 --> 00:07:34.000
as typical inhumanities students -
00:07:34.000 --> 00:07:37.000
I mean, not asking questions and
00:07:37.000 --> 00:07:39.000
not helping their colleagues -
00:07:39.000 --> 00:07:42.000
then I won't help help...
00:07:42.000 --> 00:07:45.000
Actually it's even worse. I've
00:07:45.000 --> 00:07:47.000
told my students that my documentation
00:07:47.000 --> 00:07:50.000
is not good enough yet and every
00:07:50.000 --> 00:07:53.000
question helps me a lot, so PLEASE ask
00:07:53.000 --> 00:07:57.000
questions, and I've bagged on my knees...
00:07:57.000 --> 00:08:01.000
and now I can treat students
00:08:01.000 --> 00:08:02.000
who don't ask questions as people who
00:08:02.000 --> 00:08:05.000
won't help someone that they know
00:08:05.000 --> 00:08:08.000
who is begging on his knees!
00:08:08.000 --> 00:08:12.000
Now let me explain another word of
00:08:12.000 --> 00:08:15.000
the title of this presentation.
00:08:15.000 --> 00:08:17.000
The title of this presentation is
00:08:17.000 --> 00:08:17.000
"Emacs, eev, and Maxima - Now!"
00:08:17.000 --> 00:08:22.000
The "Now!" in the title means:
00:08:22.000 --> 00:08:25.000
in less than one hour and even for people
00:08:25.000 --> 00:08:27.000
who have never seen a terminal in their lives.
00:08:27.000 --> 00:08:32.000
Well, my title is a slight exaggeration...
00:08:32.000 --> 00:08:34.000
it only took less than one hour
00:08:34.000 --> 00:08:37.000
for one person, who is a school kid
00:08:37.000 --> 00:08:40.000
from a small City in the North of Brazil,
00:08:40.000 --> 00:08:42.000
who didn't know anything about programming,
00:08:42.000 --> 00:08:44.000
but who was competing in the local
00:08:44.000 --> 00:08:50.000
Math Olympiads, so not a typical person...
00:08:50.000 --> 00:08:53.000
Now let me tell a story based on
00:08:53.000 --> 00:08:55.000
real events and based on a real student.
00:08:55.000 --> 00:08:58.000
The student said: "I have Linux on my
00:08:58.000 --> 00:09:00.000
laptop, can you help me to do blah1?"
00:09:00.000 --> 00:09:04.000
I answered: "Sure, do blah2 and blah3..."
00:09:04.000 --> 00:09:10.000
this was all by chat, I don't remember if
00:09:10.000 --> 00:09:10.000
by WhatsApp or by Telegram...
00:09:10.000 --> 00:09:13.000
then one week passes, and the student
00:09:13.000 --> 00:09:16.000
talks to me again, and the student says:
00:09:16.000 --> 00:09:19.000
"It doesn't work!", and I answer:
00:09:19.000 --> 00:09:21.000
"What happens when you do blah4 and blah5?"
00:09:21.000 --> 00:09:28.000
another week passes, then the student reappears,
00:09:28.000 --> 00:09:29.000
and he says: "It doesn't work!"
00:09:29.000 --> 00:09:33.000
and I answer: "Type blah6 and blah7 in
00:09:33.000 --> 00:09:36.000
the terminal, press ENTER, take a
00:09:36.000 --> 00:09:38.000
photo of your screen... remember, not a
00:09:38.000 --> 00:09:41.000
screenshot, it's a photo of your screen...
00:09:41.000 --> 00:09:43.000
and send it to me." Then the student
00:09:43.000 --> 00:09:46.000
disappears again, another week passes and
00:09:46.000 --> 00:09:49.000
the student reappears and says:
00:09:49.000 --> 00:09:50.000
"How do I open a terminal?"
00:09:50.000 --> 00:09:52.000
Well, then...
00:09:52.000 --> 00:09:54.000
PLONK.
00:09:54.000 --> 00:09:57.000
According to the Jargon file "plonk" is
00:09:57.000 --> 00:10:00.000
the sound of that a newbie makes as he
00:10:00.000 --> 00:10:02.000
falls to the bottom of a kill file.
00:10:02.000 --> 00:10:03.000
I prefer this simpler definition here...
00:10:03.000 --> 00:10:06.000
for me "plonk" is the sound
00:10:06.000 --> 00:10:08.000
that a person makes when he, or she, or they
00:10:08.000 --> 00:10:15.000
hits the bottom of my list of priorities.
00:10:15.000 --> 00:10:19.000
I've been using this slogan with my
00:10:19.000 --> 00:10:22.000
students - it sounds much better in
00:10:22.000 --> 00:10:25.000
Portuguese, sorry... "I am not a telepath,
00:10:25.000 --> 00:10:27.000
and for me it is 100 times harder to
00:10:27.000 --> 00:10:29.000
discover the doubts of people who don't
00:10:29.000 --> 00:10:32.000
talk to me than to discover the doubts of
00:10:32.000 --> 00:10:38.000
people who do talk to me.
00:10:38.000 --> 00:10:41.000
There's an interesting thing here in
00:10:41.000 --> 00:10:47.000
this presentation by Abelson and Sussman.
00:10:47.000 --> 00:10:51.000
Let me explain now this word of
00:10:51.000 --> 00:10:53.000
my title, "Emacs"...
00:10:53.000 --> 00:10:56.000
and the idea is that learning Emacs can
00:10:56.000 --> 00:10:58.000
mean many things, learning Lisp can mean
00:10:58.000 --> 00:11:03.000
many things, and in this presentation...
00:11:03.000 --> 00:11:07.000
oh no, one second...
00:11:07.000 --> 00:11:09.000
sorry, back.
00:11:09.000 --> 00:11:12.000
In this presentation they say...
00:11:12.000 --> 00:11:16.000
"anyone can learn Lisp in one day,
00:11:16.000 --> 00:11:18.000
except that if they already know Fortran,
00:11:18.000 --> 00:11:20.000
then it will take three days".
00:11:20.000 --> 00:11:24.000
And I would add: and if the person
00:11:24.000 --> 00:11:26.000
is starting with Doom Emacs then it would
00:11:26.000 --> 00:11:28.000
take take five years.
00:11:28.000 --> 00:11:20.000
Why? Because the person is using
00:11:20.000 --> 00:11:32.000
a different notion of Emacs,
00:11:32.000 --> 00:11:35.000
and a different notion of Lisp.
00:11:35.000 --> 00:11:38.000
The person is starting by spending five
00:11:38.000 --> 00:11:41.000
years learning how to configure Emacs, and
00:11:41.000 --> 00:11:43.000
the person is using Lisp as a very weird
00:11:43.000 --> 00:11:46.000
configuration language.
00:11:46.000 --> 00:11:48.000
Usually the people who start by Doom Emacs
00:11:48.000 --> 00:11:51.000
they start by configuring Emacs,
00:11:51.000 --> 00:11:54.000
and only then they learn things like
00:11:54.000 --> 00:11:56.000
defun, etc...
00:11:56.000 --> 00:11:58.000
and another slogan that I use a lot
00:11:58.000 --> 00:12:01.000
with my students is that there are
00:12:01.000 --> 00:12:03.000
many cases in which learning just the
00:12:03.000 --> 00:12:07.000
thing B takes 200 hours but learning
00:12:07.000 --> 00:12:13.000
A and then B takes just 20 hours.
00:12:13.000 --> 00:12:16.000
Here are some kinds of beginners
00:12:16.000 --> 00:12:19.000
that I do not want to help.
00:12:19.000 --> 00:12:21.000
First example: a person who says "I can't
00:12:21.000 --> 00:12:24.000
read that page - it has too many links".
00:12:24.000 --> 00:12:27.000
Second example: a person who says
00:12:27.000 --> 00:12:29.000
"I don't want to read anything and
00:12:29.000 --> 00:12:31.000
I don't want to learn anything,
00:12:31.000 --> 00:12:32.000
I want something that just works".
00:12:32.000 --> 00:12:36.000
And third example: "I don't want to
00:12:36.000 --> 00:12:38.000
look at examples, you need to summarize
00:12:38.000 --> 00:12:40.000
everything to me in one paragraph".
00:12:40.000 --> 00:12:43.000
There are more explanations on
00:12:43.000 --> 00:12:47.000
these kinds of beginners at my page
00:12:47.000 --> 00:12:49.000
about this presentation - here.
00:12:49.000 --> 00:12:53.000
And here is one kind of beginner
00:12:53.000 --> 00:12:54.000
that I really want to help.
00:12:54.000 --> 00:12:57.000
Beginners that are nerdy kids
00:12:57.000 --> 00:13:00.000
who are used to:
00:13:00.000 --> 00:13:03.000
reading materials that are too advanced for them,
00:13:03.000 --> 00:13:05.000
understanding only a few percent of what they read,
00:13:05.000 --> 00:13:10.000
remembering just a tiny fraction of what they read,
00:13:10.000 --> 00:13:14.000
going to back to these materials later,
00:13:14.000 --> 00:13:19.000
and taking notes about what they read...
00:13:19.000 --> 00:13:22.000
and who are also always interested in
00:13:22.000 --> 00:13:25.000
experimenting with new ways of taking notes,
00:13:25.000 --> 00:13:28.000
transcribing, summarizing and saving links
00:13:28.000 --> 00:13:32.000
to primary sources.
00:13:32.000 --> 00:13:36.000
I'd like to say something about how
00:13:36.000 --> 00:13:38.000
I've been plonking the paragraph people...
00:13:38.000 --> 00:13:40.000
who are the people who say:
00:13:40.000 --> 00:13:43.000
"I don't want to look at examples,
00:13:43.000 --> 00:13:45.000
you need to summarize everything to me
00:13:45.000 --> 00:13:45.000
in one paragraph".
00:13:45.000 --> 00:13:48.000
Well, I'm a mathematician...
00:13:48.000 --> 00:13:50.000
I work with lots of things
00:13:50.000 --> 00:13:52.000
that can only be summarized in a paragraph
00:13:52.000 --> 00:13:55.000
if we choose the level of who
00:13:55.000 --> 00:13:57.000
we are talking to...
00:13:57.000 --> 00:13:59.000
so we have many different
00:13:59.000 --> 00:14:02.000
one-paragraph summaries,
00:14:02.000 --> 00:14:04.000
one for each level...
00:14:04.000 --> 00:14:06.000
and in many cases this sentence,
00:14:06.000 --> 00:14:08.000
"you need to summarize it
00:14:08.000 --> 00:14:10.000
in one paragraph", is WRONG -
00:14:10.000 --> 00:14:13.000
the person means I want to learn a lot
00:14:13.000 --> 00:14:15.000
in 10 minutes - and this needs diagrams
00:14:15.000 --> 00:14:18.000
animations, AND EXAMPLES.
00:14:18.000 --> 00:14:21.000
This is an example of something
00:14:21.000 --> 00:14:24.000
in mathematics - in category Theory -
00:14:24.000 --> 00:14:27.000
I only understood after too many time -
00:14:27.000 --> 00:14:29.000
after zillions of years...
00:14:29.000 --> 00:14:30.000
It is called The Yoneda Lemma.
00:14:30.000 --> 00:14:32.000
This is the general case -
00:14:32.000 --> 00:14:35.000
this small thing here...
00:14:35.000 --> 00:14:40.000
but I only understood it after
00:14:40.000 --> 00:14:45.000
understanding many particular cases, and
00:14:45.000 --> 00:14:49.000
then organizing them in a way in which
00:14:49.000 --> 00:14:52.000
different figures had similar shapes...
00:14:52.000 --> 00:14:56.000
and the textual explanations
00:14:56.000 --> 00:14:58.000
for the Yoneda Lemma - the one paragraph
00:14:58.000 --> 00:15:00.000
explanations, or the many paragraph
00:15:00.000 --> 00:15:04.000
explanations - never helped the much...
00:15:04.000 --> 00:15:07.000
they contained formulas...
00:15:07.000 --> 00:15:10.000
in mathematics, but written linearly...
00:15:10.000 --> 00:15:12.000
that had too many symbols...
00:15:12.000 --> 00:15:15.000
and my mental buffer is very small...
00:15:15.000 --> 00:15:18.000
and I had to find several tricks to reduce
00:15:18.000 --> 00:15:21.000
the cognitive overload of all these ideas.
00:15:21.000 --> 00:15:24.000
For example, I had to name the symbols
00:15:24.000 --> 00:15:29.000
consecutively, like A, B, C,
00:15:29.000 --> 00:15:31.000
so there's a kind of a temporal order
00:15:31.000 --> 00:15:34.000
in which the symbols that appear first
00:15:34.000 --> 00:15:37.000
have initial letters...
00:15:37.000 --> 00:15:40.000
I had to find a way to put
00:15:40.000 --> 00:15:42.000
an archetypal case and the general case
00:15:42.000 --> 00:15:43.000
side to side -
00:15:43.000 --> 00:15:45.000
they have the same "shape"...
00:15:45.000 --> 00:15:47.000
I had to find good conventions
00:15:47.000 --> 00:15:49.000
for fonts and types...
00:15:49.000 --> 00:15:51.000
I had to choose good meanings
00:15:51.000 --> 00:15:53.000
for what it means...
00:15:53.000 --> 00:15:57.000
sorry, for what are vertical arrows,
00:15:57.000 --> 00:16:01.000
what are horizontal arrows, and so on...
00:16:01.000 --> 00:16:06.000
and what is "above without an arrow"...
00:16:06.000 --> 00:16:09.000
So, how much detail should we include
00:16:09.000 --> 00:16:12.000
in our technical explanations?
00:16:12.000 --> 00:16:14.000
Well there are many measures
00:16:14.000 --> 00:16:17.000
for cognitive (over)load...
00:16:17.000 --> 00:16:20.000
For example, I asked many technical questions
00:16:20.000 --> 00:16:21.000
on the Maxima mailing list
00:16:21.000 --> 00:16:24.000
that got answers that included
00:16:24.000 --> 00:16:27.000
snippets and names of of Lisp functions...
00:16:27.000 --> 00:16:29.000
in Common Lisp, because Maxima is written
00:16:29.000 --> 00:16:32.000
in Common Lisp... and I liked that...
00:16:32.000 --> 00:16:35.000
and I asked some some technical questions
00:16:35.000 --> 00:16:35.000
on the Org mailing list
00:16:35.000 --> 00:16:37.000
and on the Hyperbole mailing list,
00:16:37.000 --> 00:16:40.000
and usually I got answers
00:16:40.000 --> 00:16:43.000
that avoided the technical details...
00:16:43.000 --> 00:16:45.000
note that I chose the term "avoided"
00:16:45.000 --> 00:16:47.000
to denote frustration...
00:16:47.000 --> 00:16:50.000
by the way, if one of my students panics
00:16:50.000 --> 00:16:54.000
on this part here...
00:16:54.000 --> 00:16:56.000
"After setting the user and password
00:16:56.000 --> 00:16:57.000
you will get a Unix prompt"...
00:16:57.000 --> 00:17:01.000
if the student panics on this
00:17:01.000 --> 00:17:05.000
and does not know what to ask
00:17:05.000 --> 00:17:07.000
and just gives up, then...
00:17:07.000 --> 00:17:09.000
plonk.
00:17:09.000 --> 00:17:13.000
So... I was talking a lot about
00:17:13.000 --> 00:17:15.000
plonking people...
00:17:15.000 --> 00:17:16.000
What's left after plonking many people?
00:17:16.000 --> 00:17:19.000
Well, several kinds of beginners
00:17:19.000 --> 00:17:21.000
that I want to interact with...
00:17:21.000 --> 00:17:26.000
note that "kinds" is plural...
00:17:26.000 --> 00:17:30.000
Also, I get a definition for the term
00:17:30.000 --> 00:17:32.000
"beginners"... think on books...
00:17:32.000 --> 00:17:37.000
technical books, that start with
00:17:37.000 --> 00:17:38.000
"This book is written for the persons
00:17:38.000 --> 00:17:40.000
of the types such and such"...
00:17:40.000 --> 00:17:43.000
Maybe several definitions
00:17:43.000 --> 00:17:47.000
for the term "beginners"...
00:17:47.000 --> 00:17:49.000
also, a metric that lets me choose between
00:17:49.000 --> 00:17:52.000
options A, B and C when I'm trying to
00:17:52.000 --> 00:17:55.000
write material for my beginners...
00:17:55.000 --> 00:18:00.000
for example, here, again...
00:18:00.000 --> 00:18:04.000
should I explain what is a Unix prompt?
00:18:04.000 --> 00:18:07.000
No!!!
00:18:07.000 --> 00:18:09.000
Why "no"?
00:18:09.000 --> 00:18:11.000
Well, let me use another example.
00:18:11.000 --> 00:18:16.000
This one I took from a discussion on IRC...
00:18:16.000 --> 00:18:18.000
we were helping a certain beginner
00:18:18.000 --> 00:18:20.000
that was there...
00:18:20.000 --> 00:18:24.000
and one person suggested to the beginner
00:18:24.000 --> 00:18:27.000
to do this: type M-:, and then this
00:18:27.000 --> 00:18:29.000
thing here, and then ENTER.
00:18:29.000 --> 00:18:33.000
And I suggested this instead.
00:18:33.000 --> 00:18:35.000
Copy this expression to your notes,
00:18:35.000 --> 00:18:38.000
and then type C-e C-x C-e...
00:18:38.000 --> 00:18:42.000
and the mnemonic for C-e C-x C-e is
00:18:42.000 --> 00:18:44.000
C-exe, for "execute".
00:18:44.000 --> 00:18:47.000
And then... for me the option 1,
00:18:47.000 --> 00:18:50.000
this option here, is very costly,
00:18:50.000 --> 00:18:53.000
because the person has to type a lot
00:18:53.000 --> 00:18:55.000
without errors,
00:18:55.000 --> 00:18:59.000
and then after running that
00:18:59.000 --> 00:19:03.000
and reading this page here...
00:19:03.000 --> 00:19:06.000
the way of going back to that page is gone.
00:19:06.000 --> 00:19:08.000
So the person has to commit lots
00:19:08.000 --> 00:19:10.000
of information to memory -
00:19:10.000 --> 00:19:13.000
either the person learns from this page
00:19:13.000 --> 00:19:16.000
everything that she needs or the person
00:19:16.000 --> 00:19:20.000
memorizes how to go there the next time....
00:19:20.000 --> 00:19:24.000
and for me the option 2 - this one:
00:19:24.000 --> 00:19:27.000
put this in your notes and then
00:19:27.000 --> 00:19:29.000
execute it with C-exe -
00:19:29.000 --> 00:19:32.000
is much better, because the person
00:19:32.000 --> 00:19:34.000
commits information to notes,
00:19:34.000 --> 00:19:36.000
and the person learns a way to return
00:19:36.000 --> 00:19:40.000
to this node of the manual later...
00:19:40.000 --> 00:19:45.000
and with this the person learns
00:19:45.000 --> 00:19:47.000
another way to use her notes.
00:19:47.000 --> 00:19:50.000
I have a lot of material about that...
00:19:50.000 --> 00:19:52.000
see for example this page here -
00:19:52.000 --> 00:19:54.000
there's a link to it
00:19:54.000 --> 00:19:56.000
in my page for this talk...
00:19:56.000 --> 00:19:58.000
also, I live in a place in which
00:19:58.000 --> 00:20:00.000
the people who find my instructions
00:20:00.000 --> 00:20:03.000
too complex or too boring
00:20:03.000 --> 00:20:06.000
disappear - either for months or forever...
00:20:06.000 --> 00:20:08.000
So if I give an instruction
00:20:08.000 --> 00:20:10.000
that the person cannot understand
00:20:10.000 --> 00:20:13.000
and the person gives up
00:20:13.000 --> 00:20:15.000
I lose the person...
00:20:15.000 --> 00:20:18.000
Now let me do some things in a weird order.
00:20:18.000 --> 00:20:20.000
In a normal presentation this would be
00:20:20.000 --> 00:20:22.000
the conclusion, and it would be presented
00:20:22.000 --> 00:20:24.000
at the end...
00:20:24.000 --> 00:20:26.000
but I will present it now,
00:20:26.000 --> 00:20:28.000
before the technical details.
00:20:28.000 --> 00:20:31.000
So, I was teaching Emacs, eev and Maxima
00:20:31.000 --> 00:20:34.000
for students... did it work well?
00:20:34.000 --> 00:20:36.000
Well... sort of, but in a weird way.
00:20:36.000 --> 00:20:39.000
Many students decided to take my test
00:20:39.000 --> 00:20:42.000
on Emacs, eev, and Maxima...
00:20:42.000 --> 00:20:45.000
let me consider only the 35 students
00:20:45.000 --> 00:20:48.000
in the two last semesters that were able
00:20:48.000 --> 00:20:51.000
to do what I asked, that was to use a link
00:20:51.000 --> 00:20:56.000
like this one to go to my notes...
00:20:56.000 --> 00:20:59.000
they had to go to a specific small program
00:20:59.000 --> 00:21:02.000
in Maxima, copy that program to their notes,
00:21:02.000 --> 00:21:04.000
modify it a bit to make it solve
00:21:04.000 --> 00:21:06.000
a slightly different problem,
00:21:06.000 --> 00:21:08.000
and then save the new program.
00:21:08.000 --> 00:21:11.000
So it was mostly a test on the interface,
00:21:11.000 --> 00:21:14.000
and to test if they knew some
00:21:14.000 --> 00:21:16.000
very basic things on Maxima...
00:21:16.000 --> 00:21:19.000
but of these 35 students only 10 students
00:21:19.000 --> 00:21:21.000
asked questions on the Telegram group...
00:21:21.000 --> 00:21:24.000
Mostly they discussed
00:21:24.000 --> 00:21:27.000
with other students...
00:21:27.000 --> 00:21:30.000
sometimes live - they would bring
00:21:30.000 --> 00:21:34.000
their laptops to the university to discuss...
00:21:34.000 --> 00:21:37.000
they only do that very rarely,
00:21:37.000 --> 00:21:40.000
but they brought it...
00:21:40.000 --> 00:21:42.000
other times they would discuss
00:21:42.000 --> 00:21:44.000
with their colleagues on Discord...
00:21:44.000 --> 00:21:47.000
but I got very little feedback
00:21:47.000 --> 00:21:50.000
for my usability test.
00:21:50.000 --> 00:21:52.000
So my experiment failed - in the sense
00:21:52.000 --> 00:21:55.000
that I didn't get the feedback
00:21:55.000 --> 00:21:57.000
that I expected - I only got a fraction
00:21:57.000 --> 00:21:59.000
of the feedback that I expected...
00:21:59.000 --> 00:22:03.000
...but I learned lots of things.
00:22:03.000 --> 00:22:06.000
Well, I got very angry, very frustrated,
00:22:06.000 --> 00:22:08.000
but I saw that I can't invest a lot of energy
00:22:08.000 --> 00:22:11.000
on students who... how do I say?
00:22:11.000 --> 00:22:13.000
who "won't talk to me".
00:22:13.000 --> 00:22:16.000
then I decided to make contact
00:22:16.000 --> 00:22:19.000
with some schools - secondary schools -
00:22:19.000 --> 00:22:21.000
and to make a long story short...
00:22:21.000 --> 00:22:25.000
in one of the schools I was
00:22:25.000 --> 00:22:27.000
very well received...
00:22:27.000 --> 00:22:29.000
the students asked lots of questions,
00:22:29.000 --> 00:22:31.000
and in the middle of the discussion
00:22:31.000 --> 00:22:35.000
we were discussing this little program here,
00:22:35.000 --> 00:22:37.000
that splits the the frame in two windows
00:22:37.000 --> 00:22:38.000
and displays the file ~/HELP
00:22:38.000 --> 00:22:41.000
in the window at the right...
00:22:41.000 --> 00:22:46.000
and I showed them Elisp tutorial,
00:22:46.000 --> 00:22:50.000
that starts... here...
00:22:50.000 --> 00:22:55.000
and right in its third section
00:22:55.000 --> 00:22:57.000
it explains 'quote'.
00:22:57.000 --> 00:23:00.000
So, I had to explain to them
00:23:00.000 --> 00:23:03.000
how we can use quote to pass...
00:23:03.000 --> 00:23:07.000
to avoid evaluating a program...
00:23:07.000 --> 00:23:09.000
we can use quote to pass unevaluated
00:23:09.000 --> 00:23:11.000
programs as arguments...
00:23:11.000 --> 00:23:13.000
and quote blew their minds,
00:23:13.000 --> 00:23:16.000
and I was amazed by their questions,
00:23:16.000 --> 00:23:18.000
and I saw more clearly that the campus
00:23:18.000 --> 00:23:20.000
in which I work is a hole,
00:23:20.000 --> 00:23:22.000
and that I need to do more things outside.
00:23:22.000 --> 00:23:25.000
Now let's see some technical details.
00:23:25.000 --> 00:23:28.000
What exactly am I teaching to
00:23:28.000 --> 00:23:20.000
these students?
00:23:20.000 --> 00:23:32.000
Basically, my old tutorial for eev
00:23:32.000 --> 00:23:36.000
was this one... it started with a
00:23:36.000 --> 00:23:39.000
section on installing eev, and then it
00:23:39.000 --> 00:23:42.000
explained Lisp, and how to use
00:23:42.000 --> 00:23:44.000
elisp hyperlinks...
00:23:44.000 --> 00:23:46.000
and then lots of other things...
00:23:46.000 --> 00:23:49.000
but I'm using this new tutorial here,
00:23:49.000 --> 00:23:51.000
that I am not announcing in many places
00:23:51.000 --> 00:23:54.000
because I wanted to test it a lot
00:23:54.000 --> 00:23:59.000
before making it very public...
00:23:59.000 --> 00:24:04.000
and it starts with other installation
00:24:04.000 --> 00:24:06.000
instructions, that start with
00:24:06.000 --> 00:24:11.000
instructions for installing WSL
00:24:11.000 --> 00:24:13.000
on a machine with Windows,
00:24:13.000 --> 00:24:16.000
and then installing Debian there
00:24:16.000 --> 00:24:19.000
and then after that people have to install
00:24:19.000 --> 00:24:26.000
Emacs, and then they have to install eev...
00:24:26.000 --> 00:24:30.000
And I'm also using this map here,
00:24:30.000 --> 00:24:32.000
that I'm reorganizing,
00:24:32.000 --> 00:24:34.000
so it's going to change a lot
00:24:34.000 --> 00:24:36.000
in the next days...
00:24:36.000 --> 00:24:40.000
it has a 2-dimensional map here,
00:24:40.000 --> 00:24:44.000
and it has lots of things that I'm putting
00:24:44.000 --> 00:24:46.000
in a single place to make it easier
00:24:46.000 --> 00:24:49.000
to answer questions, and to show
00:24:49.000 --> 00:24:51.000
to the students that I have answers
00:24:51.000 --> 00:24:56.000
for the most common questions...
00:24:56.000 --> 00:24:59.000
Remember, my target audience
00:24:59.000 --> 00:25:02.000
is mostly composed of beginners who have
00:25:02.000 --> 00:25:04.000
never seen a terminal in their lives,
00:25:04.000 --> 00:25:06.000
and that get bored very quickly...
00:25:06.000 --> 00:25:10.000
and when they get bored they disappear.
00:25:10.000 --> 00:25:15.000
What are my main goals for the first day?
00:25:15.000 --> 00:25:19.000
I want them to "install everything",
00:25:19.000 --> 00:25:22.000
where "everything" means WSL on their
00:25:22.000 --> 00:25:27.000
Windows machines, then Debian, Emacs, eev,
00:25:27.000 --> 00:25:32.000
lots of Debian packages that they install
00:25:32.000 --> 00:25:44.000
with this block here...
00:25:44.000 --> 00:25:47.000
After that they need to run
00:25:47.000 --> 00:25:51.000
some Maxima programs, and some test blocks...
00:25:51.000 --> 00:25:53.000
and configure Emacs, and create a first set
00:25:53.000 --> 00:25:57.000
of executable notes, and I consider
00:25:57.000 --> 00:25:59.000
that after that the person is
00:25:59.000 --> 00:26:01.000
autonomous.
00:26:01.000 --> 00:26:04.000
I said that the students
00:26:04.000 --> 00:26:05.000
learn how to "Run some Maxima programs".
00:26:05.000 --> 00:26:07.000
Let me be more precise about that.
00:26:07.000 --> 00:26:09.000
The first step is something
00:26:09.000 --> 00:26:14.000
that I call "The 5-minute workshop"...
00:26:14.000 --> 00:26:17.000
it happens in the classroom,
00:26:17.000 --> 00:26:20.000
on my laptop, and I make the students
00:26:20.000 --> 00:26:20.000
run this.
00:26:20.000 --> 00:26:24.000
Actually in a first moment I run
00:26:24.000 --> 00:26:27.000
this thing here, and then I ask them
00:26:27.000 --> 00:26:30.000
to run it themselves.
00:26:30.000 --> 00:26:35.000
So: I type f8 on these three things here,
00:26:35.000 --> 00:26:37.000
we get a target buffer running Maxima,
00:26:37.000 --> 00:26:40.000
then I type f8 several other times here...
00:26:40.000 --> 00:26:42.000
when I type f8 here it opens a GNUPlot
00:26:42.000 --> 00:26:46.000
window, that I have to close
00:26:46.000 --> 00:26:49.000
by typing 'q' here...
00:26:49.000 --> 00:26:51.000
and that's it. And then I say:
00:26:51.000 --> 00:26:53.000
now it's your turn. And the students go there,
00:26:53.000 --> 00:26:56.000
they type f8 three times, and then they
00:26:56.000 --> 00:27:03.000
type f8 f8 f8 f8 f8 f8 f8 q f8 q...
00:27:03.000 --> 00:27:07.000
The second step is similar -
00:27:07.000 --> 00:27:09.000
is another individual workshop,
00:27:09.000 --> 00:27:01.000
also just a few minutes long,
00:27:01.000 --> 00:27:15.000
in which they learn how to access my notes.
00:27:15.000 --> 00:27:17.000
My notes on Maxima are here -
00:27:17.000 --> 00:27:21.000
I mean, this is the HTMLized version...
00:27:21.000 --> 00:27:26.000
it starts with a header, then a huge index,
00:27:26.000 --> 00:27:29.000
then many blocks like this...
00:27:29.000 --> 00:27:31.000
and this is a specific block that corresponds
00:27:31.000 --> 00:27:33.000
to the thing that we we ran
00:27:33.000 --> 00:27:37.000
in the first 5-minute workshop.
00:27:37.000 --> 00:27:40.000
And in this second 5-minute workshop
00:27:40.000 --> 00:27:43.000
they run the instructions in this section...
00:27:43.000 --> 00:27:46.000
usually I skip this thing in the first moment,
00:27:46.000 --> 00:27:52.000
then I explain it to them...
00:27:52.000 --> 00:27:56.000
and they run something like this,
00:27:56.000 --> 00:27:58.000
that downloads a copy
00:27:58.000 --> 00:28:02.000
of my notes on Maxima,
00:28:02.000 --> 00:28:04.000
puts that copy in a temporary buffer...
00:28:04.000 --> 00:28:06.000
and they can run the thing here
00:28:06.000 --> 00:28:18.000
exactly in the same way as before...
00:28:18.000 --> 00:28:22.000
And I also ask them to run the small
00:28:22.000 --> 00:28:25.000
Maxim programs in other blocks,
00:28:25.000 --> 00:28:27.000
like this one, for example...
00:28:27.000 --> 00:28:29.000
if we run this it calculates the solution
00:28:29.000 --> 00:28:31.000
of a question that I put in a test
00:28:31.000 --> 00:28:34.000
one or two semesters ago...
00:28:34.000 --> 00:28:38.000
it starts by calculating several integrals
00:28:38.000 --> 00:28:41.000
and then it organizes all the solutions
00:28:41.000 --> 00:28:49.000
in a big Matrix like this...
00:28:49.000 --> 00:28:52.000
I said that at one point the students
00:28:52.000 --> 00:28:55.000
have to install lots of Debian packages.
00:28:55.000 --> 00:28:59.000
This happens after they have installed
00:28:59.000 --> 00:29:05.000
Debian, then Emacs, and eev...
00:29:05.000 --> 00:29:09.000
and they already know a bit about eepitch,
00:29:09.000 --> 00:29:12.000
so they are in this section of the
00:29:12.000 --> 00:29:14.000
instructions, and they just have to type
00:29:14.000 --> 00:29:20.000
f8 here several times and watch what
00:29:20.000 --> 00:29:22.000
happens...
00:29:22.000 --> 00:29:24.000
after that we have many options,
00:29:24.000 --> 00:29:26.000
and I have this map here and I usually
00:29:26.000 --> 00:29:29.000
choose a path according to the interests
00:29:29.000 --> 00:29:32.000
and the questions of the students...
00:29:32.000 --> 00:29:34.000
and there are many things that can go wrong,
00:29:34.000 --> 00:29:37.000
so this page also works as as a place
00:29:37.000 --> 00:29:41.000
in which I put all my troubleshooting
00:29:41.000 --> 00:29:43.000
instructions...
00:29:43.000 --> 00:29:43.000
and if a student has a question...
00:29:43.000 --> 00:29:47.000
I mean, suppose that the student is
00:29:47.000 --> 00:29:50.000
talking to me by WhatsApp or Telegram,
00:29:50.000 --> 00:29:52.000
and the student is saying:
00:29:52.000 --> 00:29:54.000
okay I installed the things such and such,
00:29:54.000 --> 00:29:56.000
and I tried the thing blahblah, and
00:29:56.000 --> 00:29:58.000
something went wrong...
00:29:58.000 --> 00:29:59.000
and I say: ok, can you send me a screenshot
00:29:59.000 --> 00:30:02.000
or a photo of your screen?
00:30:02.000 --> 00:30:04.000
And then we can troubleshoot that
00:30:04.000 --> 00:30:10.000
by using a section of this page here.
00:30:10.000 --> 00:30:11.000
This is a work in progress,
00:30:11.000 --> 00:30:14.000
I'm reorganizing this thing for
00:30:14.000 --> 00:30:15.000
the 10th time...
00:30:15.000 --> 00:30:19.000
and the rest of what can happen
00:30:19.000 --> 00:30:21.000
with these students can't be explained
00:30:21.000 --> 00:30:23.000
clearly in a video... so I'm going
00:30:23.000 --> 00:30:26.000
to put the all the other stuff in the
00:30:26.000 --> 00:30:28.000
page of the video, and I'm going to stop
00:30:28.000 --> 00:30:30.000
the video here.
00:30:30.000 --> 00:07:12.000
So: thanks, and bye!