diff options
Diffstat (limited to '')
2 files changed, 872 insertions, 0 deletions
diff --git a/2021/captions/emacsconf-2021-montessori--emacs-and-montessori-philosophy--grant-shangreaux--chapters.vtt b/2021/captions/emacsconf-2021-montessori--emacs-and-montessori-philosophy--grant-shangreaux--chapters.vtt new file mode 100644 index 00000000..3bc5cbff --- /dev/null +++ b/2021/captions/emacsconf-2021-montessori--emacs-and-montessori-philosophy--grant-shangreaux--chapters.vtt @@ -0,0 +1,46 @@ +WEBVTT + +00:00:04.960 --> 00:00:20.319 +Introduction + +00:00:20.320 --> 00:00:35.839 +Respect + +00:00:35.840 --> 00:01:19.118 +The Prepared Environment + +00:01:19.119 --> 00:01:56.559 +Human tendencies + +00:01:56.560 --> 00:03:30.719 +Orientation + +00:03:30.720 --> 00:04:25.999 +Order + +00:04:26.000 --> 00:05:12.079 +Exploration + +00:05:12.080 --> 00:05:46.159 +Communication + +00:05:46.160 --> 00:06:21.198 +Activity + +00:06:21.199 --> 00:06:48.318 +Manipulation + +00:06:48.319 --> 00:07:09.198 +Work (or Purposeful Activity) + +00:07:09.199 --> 00:07:38.959 +Repetition + +00:07:38.960 --> 00:08:16.318 +Exactness + +00:08:16.319 --> 00:09:01.999 +Abstraction + +00:09:02.000 --> 00:09:03.000 +Perfection diff --git a/2021/captions/emacsconf-2021-montessori--emacs-and-montessori-philosophy--grant-shangreaux--main.vtt b/2021/captions/emacsconf-2021-montessori--emacs-and-montessori-philosophy--grant-shangreaux--main.vtt new file mode 100644 index 00000000..92e6e610 --- /dev/null +++ b/2021/captions/emacsconf-2021-montessori--emacs-and-montessori-philosophy--grant-shangreaux--main.vtt @@ -0,0 +1,826 @@ +WEBVTT + +00:04.960 --> 00:00:07.680 +Hello everyone. My name is Grant Shangreaux, + +00:07.680 --> 00:00:10.719 +and I'm happy to be back here at EmacsConf. + +00:00:10.719 --> 00:00:13.840 +So before I was a programmer professionally, + +00:00:13.840 --> 00:00:16.800 +I was a Montessori guide with young children, + +00:00:16.800 --> 00:00:18.960 +and now I'm a parent of a child + +00:00:18.960 --> 00:00:20.319 +in a Montessori classroom. + +00:00:20.320 --> 00:00:21.600 +I was thinking Emacs + +00:00:21.600 --> 00:00:22.960 +and Montessori philosophy + +00:00:22.960 --> 00:00:25.760 +are both fundamentally about respect. + +00:00:25.760 --> 00:00:27.840 +Respect children, for the child + +00:27.840 --> 00:00:29.760 +is the parent to the adult. + +00:00:29.760 --> 00:00:32.079 +And we should respect users. + +00:32.079 --> 00:00:33.440 +Maybe the user is the parent + +00:00:33.440 --> 00:00:35.839 +to the hacker. That was certainly my case. + +00:00:35.840 --> 00:00:37.680 +So this talk is about the similarities + +00:37.680 --> 00:00:39.440 +between the Emacs environment + +00:00:39.440 --> 00:00:41.040 +and the Montessori classroom, + +00:00:41.040 --> 00:00:43.760 +which is called a prepared environment, + +00:00:43.760 --> 00:00:45.760 +meaning that everything in the environment + +00:00:45.760 --> 00:00:48.559 +has been prepared for the child to come + +00:00:48.559 --> 00:00:51.119 +and interact with in a meaningful way. + +00:00:51.120 --> 00:00:52.399 +The child will be driven + +00:00:52.399 --> 00:00:54.399 +by natural human tendencies + +00:00:54.399 --> 00:00:56.399 +to interact with their environment + +00:00:56.399 --> 00:00:58.079 +and to construct and refine + +00:00:58.079 --> 00:00:59.920 +their understanding of the world + +00:00:59.920 --> 00:01:01.359 +and the things in it. + +00:01:01.359 --> 00:01:03.600 +What I hope you come away from this talk with + +00:01:03.600 --> 00:01:06.080 +is just a new perspective + +00:01:06.080 --> 00:01:08.479 +on Emacs and software, + +00:01:08.479 --> 00:01:10.240 +and how users interact + +00:01:10.240 --> 00:01:13.520 +in a prepared environment like Emacs + +00:01:13.520 --> 00:01:15.280 +following their human tendencies + +00:01:15.280 --> 00:01:17.200 +to gain understanding + +00:01:17.200 --> 00:01:19.118 +and reach toward perfection. + +00:01:19.119 --> 00:01:21.040 +Okay. So the human tendencies + +00:01:21.040 --> 00:01:24.000 +are innate drives present in everybody. + +00:01:24.000 --> 00:01:25.600 +They're what enable us to explore + +00:01:25.600 --> 00:01:27.520 +and make sense of our world. + +01:27.520 --> 00:01:29.360 +We use these human tendencies + +00:01:29.360 --> 00:01:32.960 +to construct and refine the world itself. + +01:32.960 --> 00:01:34.240 +You know, if you're an Emacs user, + +00:01:34.240 --> 00:01:35.920 +I hope that's ringing some bells for you + +00:01:35.920 --> 00:01:38.320 +right away, because what we do + +00:01:38.320 --> 00:01:40.960 +when we interact with Emacs as individuals + +00:01:40.960 --> 00:01:45.360 +is construct and refine our world in Emacs. + +01:45.360 --> 00:01:46.320 +So I'm going to go through + +00:01:46.320 --> 00:01:47.920 +the human tendencies one by one + +00:01:47.920 --> 00:01:48.960 +and bring up things + +00:01:48.960 --> 00:01:52.079 +that I have observed or noticed in Emacs. + +01:52.079 --> 00:01:53.840 +I'm sure there's plenty more. + +00:01:53.840 --> 00:01:56.559 +Feel free to share it in chat. + +01:56.560 --> 00:02:00.000 +So number one is orientation. + +00:02:00.000 --> 00:02:02.000 +Human beings want to know their relationship + +00:02:02.000 --> 00:02:04.320 +to the environment around them. + +02:04.320 --> 00:02:05.840 +With children, when they come into + +00:02:05.840 --> 00:02:07.520 +a new environment, they want to look at it, + +02:07.520 --> 00:02:09.360 +touch everything around them. + +02:09.360 --> 00:02:11.520 +They want to know where they fit in, + +02:11.520 --> 00:02:12.800 +things like that. + +02:12.800 --> 00:02:15.599 +In Emacs, the easiest thing to think of + +00:02:15.599 --> 00:02:18.560 +is the initial new Emacs buffer. + +00:02:18.560 --> 00:02:21.040 +Right away, that is giving you + +00:02:21.040 --> 00:02:23.440 +some guideposts to orient yourself. + +00:02:23.440 --> 00:02:25.920 +If you've used any of the other + +02:25.920 --> 00:02:28.720 +Emacs starter packages, different packages + +00:02:28.720 --> 00:02:30.239 +take different approaches to this. + +00:02:30.239 --> 00:02:33.519 +I think if you're trying to get people + +00:02:33.519 --> 00:02:36.080 +to use Emacs for some reason, + +00:02:36.080 --> 00:02:39.440 +thinking about how individuals + +00:02:39.440 --> 00:02:40.720 +might orient themselves + +02:40.720 --> 00:02:43.680 +to this new software world is important. + +00:02:43.680 --> 00:02:46.000 +I think that there are friendly ways + +02:46.000 --> 00:02:48.080 +to welcome people into the environment + +02:48.080 --> 00:02:50.879 +and to make it easier for people + +00:02:50.879 --> 00:02:53.120 +to orient themselves within Emacs. + +00:02:53.120 --> 00:02:56.080 +Of course we've also got the Info manuals, + +00:02:56.080 --> 00:02:57.760 +and one of my favorite examples + +02:57.760 --> 00:03:00.080 +is the which-key package, which, + +00:03:00.080 --> 00:03:01.519 +when you press a key, + +00:03:01.519 --> 00:03:04.000 +it'll pop up with all of the following + +00:03:04.000 --> 00:03:05.760 +key bindings that are available. + +00:03:05.760 --> 00:03:09.280 +That's a really important way for me + +03:09.280 --> 00:03:13.599 +to explore, which is another human tendency, + +00:03:13.599 --> 00:03:15.280 +or to orient myself; + +00:03:15.280 --> 00:03:17.599 +to think about when I press this key, + +00:03:17.599 --> 00:03:19.920 +now I've got these possibilities. + +00:03:19.920 --> 00:03:21.760 +You see that all over in Emacs + +00:03:21.760 --> 00:03:25.920 +with hydras or the Magit transient buffers. + +00:03:25.920 --> 00:03:27.280 +There's all sorts of ways + +00:03:27.280 --> 00:03:29.440 +that Emacs is trying to help us + +00:03:29.440 --> 00:03:30.719 +orient ourselves. + +00:03:30.720 --> 00:03:33.440 +The second tendency is order, which + +00:03:33.440 --> 00:03:35.120 +I probably should have talked about first, + +00:03:35.120 --> 00:03:38.480 +but here I am. I myself am not + +00:03:38.480 --> 00:03:40.799 +particularly attuned to order, + +00:03:40.799 --> 00:03:43.120 +but when I was in the Montessori classroom, + +00:03:43.120 --> 00:03:45.920 +I found that it wasn't necessarily myself + +00:03:45.920 --> 00:03:47.360 +imposing the order, it was... + +00:03:47.360 --> 00:03:48.480 +The environment itself + +00:03:48.480 --> 00:03:50.239 +has a certain order to it, + +00:03:50.239 --> 00:03:52.080 +and by creating an environment + +00:03:52.080 --> 00:03:54.239 +where everything has its place, + +03:54.239 --> 00:03:56.480 +and everything has its time, + +00:03:56.480 --> 00:03:59.840 +and you have a way of doing things, + +00:03:59.840 --> 00:04:02.480 +it makes it easier for the child + +00:04:02.480 --> 00:04:04.560 +to develop that internal sense of order + +00:04:04.560 --> 00:04:07.120 +and succeed at imposing order + +00:04:07.120 --> 00:04:09.360 +upon their work, which... + +00:04:09.360 --> 00:04:11.360 +We do that as programmers. + +04:11.360 --> 00:04:13.280 +If we're contributing to Emacs, + +00:04:13.280 --> 00:04:16.079 +we try to do so in an orderly way, + +00:04:16.079 --> 00:04:18.160 +use prefixes for namespacing, + +00:04:18.160 --> 00:04:19.919 +since we don't have that ability + +00:04:19.919 --> 00:04:20.959 +in Emacs Lisp, + +00:04:20.959 --> 00:04:22.600 +and by sharing well-ordered + +00:04:22.600 --> 00:04:25.999 +self-documenting programs with our community. + +04:26.000 --> 00:04:28.560 +Number three is exploration. I think + +00:04:28.560 --> 00:04:30.720 +exploration is what drew me into Emacs, + +04:30.720 --> 00:04:32.400 +personally. In the beginning, + +00:04:32.400 --> 00:04:35.759 +it was just this wondrous + +00:04:35.759 --> 00:04:36.800 +software environment + +00:04:36.800 --> 00:04:39.360 +that offered so many opportunities. + +00:04:39.360 --> 00:04:41.680 +I was curious. Like, you've got + +00:04:41.680 --> 00:04:42.880 +your scratch buffer. + +00:04:42.880 --> 00:04:45.040 +You can explore in there with expressions. + +00:04:45.040 --> 00:04:46.880 +You can start up IELM. + +00:04:46.880 --> 00:04:49.440 +You can explore your file system with Dired. + +00:04:49.440 --> 00:04:51.199 +You can explore different packages + +00:04:51.199 --> 00:04:54.560 +with list-packages. There's so many ways + +00:04:54.560 --> 00:04:56.880 +you can explore in Emacs. + +00:04:56.880 --> 00:04:59.040 +For me, that was very delightful. + +00:04:59.040 --> 00:05:01.919 +It really resonated with my bias + +00:05:01.919 --> 00:05:04.960 +of exploration and human tendencies. + +05:04.960 --> 00:05:07.280 +Places to explore in Emacs are wonderful, + +05:07.280 --> 00:05:08.720 +and eventually you get down + +00:05:08.720 --> 00:05:12.079 +into the source code, and it's great. + +05:12.080 --> 00:05:14.400 +And then we've got communication. + +00:05:14.400 --> 00:05:16.639 +I think communication kind of + +00:05:16.639 --> 00:05:17.919 +speaks for itself as well. + +00:05:17.919 --> 00:05:19.520 +Emacs is software. + +05:19.520 --> 00:05:22.080 +Software is a form of communication. + +05:22.080 --> 00:05:23.360 +We're all driven to communicate. + +00:05:23.360 --> 00:05:26.240 +That's why we're here at this conference. + +05:26.240 --> 00:05:28.320 +Within Emacs, you've got lots of ways + +00:05:28.320 --> 00:05:30.960 +to communicate. You've got IRC clients, + +00:05:30.960 --> 00:05:32.960 +mail, you've got news readers. + +00:05:32.960 --> 00:05:34.080 +You could use Org. + +00:05:34.080 --> 00:05:37.600 +I even started working on a magazine in Org + +00:05:37.600 --> 00:05:38.800 +that I was going to distribute + +00:05:38.800 --> 00:05:42.479 +via live Debian CDs back in the day. + +00:05:42.479 --> 00:05:45.120 +So I think Emacs for communication + +00:05:45.120 --> 00:05:46.159 +is pretty clear. + +00:05:46.160 --> 00:05:48.639 +Activity. So Activities is just + +00:05:48.639 --> 00:05:51.120 +a natural thing when you're... + +00:05:51.120 --> 00:05:52.479 +You see it in children. Right? + +00:05:52.479 --> 00:05:54.720 +Children always find something to do + +00:05:54.720 --> 00:05:57.120 +to keep busy, whether they're pretending, + +00:05:57.120 --> 00:05:59.039 +or running around, or moving. + +00:05:59.039 --> 00:06:00.240 +You don't have to have a goal + +00:06:00.240 --> 00:06:01.759 +or end-product in mind. + +00:06:01.759 --> 00:06:02.800 +People are just active. + +00:06:02.800 --> 00:06:06.160 +You do things. I find that in Emacs, + +00:06:06.160 --> 00:06:08.000 +all the time, when I don't know + +00:06:08.000 --> 00:06:09.919 +what to work on, sometimes I just go + +06:09.919 --> 00:06:12.479 +into Emacs and hack around and, like, + +06:12.479 --> 00:06:14.000 +change things in my config. + +00:06:14.000 --> 00:06:16.000 +I'm sure we've all been there. + +00:06:16.000 --> 00:06:19.120 +So Emacs encourages and enables + +00:06:19.120 --> 00:06:21.198 +that kind of activity as well. + +00:06:21.199 --> 00:06:23.120 +Manipulation is the next one. + +00:06:23.120 --> 00:06:27.120 +So Lisp. Anyone? The fact that Emacs is + +00:06:27.120 --> 00:06:29.919 +this live Lisp process that's running, + +06:29.919 --> 00:06:33.360 +that you can manipulate at your fingertips... + +00:06:33.360 --> 00:06:35.120 +You couldn't ask for something better. + +00:06:35.120 --> 00:06:37.360 +I think the malleability of Emacs + +00:06:37.360 --> 00:06:39.600 +is why people love it. + +06:39.600 --> 00:06:41.840 +Clearly, the environment of Emacs + +00:06:41.840 --> 00:06:44.240 +was prepared with manipulation in mind + +00:06:44.240 --> 00:06:45.280 +from the very start. + +00:06:45.280 --> 00:06:46.960 +We'll go through these next ones + +06:46.960 --> 00:06:48.318 +pretty quickly. + +00:06:48.319 --> 00:06:51.759 +We've got work or purposeful activity. + +06:51.759 --> 00:06:53.039 +Emacs would not exist + +00:06:53.039 --> 00:06:55.120 +without this human tendency. + +06:55.120 --> 00:06:56.319 +it's been worked on + +00:06:56.319 --> 00:06:58.240 +by free software volunteers + +00:06:58.240 --> 00:07:03.360 +for 40 years, and this is the kind of + +00:07:03.360 --> 00:07:06.000 +self-motivated work that inspired me + +00:07:06.000 --> 00:07:09.198 +to be a hacker. + +07:09.199 --> 00:07:11.919 +Repetition is another human tendency. + +00:07:11.919 --> 00:07:14.960 +I think that one kind of speaks for itself. + +07:14.960 --> 00:07:17.120 +It's this tendency that gave me + +00:07:17.120 --> 00:07:19.919 +Emacs pinky after learning all of those + +00:07:19.919 --> 00:07:23.360 +key bindings, and then that same tendency + +00:07:23.360 --> 00:07:26.639 +drove me to learn another modal key mapping + +00:07:26.639 --> 00:07:29.759 + to deal with that. I've repeated myself, + +00:07:29.759 --> 00:07:32.400 +starting over new Emacs configs + +00:07:32.400 --> 00:07:35.120 +several times. I could give another example, + +00:07:35.120 --> 00:07:36.960 +but I'll just be repeating myself + +00:07:36.960 --> 00:07:38.959 +at this point. + +07:38.960 --> 00:07:42.880 +And then exactness. So we have a tendency, + +00:07:42.880 --> 00:07:45.840 +a human tendency toward exactness. + +07:45.840 --> 00:07:48.160 +That's not one that's very strong for me. + +07:48.160 --> 00:07:50.879 +I'm not a super exacting person. + +07:50.879 --> 00:07:53.520 +But I think you can see that in Emacs, + +00:07:53.520 --> 00:07:55.520 +like certain parts of it + +00:07:55.520 --> 00:07:59.599 +have been refined down to exactness. + +00:07:59.599 --> 00:08:01.759 +I know when I'm working, + +00:08:01.759 --> 00:08:04.560 +sometimes it's just the theme that I choose + +00:08:04.560 --> 00:08:06.319 +or making sure the mode line + +00:08:06.319 --> 00:08:07.840 +is exactly the way I want it... + +00:08:07.840 --> 00:08:10.160 +You know, getting that environment + +00:08:10.160 --> 00:08:14.240 +to feel conducive to thought and work + +00:08:14.240 --> 00:08:16.318 +is important to me. + +08:16.319 --> 00:08:18.560 +And then we have abstraction, which... + +00:08:18.560 --> 00:08:19.680 +That one goes pretty deep, + +00:08:19.680 --> 00:08:21.840 +but I think you can see + +00:08:21.840 --> 00:08:24.080 +how abstraction works in Emacs. + +08:24.080 --> 00:08:26.080 +A buffer is an abstraction. + +00:08:26.080 --> 00:08:27.840 +One of the great things about Emacs + +00:08:27.840 --> 00:08:29.199 +and about Montessori philosophy + +00:08:29.199 --> 00:08:32.080 +is that these abstractions + +00:08:32.080 --> 00:08:33.200 +might not be something + +00:08:33.200 --> 00:08:34.640 +you need to think about right away, + +00:08:34.640 --> 00:08:35.919 +but they're there, right, + +00:08:35.919 --> 00:08:39.200 +like the fact that a buffer abstracts + +00:08:39.200 --> 00:08:41.279 +over working with text. + +08:41.279 --> 00:08:43.519 +Once that becomes clear to you, + +00:08:43.519 --> 00:08:45.760 +once you have a reason to manipulate it, + +00:08:45.760 --> 00:08:48.320 +having the abstraction of the buffer there + +00:08:48.320 --> 00:08:51.440 +to work with makes a huge difference. + +00:08:51.440 --> 00:08:52.160 +And then of course, + +00:08:52.160 --> 00:08:54.560 +we can create our own abstractions: + +08:54.560 --> 00:08:57.519 +transients, pop-up buffers, hydras... + +08:57.519 --> 00:08:59.360 +I'm sure there's plenty of examples + +00:08:59.360 --> 00:09:01.999 +in chat that I can't come up with. + +09:02.000 --> 00:09:03.519 +And finally, perfection. + +00:09:03.519 --> 00:09:04.959 +All of the human tendencies + +00:09:04.959 --> 00:09:07.279 +culminate in this one. + +00:09:07.279 --> 00:09:08.320 +Perfection doesn't mean + +00:09:08.320 --> 00:09:10.240 +like you just have to make + +00:09:10.240 --> 00:09:13.040 +this perfect shining idealistic thing. + +09:13.040 --> 00:09:15.680 +It's about perfecting what we do. + +00:09:15.680 --> 00:09:18.800 +I think everybody who's worked with Emacs + +00:09:18.800 --> 00:09:19.680 +for a long time, + +00:09:19.680 --> 00:09:22.240 +you perfect your configuration. + +09:22.240 --> 00:09:25.120 +Sometimes you tear it down and start over. + +00:09:25.120 --> 00:09:26.399 +If you're working on a package, + +00:09:26.399 --> 00:09:27.760 +you perfect that, + +00:09:27.760 --> 00:09:29.760 +and it's an ongoing process. + +00:09:29.760 --> 00:09:31.600 +An example I can think of are + +00:09:31.600 --> 00:09:33.680 +like raxod502's packages. + +09:33.680 --> 00:09:36.720 +straight.el is an attempt at perfecting + +00:09:36.720 --> 00:09:40.480 +the package management system in Emacs, + +09:40.480 --> 00:09:41.920 +and he's taken a stab at + +00:09:41.920 --> 00:09:43.440 +several other common things, + +00:09:43.440 --> 00:09:46.320 +like incremental selection and so on. + +09:46.320 --> 00:09:50.959 +These aren't necessarily finished problems. + +09:50.959 --> 00:09:52.480 +There's room for perfection, + +00:09:52.480 --> 00:09:58.160 +and we have a human tendency to pursue that. + +09:58.160 --> 00:09:59.040 +I hope this talk + +00:09:59.040 --> 00:10:00.080 +has gotten you thinking about + +00:10:00.080 --> 00:10:02.880 +how Emacs and the Montessori classroom + +00:10:02.880 --> 00:10:04.480 +are similar--they're both + +00:10:04.480 --> 00:10:06.160 +prepared environments + +10:06.160 --> 00:10:08.800 +that call upon our human tendencies + +10:08.800 --> 00:10:12.240 +to construct and refine our world-- + +10:12.240 --> 00:10:15.519 +and how Emacs respects us as users + +10:15.519 --> 00:10:18.480 +in the hopes that we will grow up into + +10:18.480 --> 00:10:21.200 +creative hackers. + +10:21.200 --> 00:10:22.240 +Thank you for listening. + +00:10:22.240 --> 00:10:23.680 +I'm happy to answer any questions + +00:10:23.680 --> 00:10:26.079 +after the talk. + +00:10:26.079 --> 00:10:27.079 +[captions by sachac] |