Back to the talks Previous by track: Programming with steno Next by track: Emacs saves the Web (maybe) Track: General

Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs)

Jeremy Friesen (he/him) - Pronunciation: JERR-im-EE FREE-SEHN, https://takeonrules.com, jeremy@jeremyfriesen.com

Format: 11-min talk; Q&A: BigBlueButton conference room
Status: TO_INDEX_QA

Talk

Q&A

Listen to just the audio:
Duration: 1:13:43 minutes

Description

Help wanted: Q&A could be indexed with chapter markers

The Q&A session for this talk does not have chapter markers yet. Would you like to help? See help with chapter markers for more details. You can use the vidid="mentor-qanda" if adding the markers to this wiki page, or e-mail your chapter notes to emacsconf-submit@gnu.org.

(If you want to work on this and you think it might take you a while, you can reserve this task by editing the page and adding volunteer="your-name date" or by e-mailing emacsconf-submit@gnu.org.)

https://takeonrules.com/2023/12/03/mentoring-vs-coders-as-an-emacsian/

Join me as I share some anecdotes and approaches for mentoring other developers who use tools different from mine; all in service of furthering a shared understanding, sharpening my own toolkit, and hopefully helping others grow their capabilities.

Most everyone I mentor has chosen VS Code as their editor; yet I don’t use VS Code. Our pairing and mentoring sessions are about me being curious about their habits and modes of operation. I use my journeyman knowledge of what Emacs can do to help these VS Coders navigate pathways towards sharpening their skills. I also learn a few editor tricks from them.

I’ll talk about remote pairing sessions, one-on-one sessions, and larger show-and-tell efforts; each with the purpose of revealing potentially different approaches. The idea being that asking questions and showing alternate approaches can begin to illuminate previously unknown pathways.

The underlying goal is to ignite in folks a desire to improve their understanding and usage of their preferred tools; and show alternatives that might peek further interest in learning and exploration.

About the speaker:

Jeremy Friesen is a long-time software developer but only recently an Emacs convert (as of May 2020). For most of his career he has been writing open source software for educational institutions such as universities, libraries, archives, and museums. He’s mentored several dozen developers at his places of employment as well as through volunteer efforts. He strives to meet people where they are, learn how they are looking to grow, then working with them to grow; often by nudging folks to practice and explore their tools.

Discussion

Questions and answers

  • Q: re: super-. -- which key do you bind to super? then where is meta?
    • A:mac: ctrl-meta-super---space---hyper-meta-ctrl (caps lock as ctrl)
  • Q:Great talk; what's the package you use to make the Org slide?
  • Q: If people do get interested in picking up Emacs because of what they see you do, how do you recommend they get into it? 
    • A: A lot of it comes down to the problems that they're trying to solve. I worked in TextMate for a long time, then Sublime, then Atom... I chose Spacemacs, and then I chose Doom, and then I said, wait, start over, erase everything, start with the tutorial. I said, I really want this functionality. Then I went and figured out how to do it. Helping ask them, "What do you really want to do?" Ex: okay to advise people to go back to vim, develop ownership of their editor. Understand the problems they're experiencing, which tends to be what we should do in software development. Take the time to walk with them on their journey to understand what's frustrating them. Story about a mentee learning to ask questions earlier (not focused on navigating editor).
  • Q: I've been using Emacs for about 30 years and I find it really difficult to figure out how to help people get started with it. Uh ... so I guess my question is the same as the green question right above this.
    • A: My wife a while ago talked about the idea of being in between someone who's more informed and someone who's less informed. Introducing someone who's new to Emacs might be too hard because you're too much an expert. Pedagogy. Sharing what you have where you're at will by nature move the entire queue of people behind you, will help move them together forward. Not an only one person thing, improving shared understanding.
      • Zone of proximal development; just i + 1 - Lev Vygotsky
      • It can be very challenging to unwind things. Muscle memory. I know how to do it on a keyboard... We've internalized so much. Being curious with them and close to them, trying to diffuse questions and not ask overly leading questions... 
      • What is the question that I can ask the group so that I can ask the question? ex: not "Why do we suck at sharing code?", but before that
    • I'm also 30 years in (at least) and just recently picked up JF's method of only giving away a little bit of the functionality of emacs at a time.
  • Q:Have you encountered anyone that are being... "nagative" about the fact that you're using Emacs? (Assuming that they just don't know/have misconceptions about Emacs and nothing malicious.) If so, how do you handle these kinds of people?
    • A: Analogy with a pen: my goal is to write something, who cares about what kind of pen I use?
    • I want my text editor to flow with me.
    • I don't need it to multi-thread-- it's just me on the computer.
    • "My goal is to be better at computering."
  • Q: I love the attitudes and worldview that infuses your blog posts and your talks this weekend. Learn something every week: it's CUMULATIVE. English class was the most important. What other advice do you have, and how is it generalizable to those of us who are not devs?
    • A: fountain-mode (package for writing screenplays)
    • Wonderful answers! Thanks so much!
    • Broad curiosity (ex: background is liberal arts, very little computer science classwork/theory; Lord of the Rings, poetry, etc.)

Notes

  • Presenter blogs at https://takeonrules.com
  • such valuable work being described
  • I wonder if there is still reasons to use ag compared to ripgrep
  • Hyper modifier is tops. On normie keyboards, I like super, meta, space, meta, hyper. 100% do not regret switching to a split ergo mechanical QMK board.
    • On my work Mac, caps is control, I don't have a super, and it's meta-space-meta-hyper. But I almost never use that, because the keyboard is deeply unpleasant to actually type on. The sole thing I like better about Emacs on macOS over Emacs on Linux is that it's a oneliner to set the Hyper modifier. Linux requires delving deep into the forbidden territory of xkb. https://codeberg.org/ieure/xkbsucks if you need a guide
    • my mac setup is the same as him but reversed: command is control, option is meta (like him) and control is super cuz i use super all the time. and hyper, like him, is on the right of the keyboard.
  • (discussion about fountain pens)

Transcript

[00:00:01.380] Introduction

Hi everyone, my name is Jeremy Friesen, pronouns are he/him, and today I'll be talking about mentoring VS Coders as an Emacs-ian. A little bit of background, since 2015, I've mentored about 40 software developers, many of them in career-transitioning roles, oftentimes from boot camps. I've also managed a couple of small software development teams.

[00:00:26.740] Framing approaches

So I want to think about mentoring and the framing approaches. We all don't know what we don't know. So while mentoring, I like to be curious---asking questions, I like to be visible, and I also like to pair so that we can share.

[00:00:41.940] What are you looking to learn?

When I start, I like to ask the following type of question: "What have you been wanting to learn more of, get better at, and improve on?" Then I like to ask further questions to get an understanding of where they've been, where they're going, and what they'd like to achieve. Later I'll ask coaching questions, "what's going well," "where are you getting stuck," and "if you change one thing, what would it be?"

[00:01:06.000] Make the work visible

So like many people, I shifted to remote work in 2020, and I've noticed a higher collaboration in remote work, when folks make their work visible. So to do that I host office hours, I try to attend other people's office hours, and I'll open up a Slack huddle and just code by myself, but let folks know, please hop in.

[00:01:29.320] Hop in and be curious

I like to pay attention to other huddles that start. If they're going still for, like, 45 minutes or so, I'll hop in and say hello. It's even odds that they're moving along just fine or that they're stuck. So by hopping into the Slack huddle, I'm helping with a common problem. How do you know when you're stuck? This is something that---as a manager---folks want to know, how can I get unstuck faster? As a human, it can be frustrating to be stuck for a long time, but you also learn stuff when you're dealing with the hard things. So you really need to balance that time, and I find hopping in, just being a gentle presence, with yes... an agenda, but just to say hi, is crucial to help the team members move along.

[00:02:15.880] Pairing is for sharing

Pairing is for sharing. When I pair, I like to let others drive. They're typing and working to resolve the problem. I'm giving guidance, asking questions, maybe thinking through a refactor. I'm also spending time observing how they interact with their editor. In the moment, I try to limit advice to, like, one concept. A lot of folks don't know that Control-a will take you to the beginning of line. Just sharing that is huge sometimes. Just gently do it and let it float there. And assuming we have a regular mentoring session, I'll make sure to ask how they're feeling about using their tools afterwards. I would love to get to the point where they ask, "You saw me using my editor, what is something I could learn?" I'm working on getting to that point.

[00:03:03.860] Editor functions

While pairing, I like to pay attention to how folks handle the following. Where do they want to go? How do they get there? Here they are, now what? How do they summarize? I know what I can do in Emacs, and I assume that VS Code can do something similar. It's a matter of helping the mentees find those packages and plugins.

[00:03:23.240] Where do they want to go?

Where to go? Search within a project. Everybody knows about this, but one thing that has been really critical for me has been the arrival of Orderless. A little quick demonstration. If I look, and I have this "chicken" and I do "spell", I have found one, and they don't have to be in the right order. In fact, I can go back, and "spell" is there. Super easy, helpful, so I don't have to think about it, the order. Search across projects. Cross-repository searching is super-simple in Emacs, and I've never seen anyone do it in VS Code. I'm also trying to introduce folks to command-line tools such as RipGrep and SilverSearcher, not just to look in the project, but to go one directory up and look across projects because sometimes when you're working on lots of different projects, there might be solutions or ideas that come from there. Also notice that a lot of people use directory trees to navigate, but I favor the fuzzy text. So I can do something like Command-t and start looking for things in there. I just type the name of the file. I use consult-projectile, which has a lot of really cool functionality. The big one being I can type r, recent file. I can type p and jump to a different project, so it's a quick navigation tool that I've not seen in VS Code.

[00:04:53.440] How do they get there?

Next up is how do they get there? I like to use LSP for the languages, and I bound M-. to this and jump back and forth to definitions. I just showed projectile or consult-projectile and its super-amazing multifunction finder. Also another one that I am very avid about is the jump between definition and test. I bind that to Super-. and it helps me jump back and forth between my production code and my test code--- especially in Ruby, there's an idiom for that. There is plugins in VS Code that does this correctly.

[00:05:36.640] Here they are, now what?

Next up, now I'm here, what do I do? Word completion, Emacs just knocks everything out of the park: dabbrev, templates, hippie-expand, completion-at-point. Sometimes it just hurts to watch people type stuff that they could quickly expand because there are words within the code. Another one is auto-formatting. Tree sitter...its arrival is great. I assume this is going to get better. I love highlighting a region, hitting TAB, and it's just formatted. I've seen a lot of VS Coders... that doesn't work for them. Don't know why, trying to get them to see it. Multi-cursor [multiple-cursors] and iedit... took me a long time to explore iedit, but the practice... but practicing was huge, and it has transformed my approach to coding and typing. Folks know about multi-cursor editing and editing-in-region but make sure that they are aware of it. It's important. Next up is inline searching. My beloved Textmate... it was the first thing. In fact, it was why I chose not to use Emacs in 2005 and went with Textmate. This is something quite simple. I can do search within here, and I can see "introduced", and it will show me the line. What I like about that is when I'm in code, I can see the neighborhood of other things and get a good idea of what's around. Yes, there is occur-mode that can be super useful, but I'm used to the Textmate in it. I just love it.

[00:07:06.640] How do they summarize?

Next up is how they summarize. I've seen a lot of bootcamp graduates write commit messages by going to the command line. In my experience, commit messages written in the command line tend to be terse. They miss something. So I try to really quickly shift folks to use their text editor, encourage them and teach them about $GIT_EDITOR and $EDITOR for the environment variables so they can make their commits from the command line. And if not there, help them improve how they do VS Code. My little screed at the top: the interface for VS Code's commit is trash. It is why I stepped away from VS Code when I was exploring editors.

[00:07:44.440] General strategies

Next up, my goal is to encourage folks to use editors for writing, to think about owning that tool.

[00:07:52.060] Commit to one item of learning each week

I have them try to learn one thing a week. Maybe they aren't going to learn it, but just not to overwhelm them and find those high-value things. Jump to spec, jump to code... super-valuable because I see folks doing it a lot during the day, and it can really speed up the transition time and keep the focus between the test... what you're trying to test and what you're trying to define, which can get lost if you do the tree navigation.

[00:08:18.960] Practice within your knowledge domain

Also I encourage people to practice their domain knowledge. I learned a lot about programming by doing a bunch of things related to RPGs---role-playing games. I did this previously in Ruby---dice rollers, note takers, random table lookups---and now I'm doing it in Emacs. Knowing the domain helps me set aside the problem space and then explore how I code and how I can implement things differently.

[00:08:47.120] Note-taking

Note-taking: pay attention to how folks create a fleeting note. It can be excruciating as they try to figure out "where am I going to put this?" "What file?" "Where does it go?" Emacs, we have the scratch buffer or anything else, but ask them about their note-taking habits

[00:09:07.120] Help them navigate the proprietary software tar pits

and help them navigate the proprietary software tar pits. We know that anything that is venture-capital funded will eventually collapse. We know that things that don't have a sustainable business model without surveillance capitalism is going to also have problems. Encourage folks to think about how they're owning their notes. Do they place true value on those, or are they things that are kind of ephemeral? And then help them find the thing that makes sense for them.

[00:09:38.520] Help show the joy of holisting computering

Put another way, I want people to think holistically about their generalized "computering" environment.

[00:09:47.740] Playing is for staying

And I also think about the reason why I've stayed a software developer for 25-years plus is because I approach all of this as play and storytelling. Sometimes happy byproduct is that I ship features and documentation and help people get stuff done. Yet I don't tell folks to use Emacs. Instead, I'm doing my best to show a myriad of reasons for why folks should consider Emacs.

[00:10:14.900] Conclusion

In conclusion, ask questions. Find a person who is a VS Coder and just say, "hey, I learned something new." We play this game all the time, me and my coworker Kirk. I love it. Another goal is showing the malleability of Emacs, how easy it is to extend. And obviously there's so much more than what I've highlighted, but then again, that's Emacs. Thank you, and I look forward to your questions.

Captioner: hannah

Q&A transcript (unedited)

Hi, Jeremy, how are you doing? How about you? I'm really happy to see all the talk that we're having. And I was particularly excited when I got your proposal for this talk because mentoring, as I was telling you during the check-in process, is a subject dear to my heart. So I'm really excited, not only for the talk that you've just done, but also for the question that people are going to ask you. questions. Mentoring is also something near and dear. Something I did not mention is when folks would ask me, like, what was your most important class? Or I said, oh, easy, easy, easy, high school English. Like, it's my whatever your primary written and spoken languages I think is the most useful skill as a programmer questions to Jeremy, feel free to find the link to the other pad either on the talk page or on IRC. We're also going to open the chat so that people can join us and ask questions. Let me just make sure that I tell Sasha can you open ID Mentor. All right so in the meantime what we'll do is that I'll be reading questions of the pad and Jeremy will be answering them whilst we wait for you to join. Now just to be clear with the time, we have a little bit of time now, a little more time than before. We have 22 minutes, so until 10 of the next hours to answer as many questions as possible. And believe me, if you people watching right now are not asking questions, I will be asking plenty of them. So please, save Jeremy from my Starting with the first question, a very trivial 1, perhaps, but always 1 that I ask myself when I look at a keyboard. Regarding super key, which key do you bind to super? which is on a Mac keyboard, so the key right to the left of the space bar is super. And the key immediately to the right of spacebar, which is the right command key, is bound to hyper, which opens up a whole new suite of keys. And I thought it would take a little bit to get used to, but it's been amazing. So I definitely recommend having a hyper binding. binding. No, it's a hyper binding. We already have super. It's your Windows key or your Linux key or whatever you want to call it. But I will warn people though, it's the gateway into fancy keyboard setups because it starts, it's the Trojan horse of fancy keyboard setup. Just, oh I wish I could have another modifier. And then many years later, you find yourself with this little thing that I'm showing, which is a fully customized QMK keyboard. of super, and then control is to the left of meta. And also, caps lock maps to control as well. Definitely tried a bunch of tap for this and that on a programmable keyboard, but I have settled on keep it simple and use something like carabiner elements to do most there. I wish I'd stopped there at some point where I'm like, oh, what have I done when I was trying to type once? moving on to the next question. Great talk. What's the package you used to make the org slide? so I am using Protz Logos and have, I think, like, Olivet mode. I'll post a link to the configuration for turning it on and off. But it's basically narrow region to an org heading, which is, I find that to be super helpful. Don't have to fiddle with it. it's Olivetti, right? I think that's the... to pronounce between Europeans and people in the I at the end. So in my head people do get interested in picking up emacs because of what they see you do How do you recommend they say they get into it? Oh down to what are the problems that they're trying to solve. And so I walked them through my journey. I worked in TextMate for a long time, then Sublime, then Atom. And then in 2020, I hopped over to Emacs, started writing in it and I chose Space Max and then I chose Doom. And then I was like, wait, start over, erase everything and just do the tutorial. So I did the tutorial and then I started writing and I was like, oh, I really want this functionality. And so I went and I looked for it and I installed the package. And then I got the functionality, went back to writing, and I'm like, oh, my editor should really be able to do this. And I thought about it. So a lot of it came down to the experience of what they're trying to accomplish. And really helping ask them that. I had 1 mentee had used Vim for a long time and then was exploring using Evil Mode and Emacs and we had conversations and it was like go back to Vim like you were using VS Code just go back to Vim and they went back to Vim and then they started writing, well, they went to NeoVim and they started writing Lua plugins for stuff and it just helped free them and they gained that ownership in their text editor. So I try to have them think through what are the common tasks that they're trying to accomplish and then thinking in terms of that. So instead of going and finding a solution, understand the problems they're experiencing, which tends to be what we should do in software development. Instead of implementing the solve a problem. Sometimes It's fun to implement an idea. really, when it comes to software development, because what is at the crux of any kind of engineering? Well, it's the problem you're trying to solve. If you've got 2 islands and you need to join them up together, well, I need to build a bridge. Now, obviously with software, we have problems that defy the law of physics, which is great because we get very complex problems that are very exciting to solve. But when it comes to onboarding people into those ways of solving problems, well, I think mentoring, The key behind mentoring is that together, we're going to look at a problem and we're going to try to see how high would fix it. And you're going to try to appreciate whether this is something you would do as well or would like to do. it's really taking time to walk with them on the journey to understand what's frustrating them. I have a coworker we've been working together for a very long time. She is not a fast navigator of her editor, but as we've talked, that's not where she's looking to get better. She's looking to get better at asking the questions of the clients early so that we don't go down long paths of implementation. So it's been great because she's not looking to get better at her text editor. She's adequate for how she navigates. Other people look and they're like, man, I want to do it faster. I want to do it different. I want to do it better. And then we have a different conversation. question. I've been using Emacs for about 30 years and I find it really difficult to figure out how to help people get started with it So I guess my question is the same as the green question right about it. I think it's slightly different though You could it is more about well go on please. Yeah talked about the idea of, relative to anybody, I am an expert or slightly more informed on a topic than the person quote behind me. And there's a person ahead of me who's slightly more informed than I am. And so what we're looking at is perhaps with 30 years of experience, introducing someone to Emacs might be difficult because you've you're too much of an expert. So maybe the there's a an idea of like what are the principles of pedagogy. I know we that was talked about yesterday in a presentation about like here's a constraint, you're using Emacs for the course. But so it's that idea of sharing what you have, where you're at, will, I think by nature, move the entire queue of people, like they don't really exist. I mean, they do, but they don't. Behind you, it'll help move them together forward just a little bit. And maybe we all move the condition together. So It's not a only 1 person kind of thing. It's a mindset of improving shared understanding. something that you mentioned in your answer, because it's, you know, what the person asking the question mentioned, 30 years of advance, basically, on starting Emacs. You know, that's a lot of time, And you tend to equate this to a massive gap in terms of skills between the 2 people. And whilst it's obvious that would be a gap of skills. You know, I find that learning in terms of pedagogy works best when the person doing the teaching is very close in terms of skill levels to the person being taught. Why is it the case? It's because it's much fresher in their memory what are the different elements that they have to go through to acquire a particular skill. To go a little bit into the theory, I'm not sure if you're familiar with Vygotsky or at least the I plus 1. Are you familiar with this, and it's 1 of the things they taught us. It's about the fact that when you are trying to make someone acquire a skill, I represents the current knowledge, and plus 1 is the thing that you should be teaching them and the theory behind it is that it's much easier to teach someone to teach something to someone when they only have to focus on plus 1 i.e. Something that is very close nearby to them If you go with something that is I plus 2, I plus 3, or god forbid I plus 10, it's going to be much harder for them to get to the understanding because the distance is much greater. And that's why I think mentoring can be taken in 2 ways. It could be a mentor who's merely ahead of you by plus 1, or it could be a mentor that is ahead of you by plus 10, but who has the understanding of what plus 1, plus 2, and plus 3 is. unwind that. I know if we think about all of our hands or input methods have a memory of something that I honestly couldn't tell you what it is. Right? Like, I know how to do it on a keyboard, right? We've internalized so much. And so, yeah, how to walk backward is a distinct challenge and being curious with them and close to them and not asking, trying to diffuse questions and not ask like leading, not overly leading. An example, early on in my mentoring career, I was working in a community project, and I really wanted to go in and say to everybody, why do we suck at sharing code? But instead I said, wait a minute, what would be the question I could ask the group in which I could then ask my question? So instead I went into the group and I said, how are we doing about sharing code? And collectively, we were able to establish we didn't feel very good about it. And that conversation now 9 years ago, helped move a process along for the last, like it gave it energy for 9 years of how we're sharing and how we're approaching stuff. So yeah, the curious questions are super helpful. We have about 10 more minutes so I'm glad that we have a little bit of extra time to answer the questions because we have a little more. All right, I'm gonna switch to the next question we can come back to people reacting to what you just said a little bit later. are being negative about the fact that you're using Emacs, assuming that they just don't know or have misconceptions about Emacs and nothing malicious? If so, how do you handle these kinds of people? like, oh, Jeremy's going to talk about Emacs again. So it's not entirely... Maybe it's a little dismissive, but I don't actually care because like it's like being, I don't know, it's like being made fun of for using a particular type of pen. Like goal is to write something, right? And I'm using a pen that gives me joy. When I talk with my mentees, like I want to meet them exactly where they're at with their code and like what they're comfortable with and help them remove any of that potential like inadequacy, sense of inadequacy or imposter syndrome or any of those things because The goal is to, for me, to be better at computering. Like hop on my computer. I want to be able to use it at a speed of thought that doesn't introduce a lot of friction. Another speaker talked about that using HyperBowl and a couple of plugins to write stream of consciousness. And that was an important consideration. I want my text editor to flow with me. And so I'm like, well, Emacs flows with me smooth. Like you can deride it all you want. It doesn't thread very well, but it's just me on this machine. I don't need it to overly thread, at least for my use cases. just said. And it's very easy to dismiss stuff like Vim or Emacs based on the very trite sentences that everyone use. But at the end of the day, I really like what you said. Those are just pencil that we're using to express ourselves. And we're doing something a little more fancy than just writing words on a page. But ultimately, It's just text at the very bottom. So whatever helps us write this test, this text more easily, you know, it's always good. Yeah. All right. Moving on to the next question. I love the attitudes and worldview that infuse your blog post and your talk this weekend. Learn something every week. It's cumulative. English class was the most important. What other advice do you have and how is it generalizable to those of us who are not devs? for me, and I talked about this in the writing Q&A, is switching my blog from a topical 1 about role-playing games and board games into anything that I think I want to write. And that shift happened about the time that I was really exploring using Emacs for writing. And so previously I had, I would write blog posts in Markdown using, or I would write it in the web interface. And getting to the point where my writing was the same as my coding, was the same as my RSS consumption, was the same of a lot of these things, freed up my general interests so that they all can kind of play in that space. So and that's the, I think, Feynman said, like, his notes are his thoughts. It's not him thinking, I mean, they are him thinking as well. So it's really framing it that way. And then for not devs, My daughter has been doing screenwriting and she just had her school license for the tool that they use for writing screenplays. She had to pay for it on her own. And I was like, hey, let's take a look at Emacs. There's a package for this. Maybe it makes sense to you. So I think the, really to summarize it is like the broad curiosity in like, I have a liberal arts degree, I have barely any computer science classwork practice. I have a lot of practical experience doing software development, but theory is minimal. Instead, I look to things like Lord of the Rings or role-playing games or poetry or history or whatever and be curious and Then be playful The introduction of git locally where I can just have a Git repo means my text is recoverable. I don't, I can play. I'll just break it, I'll change it. It's software, let it be soft. It's not hard. It can be hard to work with it, but let it be soft. Let it be pruned, let it go away, let it die, let it come back. I mean, I've already talked about my past as an English major in 1 of the EmacsConf talks, but just like you, I don't have a comp sci education. I just started with needing a better pen, and that was about 10 years ago. And now I find myself hosting Emacs Cons, but it was a very incremental process, a very cumulative process, to reuse the word that we used before. And What I also like about people outside of CompSight using Emacs, and we've got plenty of such examples in the presentations we've had this year, but also last year, is that you get so many different windows into how people are using Emacs, and it kind of harks back to what I was saying before about Emacs being a platform with many horizontal packages permitting any kind of workflow imaginable and some people are going to gravitate towards old mode. I think it was your sister that you mentioned that was looking into packages for writing screenplays. Well, we've got such a thing in Emacs. I mean, a screenplay is just a monospace font with some fancy formatting. It's not very complicated. And if you can get behind, you know, someone using such a stable format for writing screenplay with many rules, but ultimately all the screenplay look the same, well, Emacs is kind of just the same. It's about standardizing the way you edit text. So I think your sister was already half I'm trying to sell her on. day and was like, I forget that. Like she was playing with a stage manager programming thing or like have a little avatars moving around. And so she's got a predisposition to like the craft of things. And I think that's another aspect is like, I'm not, I mean, I appreciate science. I'm here for a scientific approach, but I also Really enjoy the craft of things Playing with it Like this is my playground. I love kind of hacking on it and looking at packages and Seeing how I might use it pick it up for a little bit and then maybe I forget about it finish. Oh, sorry plasma. Oh, sorry. I thought he was someone on Mumble talking to me. I'm actually going to have to be sorry because we only have about 50 seconds until we move on to the next talk. But please, Plasma Strike, If you want to ask your question to Jeremy, by all means, stay in the room. put this later on the talk page. So Jeremy, I'll have to say bye now because I need to prepare the next room. But It was lovely talking with you and thank you for all your answers.

[00:23:26.400] Start of section to review

it's not... It's like when you change the file management, you just change very, very small amounts of what exactly you need, you want to change. Like you go from text editing to your file manager, you're not changing your theme, you're not changing your font. your emails, you use your bookmarks in your org-mod documents, you use it in E-dub, W-W buffers if you use that, but it's just the, Yeah, it's just the least amount of Incremental changes the Reducing friction like turn off editing or not editing, but auto correct while you're typing, it's absolutely spot on. You're wanting to get whatever is flowing needs to keep flowing, like as a programmer or as a creative, anytime I can hit flow is my goal. And so paying attention to what removes flow or hinders it or saps energy and that unified environment of Emacs is really helpful to maintain that. So yeah. you get some of that, then you're like, well, yeah, it's important, but this is like the last thing I care about. Yeah, there's a quote that I love called, I forget the author. It's, there is a connection between slowness and remembering and fastness and forgetting. And the slowness is an interesting, like it's, I am moving fast in Emacs because I've forgotten how I'm doing it. I just do it now, right? And then the slowness of like being in my thought and staying on that stream is where I want to be and ride whatever that pathway is. And a text editor is still hard to do that because if I were using a pen and paper it's more cumbersome to auto-edit. But I can't get it out without losing my thinking. And so I ended up having to type it. using, well, recording. Some other people are using dictation for this to just get the blur out of the ideas and you can go back and glean some of that stuff out of it. quotes or epigraphs is I will almost always turn on dictation because I got a book in 1 hand. So I'm like, on goes the typing. And yeah, that is, there's a, I'm really thankful that that exists as well. Like my mother is blind. And so having that helps her and me communicate Through text because we're both able to appreciate it And use it in a way that is accessible for both of us which will allow you to both of us. There's the ElfieTube package which will allow you to subscribe to a YouTube channel and then download the subtitles and give you remote control access to the MPV player to watch the YouTube thing. And considering you have a really big subtitle thing that you can click at the various different places, it's really surprising about how different that makes YouTube feel. if you've used it why would you never have thought about that before because it's... Right. It's even better. when I'm skimming through stuff for Emacs News. But for books specifically, I often use Google Lens to just capture the text and copy it so that I don't have to deal with recognition errors or whatever. really useful. games and the tabular data that is in the role-playing books is never in correct, like copy it out. And so I was like this is really annoying And I ended up taking screenshots on my machine, running Tesseract to pipe it in, and then using Emacs to like edit it because Tesseract adheres to the column format that I'm looking for. And I'm really thankful that we're at a place where the OCR is in good shape. That's part of my day job is working on some old documents that OCR is good, but not great because of like their 19th century documents, but having that ability to me is really powerful because we're gonna be able to share that text And also then once it's understood in what it's ASCII or UTF-8 encoding is, it can be translated as well. So we can make it even more generally available, which I think is a nice thing to have. since that's something that I'm very much interested in figuring out how to facilitate in the Emacs community. Other people have been working on kind of remote mentoring initiatives with Emacs Buddy. And there are meetups as well that kind of get that sense of like, you know, what people are doing things and then somebody can look over their shoulder and say, hey, have you ever thought about suggest specifically in the context of this kind of mentoring over a distance? Any chance you've thought about it? handful of people reach out to me. Most often we start with email and every so often it'll be like, hey, let's hop on some kind of video or audio, even just done phone calls. Yeah, I haven't done any of the like shared buffer stuff. I know like at work we have replit where we can use that. Seeing the presentation on CDRT, I was like, oh, that's really great. But what I found is being able to see someone, I don't get to see them typing, but I get to see the results of what they're doing on the computer. You know paying attention to that is the big 1 to help them think of a different way. Depending on where they're at when they're writing if they are like at a pause point, if I'm at my best, I'll be like, so what are you thinking? Where are you stuck? Cause maybe they're trying to navigate somewhere and that starts to create a point for a conversation of like, how do I go from here to there? And so it's looking for those moments is where I try to operate. so there's kind of like, how do you go from here to there? And sometimes even the, what there should I be going for is a challenge, right? Because especially with Emacs newbies, they might not necessarily know what's possible or what's nearby in terms of what their current knowledge is. And that's an interesting thing to map out. Is that something that you've thought about and as you're conversing with all these people? talk, I talked about this, I think in the, I did in the talk where it's, I need to jump between the test and the implementation. And since 2005, I've had that. And I watch folks not have that. I'm just like, Oh, my goodness, like there's a convention in the language we work in. Let's get that installed. Let's get it going. Like that's 1 thing, that's 1 access I know they're gonna go to. Another 1 is the jump to definition. And I've never gotten like C tags. I haven't really spent time on that, but with the advent of LSP, it works a lot better. And so I try to get people to use that. And what I've noticed weirdly is like VS code, it doesn't work as well as I would have thought. And there's lots of like errors and warnings popping up in the bottom corner. So I'm like, well, you gotta pay attention to that. But I try not to get into anybody's business about like, I'm like, maybe we could fix that. Maybe we can clean it up, but it's your, you know, it's your car you're driving. I'm just long for a ride. It's safe, we're fine. So yeah, that jumped to definition. And then the, I mean, search in project, like everybody understanding that. But I feel that the, like I mentioned in the talk, the advent of orderless is just huge. I did not realize how much I loved it because I don't have to think about things and can have slightly more forgiving default searches. Yeah, it's hard. The principles of organizing 10 things versus 100 versus 1,000 versus 10,000 are just, they're not the same. you skip off of Emacs, Org Mode, Hyperbole is if you go into any of those with the mindset of I'm going to master it all before I use it. That's not going to work. I started because I'm like, I don't need to organize my life. I need to like type. And then that, yes, incremental. What did I find helpful? but you have to look at them as more of just, I have a whole bunch of tools available to me and I'll just pick them up as I have a problem and as I, and as the tool can be useful for this problem and incrementally. when when I'm mentoring people, I have to take a step back and say, OK, what are we with the note taking thing that you mentioned in your talk. How do you like to take notes? How do you like to keep track of the things that you want to work on when you have an idea? Where does it go? Because if you improve that practice, and especially if you can sneak some literate programming in without them really noticing, then it becomes the thing that they can use to learn more efficiently. I wasn't presenting at this seminar, but I attended it and it was a crash course in command line tools. And I didn't, I mean, I went there to listen and there was a point where the people were like, I use this command line tool. I'm not a programmer, I'm a librarian, I'm an archivist. I use it, I'm like, great, I'm gonna remember this. And then I forget about it and I might use it 6 months from now. And so I tried to encourage everybody, like come up with, like you have a degree in knowledge and information, management and organization, introspect, right? Spend some time on it. Think about what is a way that I can do this and ask questions to get to the point where you can create a discoverable inventory of the tools you've used and what that means. And my answer was, I use literate programming or I shove it in my bin directory in GitHub and like, I don't know if I'll remember it, but I can go there every now and then and be like, oh yeah, that command. So note taking is the most critical component of any number of work. externalize some of all this mentoring insight and kind of like this choose your own adventure thing, where the person says, OK, this is what I got at the moment. And then through a series of diagnostic questions, we can figure out what hurts, right? Where is the thing that they would like to learn more about? And then, okay, if that hurts, try this and keep that manageable. And if there's only a way to also be able to capture each person's state, the things that they know about and have absorbed into their habits. So you can say, right, you know, my recommendation for someone who's brand new to org is not the same as somebody who's like, okay, they've got their agendas and everything set up already. Just how do we represent that as like WISPs? I like the one-on-one conversations and discovery. And I think that's the part where you're looking at, you're asking about how do we make the process and like I heard, like how do we help equip those who want to mentor as well, right? Making that, reducing the barrier in a way. the conversation and the fact that it is really unique for each person, each situation that comes up. I suspect what it just comes down to is more like capturing the good stuff of each mentoring session or whatever. Maybe it's getting the mentees to write very short blog posts about what they learned this week or whatever else. And then, oh, yeah, you know, we ran into the same problem 3 months ago. Let me go look it up. And then that becomes a reusable segment. they tried to encourage the mentors to say, like write a blog posts for the mentees. And that was, some of them did, but it was intimidating because like they didn't wanna, I don't know. Are we enculturated in an education system where we can't get it wrong or we need to look like we're more of an expert than we are? I don't know. I have a lot of like, I'm a middle aged white guy, I've got a lot of background and privilege in my career. So like, it's not as scary to put something forward for myself as it might be as like a woman in tech or a minority in tech, because that's a different place. And I want to really get done with that. I don't like that at all. And I would love our, like, just write. And it doesn't have to be public, right? You don't have to make it public, but if you make it discoverable to yourself, that's the big thing. And 1 of my coworkers, She doesn't blog, but she definitely has a large knowledge base of stuff that she references because she's pulling out all kinds of stuff and I'm like whatever you're doing is working. There's a good opportunity with the Emacs conference to accomplish this. So like if you make like a, because 1 of the things with it is, Sasha, you do a really good job of using all. You're the 1 who has the Emacs buffer with the time on it, right? Is that your screen that's being recorded for that? Because you have a really good example of a really consolidated emacs workflow that works really good with the Emacs conference so if you had like a page that described how you did all that stuff in the emacs conference like on that and then we then you did even more stuff with that. Like you do the org mode file that you can just put straight into your agenda for your time zone. I used that. That was really nice, just because it allowed me to reorganize and see how all the talks would work together, and which ones I wanted to do. You could add Org Mode to do tags with that, to say, plan to watch, I want to re-watch but I have to skip it because there's another talk I'm watching, you know, like a couple tags don't care about so that people can easily tag all the talks that they care about on top of that. And then with, I'm going to try to email these ideas on it too, but then you can also, you have the either pad questions, you could put all those in org-mode documents with crdt.el, post all those in the Emacs conference and then people could use that to edit all the documents at the same time so then everybody's actually collaboratively editing. And then people have all the scaffolding for if you do the Emacs meetings, buddy meetings, because they know exactly how to set it all up with that. And then you combine it with any number of whatever chat video program so that people can talk and watch each other. infrastructure and I will capture the note And maybe I can include a mini tutorial in the schedule org so that people can be like, hey, by the way, you could refile these things into your own org files or tag them and here's a list thingy that filters your agenda by your tag or whatever, it'll be fine. But it's, you know, it's, it's kind of like, it is, you're right. It is an opportunity to expose people to more things that they could do in kind of a scaffolded way. That's interesting stuff, but I, your point actually driving also going back to previous parts of conversation about, it's difficult for people to share. When you realize, like I keep telling everyone, hey, if you blog about Emacs, you'll not only learn things for yourself and make things more searchable, other people will come by and tell you even better ways of doing things, which is something that always happens to me too, and I'm posting this. Has that ever happened? I'm sure that happens to you. yeah, Howard's presentation on the game stuff. I'm like, I'm going to go explore that now. Because it's my little house. right? And kind of change people's perception that, oh, blogging or sharing tutorials or whatever, that's then when you're an expert, when you're an experienced, to rather working out loud, thinking out loud, this is just that I'm learning along the way. And it might not be the most efficient way to do things, but this is what I'm doing right now. posted something and someone was like, Oh yeah, this is, this would have you tried this? Or I'm like, I didn't even know that existed. That makes this easier. very proud of it because it's clever. And then someone's like, Oh yeah, there's a package for that. It's called this. Right? It's just it's Yeah, it the fantastic part it. I played Legos as a kid and me and my friends would play Legos at the house. And Emacs has this like feeling of playing Legos with a group of people across the world. In fact, 1 of my current, well, 1 of my best friends now, we met a year ago. And it turns out we both love Emacs. We talk every Thursday and we hang out and we talk poetry. We talk Tom Petty. We talk Emacs. We talk software development. He does Python. I do Ruby. Just anything and everything. And it's also we both are curious because we don't use it the same way. And we like how we accomplish a task. I think that's the fascinating part to me is we each get to explore our way to interact with the computer uniquely by whatever pathways are in our brain. We see stuff, we pick it up, and we're like, that doesn't quite work for me, or, oh, that worked really well. Fascinating, like, I don't know, shared art installation. resonate with. 1 of the things that fascinates me about Emacs is all these people's configuration jobs are crystallized workflows. And it's really when you talk to them and you see how they're using it, and you understand a little bit of their story and things that they need, the ideas they've had, that's really fascinating. And I think that's 1 of the things that makes it possible to be perpetually curious about Emacs, because it's not just the, you know, this is the, these are all the Lego pieces there are, but you have this community of people who are using these Lego bricks in such fascinating ways and always inventing new things for it. they show up. It's great. that because it's like you can use Emacs with a thousand different customizations and then you can interact with people who can each also Use Emacs in a thousand different ways that can go a thousand different ways. So it's like, it's like powering your and like how different and how much you can learn from it. that I have who went, he had originally started in Vim and then did VS code. And then we were talking and he was gonna go into Emacs and I didn't have a, I mean, sure, that'd be great. But he's like, I don't have a lot of time. And I'm like, well, go back to the place that you have that experience. And he did, And then he started writing Lua plugins. He was like, this is so much fun. I'm like, good, you're on the right path. Like maybe there'll be space like over time, how Lua plugins and Emacs, you know, who knows? I know that Lua, you can use Fennel to write Lisp. In you write Lisp and it will transpile Fennel to Lua. I forget how that plays out, but we're not too far away from those 2 things being able to play. But I guess the question is, does it need to? I don't know. translation, the cross-pollination of ideas is certainly enough. I love the fact that people are borrowing ideas from VS Code and from Vim and people look at Emacs videos and other things and say, hey, that's a cool thing in Emacs, but I don't want to ever use Emacs. I'm going to do that whole thing in Vim. And I think that's fantastic. monocultures die. They just do. And computer software and computer industry pushes towards monoculture because of it wants the highest efficiency. And I'm like, I'm not, I mean, sometimes I'm here for that, but most of the time I'm like, I want the bumps and the warts. I want the art, the human interaction, the like, why are we trying to accomplish this? determine efficiency because Emacs is far Even if Emacs isn't multi-threaded is far more efficient because because of the mental model shifts because you're able to play and tweak with it and then have as much of a mental model shift for each task change that you want. Like, yeah, I want my file manager to not be an editable text buffer. Although sometimes when I want to rename files, I want it to be that. like, to be clear, I like the idea of Emacs as a projection of, like, how I think about stuff. So it's that whatever my neurons have made a good pathway for, I can have Emacs flow with me. That efficiency side is I want a factory, I want to stamp out widgets, I want them to be the same, chop, chop, chop, chop, chop, chop. That emacs runs in its spirit along with vim contrary to that and I like that mental model of Emacs is you should look at Emacs like this is probably something that people should think about when they are introducing Emacs to other people is Emacs is a treasure trove of conflicting ways of solving the same problem so you get, so you can individuate yourself on how you actually want to solve that problem. You get to choose. Or do you want Meow bindings? You can choose. I, I came, I'm, I consider my, I, I lament because in 2005 I almost picked up Emacs and it wasn't until 2020 that I picked it up. And fortunately I picked it up when I did because I was able to look at things I had previously accomplished and find analogs And things like Helm and Ivy were both 2 different ways of doing it and consult and then, or Selectrum and then consult, like they all had these different ways And it felt great because I could find the thing that worked for me. And they're close, but then they also like branch out and do things differently. And it was so fascinating to explore each of those and spend an hour or 2 on a primary task in seeing where that little thread went. It's great. Emacs. What pulled you I started in TextMate, That's kind of where I would say the beginning for coding for open source and using open source software. Sorry, using open source frameworks and languages. So TextMate to Sublime, basically TextMate couldn't search very well at the time. It was getting bogged down. So I moved to Sublime, which solved it, felt well, carried the same UI look with me. And then when I was at a conference, there was a talk about using an open source editor. I was like, yeah, I need to do that. I really need to. And Adam was viable. I was like, Oh, this is really close. I'll use it. And I didn't think too much about it. And then the writing was on the wall, that Adam is going away. And I was like, I need to find an open source editor that speaks to me. And I said, all right, Vim, This is my fifth time. I will try. And I gave an earnest 2 weeks. And I'm just like, I cannot get this mental model in my head. So I'm like, all right, I set it down. I can use Vim, I'm comfortable. I think it's a great tool, but my mental model doesn't map well there. And I'm like, all right, here we go, VS code. All right, you're fine. But I feel like I might accidentally charge my credit card in the text editor on the default installation. And that was alluded to by in 1 of the talks, I forget who he German about mandating Emacs in his computer science classes. He mentioned like the Microsoft Office or Microsoft Marketplace felt like it was there. So that was 1, but the moment where I was like, oh, hell no, VS Code. Or I wanted to use a commit from the command palette, and it brought up an HTML text input area, and it was 30 characters. And in that moment, I saw several things. 1, I'm like, no, that's terrible because I want to write something meaningful. 2, this is the behavior that this tool is modeling. That tells me that history and like how it is built is not important. And yes, I can fix it and get around it. And I kind of did. And I was like, the principles are just, they're there. And then also understanding like there's a bunch of telemetry underneath it. So I used VS Codium, there's still telemetry. And I was like, all right, 2005 Jeremy, let's go try Emacs, let's see if we can do it. And I hopped in, I grabbed Space Max. I was Like, yeah, this works pretty well. Like, I don't know how to use the keys very well. I'm figuring it out. And. And I was like, you know what? Why don't I do the tutorial? And it was the tutorial that hooked me. Not because everything made 100% sense because Emacs is old. It had a lot of language that was hard to internalize, but it presented it in a conversational I'm gonna meet you where you're at and we're gonna walk with it together. And then when I was done with the tutorial, I said, you know, Space Max, I don't understand it. And it's got some performance. It looks like there's like extra stuff that I may not need. So I went vanilla, nothing Emacs and just started working. I was like, well, how do you do this? those Emacs distribution shows you unequivocally how different it can be. and it was so good. But I knew my nature was, I was frustrated in, like I wrote an Atom package, and that was awful. It was so terrible. But I knew what I wanted. And then I wrote, I started writing a VS code and I'm like, oh no, no, no, we're not here for this. And so, yeah, SpaceMax showed me like this can look and feel like a space that I used to be in. And then it has more functionality, more stuff. It's gonna be great. And then I just was like, I'm gonna go find my own. I'm really happy that I took the path because I just worked, wrote, and I'm like, I bet you this, I bet you the tool, I know it can do this because it, you know, text me, did this or Adam, I'm gonna go, I went on to Melpa and I found a couple different things. I'm like, all right, let's try them. I'm like, that's the 1, great. Roll it in, keep working. I know it can do this. Find a package. And so I built up this sense of the packages and my strategy was go to Melpa, look at, that was the 1 that showed up, look at the number of downloads. So I'm like, what's the high stuff? What really gets used? There's something there. And then also look at what was most recently updated. So kind of pivot on those along with a keyword search and I found the tools that worked well. But it really came down to like that VS Code I was almost in, but I've been around long enough to know what Microsoft will do. I think I saw some interesting emacs videos. I wanted to try Well, I wanted to try working more with the keyboard and not need I think explicitly for ways to just work on the keyboard only, which meant that I wasn't looking for programs that followed Cua, which really leaves you like 2 options, Vim and Emacs. And when I looked at the 2, I saw 1 of the big differentiating factors I saw was Tramp, which was, oh, you mean I get a SSH into a machine and have my customizations too? Eventually I combined that with a tiling window manager, NixOS, and started banishing as much of the GUI as I possibly could, running MPV or VLC, so I could edit so that my config files could be keyboard oriented. My settings config menus are now keyboard oriented. And yeah, that was the incremental process of just, yeah, making the computer nicer, more efficient, and then you figure out all the other advantages of the... Okay, I'll tell you that story, I get thought out of my head, so I forget it. But what you described, Jerry, about kind of starting with the distribution and then pulling back and starting with vanilla and building up, kind of close the stories that I've heard from a lot of people in the community where the distribution gives them kind of an end goal, at least work requirements, So get the stuff done and they're not slugging through the weeds around the start. I have a hard time modifying it because modifying the distribution itself is very different from the tools they see. They feel like they want to understand the different possible part. And so then they pull back and say, okay, I've got this thing that can use everything to just get some quick work done, but I have this thing that I can call, that's mine. And I understand because I'm building it up from the ground up. Okay, so that's like, oh, interesting, there's a lot of people who are like that, and it really helps them to both have that insight, which is see through distributions and also videos of other people's workflows and press kind of conference presentations often about completely different topics, right? So someone whizzing through Ruby on Rails or whatever else and doing all of this. But also having 1 help them break out, okay, well, there's a lot of work from where I am to where that is. How do I do it without being overwhelmed? Because if they try to learn everything, they'll go crazy. And then they'll fall. And the brain is super important. And how I got into this whole eMac thing was I was reading all the computer science books in the university library and 1 of the Unix power tools had a chapter on Emacs and had them you know well there's another type of whatever. Okay that's interesting so I went and tried it out But the reason I really got into it was because I was using John Wigley's Planner Mode. This was before Org Mode came about. So Planner Mode was a link. I said, hey, this is great. I'm looking for ways to help out. If you need help verifying any bugs, you know, send it to me and I'll do the figuring out. He's an author and an inventor. So I'm like, okay. And then that's how I got to know this wonderful community of people who customize emacs so much. And it just goes there because really, when you see all these different ways that people use in all these different stories that you get send off because they're using it to bake sourdough bread and do knitting and all the crazy things that people come up with. I've been using it as an audio editor. It's just weird. It's just fun. meaning to say is every time I see the on the EMAX conference the time that the scratch buffer with the big clock that is ticking down as and the multi multiple sized fonts As I always think wow, that's really cool. I didn't know Emacs could do that. Wait, no, I saw that last year. How do you do, now, how do I do that? Cause that's not, and that's not something I normally even think about Emacs doing. in the EmacsConf-el repository. Grab the link and open but you can grab the code from there. It's basically the text property. years. Like, I didn't know we could do that way. I thought about that. I had this exact thought last year when I saw it. like I have memories of remembering doing something. I don't have memories of doing it. Like all of the things. Like so it's again, we, Emacs helps expose like the, like it's, anything's possible. And we see how it becomes possible through other people. And then it gets our brains thinking about other ways of doing stuff. And I think that's the exciting part. Dog who wants to go play Frisbee. want to encourage people to not only talk about Emacs and write Emacs blog posts, but also actually demonstrate Emacs in the sense of doing something else. So for example, we can match people at Emacs if you're presenting about Ruby on Rails and you're doing all of your and education and things while you're presenting Rails, you reach all these people who are interested in Rails, developer Rails, but might not have even considered Emacs. And here, you know, you probably would. I would probably have a hard time writing an entire talk about adding text properties, but the fact that there's a thing here that shows, hey, this is possible, Emacs can get people to think, okay, so how do I get from here to there? Just showing the possible. Yeah. Which source code is in the, whatchamacallit. dovetails with people who are interested in making their own local first Zettelkasten, because look at how many Zettelkasten packages you have. Especially with how much, like it feels like, it seems like Emacs has more than Vim, but Vim is bigger or VS, feels like it has more than Vim or VS Code, and VS Code's bigger. I'm not sure, but it feels like it. Same thing with that HyperCore. That HyperCore felt more like a local first peer-to-peer system. So there's a weird dovetail where they want the knowledge bases that are local first, comprehensive, because 1 of the properties of the Zettelkasten or Org Mode agendas is that it's all your notes in 1 place. It's not, you know, your notes in either pad and your notes in Google Calendar, your notes in 20 different places, your notes in Evernote. It's your notes in 1 program in 1 place because you have to deal with them And they're going to be in files on your hard drive, and you're going to have packages there. That's the other weird thing too, is how many, like, you install an Emacs package, 1 of the guarantees, some of the guarantees you seem to get with it is if it does use an external program, it's going to have a lot of configuration in Emacs. It's going to be installed. It's going to be local first. Cause like you have flow bits, but how many programs like are, are cloud first. And it feels like most of those are like org Trello, where it's like, I want to use org mode, but other people use Trello. So I'm going to be grudgingly using this org Trello to be a bridge between the 2, not because I wanted to use org, not because I wanted to use Trello in the first place or I started off with Trello and now I wanna use org mode. The Thought I have is with the 2022 interest rates going up, the era of free money, or even like getting money for more, more money than it actually costs Like it was minting money. We are going to be seeing how these organizations that had financial runways, all of these cloud services, what's not gonna last because there's no funding. And like the durability of our local first plain text, free open source stuff. Like I won't have to do a content migration unless I get a B of my bonnet and want to like change from org mode to markdown for some reason. Like I have it and Then I can send it out. So there's also like that posse principle publish on-site syndicate everywhere Is what emacs and vim like they allow for us to do? have multiple options of doing something so you can choose something so you can take ownership of your data in the way you want. It all dovetails into each other and I think that's something worth thinking about, especially in relation with who should learn and how should you introduce Emacs to people, because like, with the idea of people should try an Emacs distribution and then start their own from scratch, just so that they, like, if you use it for 10 minutes, you'll gain so much because you use your 3 and then all of a sudden you realize, you also know how malleable Emacs can be. And then you start saying, now, how do I do that? So I get to make those choices? enough, I don't have to. wanted to mention, shocking word, as in malleability. Another tip I came across, don't know from whom, might have been from you, I don't know, is to define aliases, because we use different words from what the functions are. It's 1 of those little meta things that, you know, If you keep calling it something else, just define it so that you can call it like commencing your words. for my dog. Okay, I'll listen to what you say. All right, I They have been so patient. So it was great talking with all of you and Sasha, thanks for the organizing energy you've put into this. Plasma Strike, thank you for your presentation. I love this conference. So thank you very much. And now have a good rest of your Sunday. Bye.

Questions or comments? Please e-mail jeremy@jeremyfriesen.com

Back to the talks Previous by track: Programming with steno Next by track: Emacs saves the Web (maybe) Track: General