YE24: Sacha and Prot Talk Emacs - Newbies/Starter Kits

Posted: - Modified: | emacs, community, yay-emacs

: Added chapters, transcript, and Prot's defaults.

Here are the settings Prot recommended during our chat.

The Emacs Carnival theme for April 2026 is newbies/starter kits. I chatted with Prot about helping people get into Emacs and also supporting lifelong learning.

Prot had some notes on how he started with Emacs in 2019 in All about switching to Emacs (video blog) | Protesilaos. These notes were just a few months after he started, so his experience was pretty fresh.

In Computing in freedom with GNU Emacs | Protesilaos (2026), he said:

Remember that I started using Emacs without a background in programming. … I learnt the basics within a few days. I started writing my own Emacs Lisp within weeks. And within a year I had my modus-themes moved into core Emacs.

Prot has several projects that might be of interest to many newcomers to Emacs:

  • modus-themes, which are part of Emacs core and are therefore just a M-x load-theme or M-x customize-themes away
  • Emacs Lisp Elements, a book that helps people learn Emacs Lisp
    • Where does this fit into people's learning journeys? How can they come across it and use it?
  • perhaps Denote
    • What would it take for people to learn enough to be able to use this?

I'm also curious about his thoughts on the general Emacs newcomer experience and what we can do to make it better.

He also offers Emacs coaching. I wonder if any newbies have taken advantage of that. There are a few other coaches listed on the EmacsWiki. (Ooh, Emacs buddy, that was neat.)

Other possible topics: Philip suggested the following general themes for the Emacs Carnival:

  • What are your memories of starting with Emacs?
  • What experiences do you have with teaching Emacs to new users?
  • Do you think if starter kits are more of a hindrance in the long term or necessary for many users to even try Emacs?
  • What defaults do you think should be changed for everyone (new and old users)?
  • What defaults do you think should be changed for new users (see NewcomersTheme)?
  • What is the sweet-spot between starter-kit minimalism and maximalism?

Chapters

I'll tweak the notes and timestamps later. Just wanted to put something up quickly!

  • 0:00 Warming up
  • 2:28 C-g is supposed to get you out of everything, but it doesn't work for the minibuffer
  • 2:28 Anything related to display-buffer is hard for people to configure. Many windows do not focus by default. You have to switch to the other window to q.
  • 4:28 Good defaults
  • 4:28 How do I set my fonts? Which is the one I should be using?
  • 4:28 Other common settings and packagings
  • 4:28 ediff is unusable by default for everyone, not just newcomers
  • 5:28 Packages to install
  • 6:28 People muddle through. There isn't a curation of content. 10 different ways = too confusing for newcomers because they can't weigh the pros and cons.
  • 7:28 the wiki might be a good approach for the community. Start here.
  • 9:28 the direction of the newcomers theme is nice. Does it work in practice?
  • 11:28 minor mode?
  • 11:28 people think of themes as styles, not arbitrary customizations. Maybe a package instead?
  • 14:28 Listing changes for newcomers-presets
  • 15:28 Terminology is also a challenge: completion, minibuffer, orderless, etc. vs what a new user might try to say (search box, …).
  • 16:28 Clusters of configuration; maybe aliases in the documentation to find things (ex: aliases in the concept index)
  • 17:28 Blank slate, didn't have to unlearn terms (ex: narrowing, window)
  • 19:28 Emacs Lisp Elements: Prot recommends it to people who have already decided that Emacs is the right tool for them.
  • 20:28 Getting the hang of Emacs
  • 22:28 Getting help when you have a starter kit
  • 24:28 Customize is overwhelming for beginners unless it's just a toggle or a selection list. It's good for discovery. Can't be copied and pasted into the configuration, though.
  • 27:28 debug-init
  • 28:28 Getting help: partially bridged by LLMs?
  • 30:28 Things people don't even know about
  • 32:28 Filling in the blanks; recursive
  • 33:28 .emacs
  • 36:28 Discovery: info manual: g, i, but you have to have completion already set up
  • 38:28 Address your immediate need, small steps. Piecing together your system.
  • 40:28 Let's understand what your needs are.
  • 40:28 :config and setq is nicer than :custom for C-x C-e purposes (eval-last-sexp)
  • 45:28 culture of documentation and sharing
  • 47:28 Link to a search
  • 50:28 Getting through the gap between beginner tutorials and the next step
  • 48:28 Predictability, popper
  • 52:28 Earlier is better than later for Emacs Lisp. Take it as is. show-paren-mode is helpful.
  • 55:28 Before and after comparisons
  • 56:28 user-init-directory
  • 57:28 Emacs core
  • 58:28 Getting past the initial awkward phase; people
  • 59:28 Even reporting an issue is a great contribution
  • 1:00:28 Wrapping up: wiki gardening,
  • 1:02:28 Core longevity

Transcript

00:00:08 Warming up

[Sacha]: All right. Hello, this is Yay Emacs 24, I think. And today I'm going to be talking to Prot, who is going to join eventually. In about five minutes is our scheduled time. And I want to pick his brain about newcomers, the newcomer experience for Emacs, the starter kits, what we can do to make it easier for people to get into Emacs, and how we can support lifelong learning. So let me spend a few minutes here getting all set up so that if you have any questions, you can use the YouTube chat during the live stream so that I can read your questions out loud to Prot. And also so that I can share everything. I think my audio is working. And also in the meantime, I can tell you what I've been doing lately. I have just posted a guide to newcomers presets, which is a new feature in Emacs 31. It's a theme that enables a bunch of defaults. Sorry, that changes a bunch of defaults to make it a little bit nicer for people. And let's see, what was that? I don't know what that sound just meant. Okay, Prot, it says he's in the Google Meet room. So I will now admit him. And I think we should be live. Fantastic. Hello. Hello, hello. All right.

[Prot]: Hello, Sacha. Good day.

[Sacha]: Hello, Prot. Good day. Thank you for joining early. I was just doing my pre-session panicking and warming up. But since you're here and since I have a hard stop in about one hour, a little over one hour since I have to make the kid a grilled cheese sandwich, let's dive right into it.

[Prot]: Yes, yes. The grilled sandwich cannot wait.

[Sacha]: No, no, no. She'll be hungry. So, the theme for the Emacs Carnival this month was newbies and starter kits. And it gives us a good excuse to start thinking about How do we make the Emacs experience better for new users? Now I know you probably have run into a lot of new users from the talks that you've been giving, the packages you make, everything, the coaching. So tell me about what you've been thinking about this so far.

00:02:36 C-g is supposed to get you out of everything, but it doesn't work for the minibuffer

[Prot]: Yeah, yeah, yeah. So broadly speaking, there are a few pain points that I think every new user experiences. One is the behavior of C-g. The fact that you have the mini buffer open and you do C-g because C-g is supposed to get you out of where you are and the mini buffer will stay open by default. And I have seen people struggle live. It's like, oh, I am, you know, they have the mini buffer open, they click somewhere else, then they type C-g, the mini buffer stays there, and they're like, what is happening? Why is this not working? It stopped working. That's the one thing.

00:03:11 Anything related to display-buffer is hard for people to configure. Many windows do not focus by default. You have to switch to the other window to q.
[Prot]: not just beginners, struggle with is anything related to display buffers, which can be configured, of course, via the display-buffer-alist. And some of the common pain points with that are the fact that many windows do not focus by default. For example, you open a helper buffer, it doesn't focus the window by default. So if you want to type q to dismiss it, you have to switch to it, then type q. You do a care, it doesn't focus a care by default. You have to go there and then interact with it. These sorts of things. And then there are a few other things. I have written some settings that I can share with you as well. Maybe I can, I don't know, email them to you and then you can... I don't hear you now. One second.

[Sacha]: Sorry, I turned on mute. Do you want to share your screen? Because that's another thing you can do.

[Prot]: Yes, of course, of course, of course. But I meant to say that, so I have this here, and I was of course about to write a blog post and all that. Let me increase the font size. Is this font size okay or is it too small?

[Sacha]: Oh, this is good. Yeah, yeah, yeah.

[Prot]: Okay, so I have written a few things, so I don't have to go through all of them.

00:04:28 Good defaults
[Prot]: based on what I have noticed.

00:04:35 How do I set my fonts? Which is the one I should be using?
[Prot]: how do I actually set my fonts, right? Because there are like a million ways to do this as well. And the people are like, okay, but which is the one that I should be using? And of course, when I pick one option, I don't mean to say that this is the right option, but it's just to not be technical about it. Like, okay, just use this and forget about it. A few other settings and a few common packages. And at the end of this... Oh, sorry. I have to really make this point.

00:05:13 ediff is unusable by default for everyone, not just newcomers
[Prot]: Out of the box, Ediff is literally unusable. I cannot excuse that. Everything else I can excuse, this is not excusable. Sorry. This is the minimum viable setup for it.

[Sacha]: So maybe that's something to suggest for newcomer presets or maybe even the defaults.

[Prot]: I would say the defaults. This is not a newcomer thing. Basically, if you want to have that default layout, you just have to opt into it. Sorry if I'm offending anyone, but I don't mean to say that. You have to consider the ergonomics of it.

00:05:52 Packages to install
[Prot]: some packages, third party packages. that I recommend for installation. This is not exhaustive. I try to be minimalist here. So, of course, there are many, many good, excellent, top-notch packages that I don't recommend here. And, for example, I don't recommend any of my packages here. But I just included some for people to get started.

[Sacha]: So it sounds like we should have a Prot starter kit.

[Prot]: No, no. I already have too many packages that I maintain.

00:06:28 People muddle through, but it's confusing

[Sacha]: It also sounds like you are talking to a lot of newbies and you are hearing about a lot of pain points and frustrations. How are people finding information in the first place? How are people finding this information? Do people tell you about their experience of getting into Emacs? Where are they finding the stuff? How do they find their way to you?

[Prot]: Generally they muddle through. So they will find a blog post, they will find a video, they will just do some search. Now, of course, there is also LLMs providing feedback. So it's a combination of all those and they try to piece together whatever kind of knowledge those sources provide. The thing with the newcomer experience is that there isn't a curation of content. Like of course you were doing that thing with the wiki, right? So of course you are working towards that. But what I mean is there are like options like, oh, you can do it in these 10 different ways. But for a newcomer, this is just details that don't make sense. Because the newcomer cannot weigh the pros and cons of each option, or even if they have pros and cons, or they are just different ways of expressing the same intent. Such as with the fonts, for example. You can do the frame fonts, or the faces, or whatever.

[Sacha]: Okay, so if there was something more curated, what would that look like? I know you spend a lot of time thinking about the, you know, the information architecture of your documentation, which is the lovely thing about your pack, one of the many lovely things about your packages. But what could that kind of newcomer experience look like for documentation?

00:08:20 The wiki might be a good approach for the community. Start here.

[Prot]: What you were doing with the wiki, I think is the right approach from a community perspective, meaning like, yeah, here is the single point of entry. Take it from there. Basically, don't look elsewhere. Start with this. No matter what you do, start with this. I think that's a good approach and basically in the community we should be agreeing on that. I didn't see all of your videos yesterday. I don't have the time to watch all of it. But basically on the Emacs subreddit, which is basically where a lot of people find information. That's the first thing that should be on the sidebar or basically it could even be pinned on the on the top of the tips and tricks section, the thread there. So that's the one thing. Yes, please.

[Sacha]: Yes, so the Emacs subreddit does have in its sidebar a link to the Emacs Wiki. Not calling out the Emacs Newbie page specifically, but there is a page. There's a link to the Emacs Newbie page from the Emacs Wiki homepage, I think. But yeah, as long as we can come up with a reasonably coherent starting point for people, then that will inevitably show up in people's recommendations as they respond to all these threads.

[Prot]: Yes, yes, very well, very well.

00:09:33 The direction of the newcomers theme is nice
[Prot]: the direction of the newcomers theme. I don't know exactly now if newcomers theme works in practice. Like, I don't know what happens if you do Emacs disable-heme, or specifically what I mean. image from video[Prot]: but what I mean if you do this: mapc disable-theme right, the custom enabled theme maybe you have seen this right so you want to disable all the other themes before loading your theme right I'm sure somebody has written something like this maybe I have done it and then it's like you know load your favorite theme now right and then you do your favorite theme or whatever For example, here. So in this case, I don't know what happens to the newcomers theme. I will assume that it will disable it. In which case, I think that has to be prevented.

[Sacha]: Oh, but then it wouldn't be treated the same as other things.

[Prot]: Which you can do. Which you can do, for example, if I go to Fontaine. And of course, I got this from use-package. But you can do it with a synthetic theme. So there is a little trick you can do.

00:10:45 Themes versus minor modes

[Sacha]: I was looking at newcomers presets recently, and when I was trying to make instructions for people to actually use this stuff, I ended up leaning towards just telling them to use either the splash screen, of course, or M-x customize-themes, from where they can check and uncheck things if they wanted additional themes layered on top of that. It's not like you can't uncheck it and then all of your settings go back to what they were before. Some of the things are still left over.

[Prot]: That's why I like the direction. I'm not sure if it should be a theme though. I think it should be a minor mode. And the minor mode should be like here is the opinionated settings and here are the default settings.

[Sacha]: Do we already have like a mechanism for letting minor modes override the variables in a nice way but let you go back to the previous version? Because it's not just restoring the default customized ones either.

[Prot]: I do something like that in Logos but I'm not sure to be honest right now how I even do it. Set arg and maybe this was a wrong time ago so I cannot even recall what exactly I was doing but actually this was contributed by Daniel Mendler so of course something like this could be added to Core Emacs as part of the newcomers theme eventually. If not, somewhere in core anyway.

00:12:19 People think of themes as styles, not arbitrary customizations
[Prot]: Basically, I like the idea, I don't think it's the right tool. Because themes are... It's also confusing language, you know? Because theme, when you talk to the average person, they will think of the style. And they won't think about arbitrary customizations. Whereas in Emacs we have this idiosyncratic conception of theme where it's like any kind of a user option as well as faces.

[Sacha]: So it sounds like if it were a package that defined a minor mode that people could turn on and off Even better, yes, exactly.

[Prot]: And there is this user option. I forget, do I even have it here for the built-in packages? I don't remember if I added it here. No, there is something like update the built-in packages. Yeah, so there is an option like that. So, of course, it could be like built into Emacs 31 as well as ELPA, kind of like Eglot. And then users could be like, okay, update this. So going forward, they can also benefit from whatever comes from Emacs 31. Or, you know, the development target of Emacs going forward.

00:13:55 Listing changes for newcomers-presets

[Sacha]: One of the challenges that I encountered when I was starting to play around with newcomers presets or other things like that is that it turns on all these options, but there's no easy way for people to say, okay, this is what has changed. This is how to use it. So I've started documenting that. And I think this is a challenge generally for many of the starter kits. It takes already a lot of work to make the configuration and maybe answer people's questions or It's a tricky situation how best to do it.

[Prot]: I guess the natural place for that is the manual. And the manual, I believe right now the manual mentions something along the lines of, well, newcomers can just toggle this on kind of thing, but it doesn't really tell them what that will entail. So I think it's worth actually keeping track of all the changes and be like, well, the newcomers theme will change this and that and the other. And it could just be a bullet point of items. Maybe it doesn't have to go into all the technicalities like, hey, we are changing, I don't know, the isearch so that it shows the counter. By default, it doesn't show the counter, right? Like, it doesn't need to be as detailed. It can just say, okay, these are the user options that are affected.

[Sacha]: or the minor modes that are enabled. You know, the specific commands and variable settings, whatever. It's like, how do I combine these different concepts to do something? Or taking a step back further, something we've talked about in previous conversations, how do I even begin to learn this overwhelming number of concepts? You know, how do I start to memorize all these keyboard shortcuts? And I'm not sure we have a lot of support for that yet.

00:16:10 Terminology is also a challenge

[Prot]: No, because I think part of the challenge here is the terminology. For example, if we say completion like me and you and other users, we kind of know what we are talking about, right? So minibuffer and orderless and all that, right? But if the user wants to express something along the lines, they may say the search box. Or, you know, like the interaction panel or whatever. So they don't have a language of the completion framework or the mini buffer or whatever. So even then it can be tricky for them to kind of narrow down what they are searching for.

00:16:52 Maybe documentation aliases?
[Prot]: to also think in terms of clusters of configuration, kind of what starter kits do with the various modules they define. And you can have aliases for them. Aliases in the manual, I mean. Like in the manual, if you type i, it goes to the index, right? And you can have a concept index. So you can have a concept index for the search panel or whatever. And that means the minibuffer and friends.

[Sacha]: So it's like we're doing search engine optimization so that people can find things with the words that they use. I'm not sure that will be in the Emacs manual itself, but one of the things I've appreciated about people sharing their notes through blog posts and things like that is because they're using their words to describe a concept, and they're linking it to the code that uses the words that Emacs does. So then people can then say, oh, I'm looking for this. It's actually called this in the Emacs world. But this takes time for people to kind of make those connections.

00:17:56 Learning Emacs as a nonprogrammer
[Sacha]: if you can look back to like 2019 when you were learning all of this stuff for the first time? What was it like for you as a non-programmer to come into this world where people are using all these strange terms?

[Prot]: Yeah, it was a challenge for sure. But I think actually the fact that I started out as a beginner, as a beginner into programming, I mean, benefited me in the sense that I was a blank slate. I don't have to unlearn terms. So I didn't have a concept of, okay, in other, I don't know, programming IDEs, for example, they call this the narrowing framework or whatever. I was like, completion. Okay, let's move on. It was the first time I was introduced to such concepts. So I think in that sense, I was lucky. That granted, there is a lot of reading involved. I was reading the manual and learning from it.

[Sacha]: And that's something I do too. I mean, I'll still casually flip through the Emacs manual or the Org manual because every time you read it, there's something else that catches your eye and makes you think, how do I use that? How do I do that? And I like that, you know, you and Mickey Peterson and other people have also been organizing these thoughts into like a linear arrangement of logical progression. So that's the books that There aren't a lot of books about Emacs that people can read.

00:19:29 Emacs Lisp Elements
[Sacha]: your Emacs Lisp elements? How do we support their learning journey from, I have absolutely no idea how to do anything in Emacs to, okay, I'm ready to read this book and get stuff out of it?

[Prot]: Yeah, yeah. When I recommend that book, I recommend it to people who have already decided that Emacs is the right tool for them. So I would basically say, look, Elisp is for you if you are already sold on Emacs, because what Elisp gives you is that extra you need to make Emacs do what you want, basically to tap into the potential programmability of Emacs. But to get to that point, you have already been convinced that you already like Emacs. If you don't vibe with it at the outset, you won't learn Elisp, not least because it's a niche language.

00:20:28 Getting the hang of Emacs

[Sacha]: Okay, so how do we get people to the point where they can vibe with Emacs? Where they can appreciate it? Because when they start off, it's this clunky text editor that has these weird keyboard shortcuts and strange terms, and all we can do is offer them videos and blog posts from people who say, this is totally awesome. I've been using it for three years or 20 years or whatever, and I love it. That's the light at the end of the tunnel, but there's a lot of tunnel to get through.

[Prot]: correct correct correct it's difficult and i think that's why something like the newcomers theme ultimately is the way forward where it's like yeah opt into this and that's already a good set of defaults and i think what really matters is to reach a point where you can actually open your files actually move around and that happens with the very basics like that happens with the tutorial already what the tutorial doesn't give you is the basic interface, such as the mini-buffer. The default mini-buffer, I don't think it's good for beginners. Actually, maybe it's not even good for advanced users, but that's another. You have to have a few of the basic packages enabled, and then the tutorial, I think, is enough for that initial push. Then, of course, it's also up to the user to do some reading, based on what you will provide them with.

[Sacha]: I know when I was trying this, I started a fresh Emacs so that I could see what it's like when people don't have their accumulated cruft of 20 years of configuration. And I was like, I need some kind of completion that I don't have to keep pressing tab for. So maybe Fido vertical mode can be part of that, you know, standard, at least in ?? or whatever, that would be nice. But yeah, there are a lot of these niceties that reduce the friction enough that people can then start enjoying things more and more.

00:22:28 Getting help when you have a starter kit
[Sacha]: They're great at getting people over that initial hump. But the challenge with starter kits and probably things like the newcomers presets has also been that when people ask for help, it's hard because they don't know the things that have changed under the hood. So they're asking for help and the people who are helping them are like, I don't know what's going on there.

[Prot]: More so if the starter kit has its own macros and way of doing things, such as Doom Emacs. On the one hand, Doom Emacs does an excellent job at integrating everything, providing a polished experience, comprehensive configuration and so on. On the other hand, they have their own way of doing things like they have their own macros. You have to use Doom sync or whatever to do things from the command line. So somebody who is not using Doom basically has no means of knowing what is happening in that world. So that is definitely a challenge. So for me, a good starter kit is one that at the very least uses what a generic configuration would use, meaning no macros, no weird shell scripts and that sort of thing.

[Sacha]: And I did spend some time going over the starter kit list in the Emacs wiki to try to sort it by minimalist, stays close to vanilla, all the way to the changes a lot of things about Emacs and you probably should ask the community of that starter kit first if you need help. So that's kind of like Doom Emacs and Spacemacs at that end of the spectrum and things like better defaults would be like at the Like just a little bit of smoothing over of things. But then also, it was interesting to see some of the starter kits focus on saying, okay, you don't have to write any code to extend this further. A lot of the things are available through Customize.

00:24:25 Customize is overwhelming for beginners
[Sacha]: for a newcomer. So how do we get people to the point where they might feel comfortable going through this Customize interface And saying, oh, I can find what I want to change and I can change it and I'm not worried about breaking everything.

[Prot]: Yeah, I actually, when I was trying to use Customize with people, I gave it an honest try. Like, for example, we tried to do Emacs Customize the org capture templates. And I was seeing it live. Impossible for people to understand what is happening. Like, Customize has this concept of the insert button, right? So if you have a list of things, you can do insert to add the next element to the list. If you have an Elisp understanding of what you are actually interacting with, you kind of know what to do, right? But otherwise, I was seeing it live. It's like... I have no idea what is happening. What is this? So for me, my approach is basically skip customize altogether. For me, it's a lost cause. Unless it's completely rewritten, I mean in its current form, it's not good for beginners unless it's for toggles, like true or false kind of thing. If it's for anything more involved, it's not good. And what it is good for is for discovery, discovery of user options. But it presents the user options in a human-readable format which you cannot just copy-paste into your configuration. So, for example, it doesn't have the dashes for the names.

[Sacha]: Yeah, and getting it out of the customized variables if you wanted to keep a nice clean Emacs is hard. Although I would say that's more of an intermediate level concern. When they start caring about having a beautiful Emacs that other people can learn from. A couple of comments in from people who are watching the stream. Hello, folks! Hello! @hajovonta6300 says, "Hi legends." @JacksonScholberg and @petertillemans2231 say, well, @JacksonScholberg says hi. @petertillemans2231 says, "I am not worthy." @takoverflow says, "Thank you for these streams." @ShaeErisson says, "I love Emacs but haven't really learned Elisp." And I know Shae has been using Emacs for a long time. So that's interesting that you have people who enjoy using Emacs. I don't know whether something is getting in their way when it comes to learning Emacs Lisp or whether it's just totally fine already the way it is. So that's different things. @JacksonScholberg says, oh, so @hajovonta6300 says, "you are worthy if you are willing to learn." Maybe the resources are there as people start digging into EmacsLisp. Maybe the combination of looking at other people's source code and trying to ask on Reddit or whatever is enough. @JacksonScholberg says," I vibe with Emacs after using other text editors that were not minimalist enough for my preferences, plus having experience with other open source software like Linux." @petertillemans2231 says, "Well, Emacs and minimalist in the same sentence. Strange concept, but I know what you mean." There's a whole spectrum of things you can do with Emacs, right? So yeah, people can just use basic Emacs.

00:27:53 debug-init
[Sacha]: "I guess learn starters quickly to use emacs --debug-init. Maybe not in the first hour, but close to it. Close to tweaking.

[Prot]: Yeah. Which of course doesn't help. It's very useful, of course, but it doesn't help beginners because they cannot read the backtrace.

[Sacha]: Yeah, it is hard to navigate even for people who are experienced like there's a whole bunch of things and what you need to change is like a small thing and you don't know about edebug and all that other stuff.

[Prot]: But of course debugging it many times of course it is a lifesaver for sure.

[Sacha]: Yeah, and I think a lot of these things can be stepped around if you have, you know, like you, someone more experienced with Emacs to watch over your shoulder either in person or virtually and say, you know, do it this way instead, or have you heard about this package? But this is an experience that I think not a lot of people have because many times they're isolated, right? They're the only Emacs person they know around them. And maybe they'll go to meet up, but maybe they're intimidated by the idea of asking about their beginner problem with all these other people talking about arcane Emacs list things. So how do we get people to the point where they can get help?

00:29:06 Getting help: partially bridged by LLMs?

[Prot]: Yeah, I think this is partially bridged. This gap is partially bridged by LLMs. Like a lot of people will just check with a bot and get something useful out of it and basically continue from there. And that's why I said earlier they muddle through because LLMs of course will give you what you ask. So if you kind of don't know what to ask, you will get something that may be useful, maybe needs a further tweak to it. That's why sometimes it's hit or miss.

[Sacha]: And I am seeing that in a lot of the discussion threads now. Of course, people are concerned about the environmental impacts and the ethical considerations around large language models, but there are also people who are saying, you know, this is what helped me write my first bit of Emacs Lisp, or this is what helped me figure out how to configure Emacs to do the thing that I wanted to do. So for that, I'm like, okay, then maybe there's something there. Challenge, of course, if it's hallucinating something, you're like, no, that function does not actually exist. You got to do it this other way. But if you can get them over some of the humps, maybe that's useful for them.

[Prot]: Yes, yes, yes. I think, of course, it's not 100% good, but I think it is, on the balance, I think it is good.

[Sacha]: So when people are too embarrassed or too intimidated to ask people in person, and when I go to these meetups, everyone's always super friendly. Sometimes we're live debugging someone's configuration or someone's function in real time. But sometimes that is a little difficult for people to get to for schedule or other reasons. There are other ways to understand something and ask questions about it and figure it out.

00:31:01 Things people don't even know about
[Sacha]: what to ask questions about. How do we help people in that situation where they don't even know that they're doing something inefficiently and that the solution for their problems is just one package away? How do we help?

[Prot]: That's difficult because it's on a case-by-case basis. I think you cannot optimize for that because each person will have different intuitions or different pain points, let's say. And maybe you can do it by having the most exhaustive kind of documentation with the equivalent of search engine optimization, as you were saying earlier. But I think eventually people will still have questions and even the formulation of the question may be idiosyncratic. So even if the concept is there, the way it is presented, you might not have a perfect match.

[Sacha]: And the idiosyncrasy of things is something that it's definitely a challenge for us when we're working with Emacs because everyone has their own way of doing things and everyone therefore has their own... How they set it up or the keyboard shortcuts that they use or the ways that they want the functions to work. Even trying to write documentation to say, if you're learning this, you might want to check out this stuff next, I have a hard time figuring out how to make that make sense to as many people as possible without overwhelming them with 20 different questions.

00:32:42 Filling in the blanks

[Prot]: That's the difficult part. Actually, I think that's the part where you have to assume that people will fill in the blanks. For example, I think yesterday you were doing this thing where, well, somebody needs to use Git, but what is even Git? So you have to even know about Git, right? And that's recursive because, well, how do you install Git? Well, you need a terminal. What is a terminal, right? Well, you need to have this thing called Linux. What is a Linux? So basically at some point you have to just say like I will give you as much as I can but I will limit it to the scope of this like Emacs basically. Because otherwise it has infinite scope.

[Sacha]: And I find that hyperlinks help a lot with that then because we can say, if you need a more detailed description, you can go over there. So now I'm trying to make it easier for myself whenever I say, oh yeah, put this in your .emacs.

00:33:37 .emacs
[Sacha]: the Emacs wiki page on init files. Because there's this whole discussion that you have to have about what is your .emacs and sometimes it's actually your .emacs.d/init.el but sometimes it's actually your .config/emacs/init.el and, like, pass that off to a page to explain all that stuff.

[Prot]: Actually I want to say something about this because now it reminded me. So many people nowadays will use .emacs.d/init.el or .config/emacs/init.el But Emacs defaults to reading the .emacs file from your home directory. And I had this case where a user was writing their init file in one of those specified locations, but they did something with Emacs Customize beforehand and Emacs Customize wrote to the .emacs file. So they were loading Emacs and nothing was showing up and they were like, what is wrong? My init file is there. Why is it not working? I'm loading, you know, this dark thing. Why is it white? or whatever. And eventually it was because of the .emacs file. I'm not sure how best to resolve that given that you want to also be backward compatible.

[Sacha]: No, no, no. Okay. So when I tell people just, you know, here's the link to the init file page in the Emacs wiki, it also includes a describe-variable user-init-file, which will tell you which one is actually loading. And I have a to-do to suggest on emacs-devel, if they haven't already discussed it endlessly, that maybe there should be kind of like a M-x find-user-init-file that just opens that specific file. Would be nice. But yeah. Going back to the chat because people have been sharing great comments as well. Shae says, "I learned about new Emacs packages by pairing with other users and asking, how did you do that thing?" Which I think is a great thing for screencasts. People sharing videos as well because when people share a video, sometimes they see things that they wouldn't have mentioned because they totally take advantage of it. It's just something they take for granted. For example, in your live stream package maintenance sessions, I'm sure you've had this a couple of times. People are asking, what is that that you just did? Videos are great for this.

[Prot]: Let me open the door for my puppy. I'll be back.

[Sacha]: In the meantime, let's see if there's anything here I can address by myself. The puppies cannot wait.

[Prot]: No, the puppies cannot wait.

[Sacha]: Small mammals in general are like, they need us, they need us. @hajovonta6300 says, "I used Emacs since 2010 and had become a power user, but in the last year, I feel LLMs took over most of the tasks I usually solved with Emacs." I mean actually it's a bit of a tangent here but we're seeing that also with some of the long-term users of Emacs moving on to other editors because whatever they had customized on top of Emacs could be replicated by a custom application written by an LLM. The movement is going both ways. People leaving Emacs for other things, people coming into Emacs because LLMs can help them with stuff. So I just wanted to mention that because things are happening.

00:37:04 Discovery and the info manual
[Sacha]: "Emacs documentation is very extensive, but I feel discovery of the docs is a problem for new users." And I want to dig into that a bit more. How do we help with this discovery thing?

[Prot]: In the info manuals, if you know two key bindings, it really helps a lot. One is g, the other is i. But you have to have completion already set up, like vertico-mode, for example.

[Sacha]: I also like using s for search.

[Prot]: Or s for search. Those help a lot, because then you can jump to a node or an index. Without those navigating, the manuals can feel cumbersome. That granted, we are back to the point where the user also has to do some research on their own. You cannot compensate for drive, motivation. No matter how much we write, no matter how many themes or minor modes we define, the user also has to be searching.

[Sacha]: Yeah. And it's going back to the challenge of being overwhelmed. You know, sometimes it's difficult for new users to say, okay, there's so much to learn. How do I scope this so that I don't go crazy? You know, what is the most important thing that I need to learn about first? And then what is the tiniest step after that that I can take? And so forth. Otherwise, it's just like, I want to learn about everything.

00:38:34 Address your immediate need; small steps

[Prot]: Based on the discussions I have had, I think the consensus is address your immediate needs. For example, you want to write a to-do list, all you need to know at this early stage is Org Mode. And not all of Org, because Org has approximately one zillion commands. Just to-do and done. And maybe schedule a date. Just learn that, and by learning that, do that for a week, do it for a month, however long it takes for you to embed it as part of your knowledge . And then once you have done that, move on to the next thing. Like, okay, now that I am solid on my to-do's, how do I do the agenda, for example, and incrementally add to that. And the idea is by piecing together your system this way, you achieve two things. First, you build on a solid foundation of knowledge where you know what you are doing. And two, you understand how your system is pieced together. So if something breaks, you already have an intuition of what it could be. Even if you don't know Emacs Lisp, you can guess like, oh, I added this thing the other day and now my Emacs is broken. So probably the breakage is there.

[Sacha]: And this decomposing it into those tiny steps so that you can piece them together and build slowly understanding each step along the way is something that new people struggle with because they don't have experience to know what the small step is. And I think that's where coaching and mentoring and you know sometimes If you're lucky enough to be able to sit with somebody who says, okay, your next step is just to do this. That would be super lucky. But most people will just have to content themselves with sometimes there's a playlist of videos that they can follow in sequence. Or maybe there's someone, you know, maybe they'll post on Reddit saying, okay, I know this. What should I learn next? I just wish it were easier for us to say... Let's imagine this from the helper point of view. How do we make it easier for people to say, all right, this is where you are. Here's some things that you can look into next. What do you do when you're coaching someone?

[Prot]: Yes, I always ask them what their needs are. There are some needs which are common. For example, completion. Vertico, for example, I think basically everybody can benefit unless you have a really special use case. But other than that, it's like, well, we don't need to fix everything. Let's understand what your needs are. Let's work towards that goal. And one way to break it down also conceptually is with use-package blocks. I think use-package is an excellent, of course, it's an excellent tool in its own right, but it's an excellent way of saying, you know what? This is one thing. This is one step. And this is the next step. And so people can start thinking in terms of each use-package is a step.

00:41:45 :config and setq is nicer than :custom for C-x C-e purposes (eval-last-sexp)

[Sacha]: I sometimes feel like I'm going back and forth. use-package is nice because it allows us to add the hooks and say this stuff happens after the package is loaded, so I don't have to keep having lots of with-eval-after-load. But on the other hand, it becomes harder for people to copy and paste things because then they have to know it needs to go inside the use-package. Do I use the custom keyword or do I just use setq because it looks more copyable?

[Prot]: This is why me, I don't use the custom. It's not that I have anything personal against it. It's that I found that it's unusable. If you have the equivalent of this in a custom, you cannot do C-x C-e. If you say use-package is syntactic sugar... I have read this before. To somebody who doesn't speak programming lingo, syntactic sugar doesn't mean anything. To me, it barely means anything after knowing all this stuff. So what does syntactic sugar actually mean? So what do I have to do to evaluate this, right? So I am like, okay, the more minimal you can do is just have a config and then you can do add-hook there, bind-key there or whatever. Granted, I don't do this here. I don't follow this. But I mean, if you want to have like a combination of what you were saying of the back and forth while still retaining use-package, you salvage that by doing the equivalent of this. Just this. And then everything goes under config.

[Sacha]: And that's what I end up doing too. Just making it easier for me to change things and re-evaluate them with C-x C-e is definitely one of the major considerations. Okay, I've temporarily misplaced my... Some people are very lucky. They actually have an Emacs channel at work that they can ask for help or they can come across recommendations for. That's nice for learning, @Rossbaker9079 says. It's not a full replacement for these other ideas, but it brings together people solving the same problems with Emacs. Some people are lucky enough to work in a large company where other people are using Emacs. You should definitely take advantage of that. I hear there's actually a Discord server as well, and of course there's IRC, where people can also hang out and hear other people talk about Emacs, ask questions, learn from other people's questions. I don't think you hang out in IRC or any of these places.

[Prot]: No, no. I haven't done it in a very long time. I have an account there on IRC. I think the last time I did, it was in the last EmacsConf I could attend, which is like maybe two or three years ago. I forgot already.

[Sacha]: It's yet another thing that kind of distracts your attention. I also find Mastodon to be very helpful for this stream of little updates from people sharing their Emacs questions or their things that they've just figured out. That's another useful resource for people. I've started trying to get people... to support them in hooking up with this community, connecting with this community. The Emacs Newbie page has a link to learning Emacs, and one of those things says links to category community. Because if you're learning these things in isolation, you will get really, really stuck. And you will not progress. I think being able to connect with the Emacs community is great for inspiration and figuring things out.

[Prot]: Yes, yes, I agree, I agree.

00:45:28 Culture of documentation and sharing
[Prot]: basically, like the social aspect of it. Like, well, of course, I use it as a tool, but there is a cultural component to it.

[Sacha]: So tell me, what is your impression of the Emacs culture so far?

[Prot]: Oh, it's, of course, we are talking about people who stick around, right? Not people who will use Emacs once and then leave. I think fundamentally it's people who care about sharing. I think the essence of it, it's really sharing. And then, of course, that is expressed sharing code, sharing ideas, and then, of course, documenting things. So the documentation culture of Emacs, I think it's really strong. Like in other free software communities, they are like, okay, we are sharing code, but then code is its own documentation kind of thing. Good code speaks for itself kind of thing. Whereas in Emacs land, we are like, okay, good code speaks for itself, but here is this wall of text just in case.

[Sacha]: And, you know, this is probably something only two other people in the world will ever want to do, but here it is just in case. I love those. I'm like, yeah, that's exactly what I wanted to do, actually. Thank you.

[Prot]: Yeah, yeah, I agree.

[Sacha]: It's a wonderful community, and I'm very glad that you're part of it, and I'm very glad that lots of other people have joined in as well. Okay, let me go. Once again, I have misplaced my... Okay, here we go. @ShaeErisson asked, "Is there a way to ask Emacs which file it has read below the current configuration?" That's the user init file variable, Shae, so you can just describe that.

00:47:11 Link to a search
[Sacha]: "thinking of the terminology problem, maybe offering search terms for further exploration rather than or in addition to links." Which I guess like instead of just looking to a specific resource which may or may not still exist. I was going through my beginner resources and it's like this page no longer resolves but like saying okay this is this is what it's called and you can go search for your own resources, or this is the link, but also here's some other terms that you might find useful.

[Prot]: Yeah, yeah. Just to add to what this person was asking, was suggesting is like, because we had something like this in Denote and eventually I implemented it. So there are two kinds of links. One is a direct pointer where it's like, go there. The other is basically the equivalent of a button that triggers a search. For example, let's imagine in terms of files and directories, like a direct link goes to a file. A query link, you click on it, it opens a directory listing of all files that match the query. And that is basically evergreen. It will always show you whatever is matching. And maybe we could have something like that for info buffers, where instead of a link to a node, you do that and it produces a listing of all nodes that match the query.

[Sacha]: Hmm, that's quite interesting. Or like when we, you know, if we're writing about something, we can say, you know, here's the apropos command to go find all the commands, things that are related to this concept. Even just getting people to learn about how to use apropos, I think, would be a great step in helping them. Even before that, just getting them to a completion setup where they can ideally use something like orderless to just find things. Yeah. I think it would definitely help with the discoverability thing.

[Prot]: Yes. I think like Vertico and Orderless are like... if you have to install two packages, it's those two.

[Sacha]: Yeah. It is great. Okay. Where are we now? I keep... We've talked about the sandwich that has to be made. We've talked about getting people into it, helping them discover concepts, helping them connect with the community. And then there's a thing about how do we support people as they do their lifelong learning.

00:49:48 Getting through the gap between beginner tutorials and the next step
[Sacha]: maybe they'll get through the tutorial fine, but then when they start to try to do something more sophisticated, like, oh yeah, I need to do something similar to my IDE. I want to have all these different bits and bobs working the way that they do in my other editor. That's where things break down because the tutorial gets them through the, you know, here are the basics, but then there's this huge gulf before that, okay, this is how I can be more productive with it. How do we fix that?

[Prot]: Yes, that's very difficult because part of that requires Emacs Lisp knowledge. Like, for example, an IDE, of course, I haven't used one myself, but from what I understand, there is a sidebar with the tree view of your files. At the bottom, there is a shell. Maybe there is some debugger there, some other sidebar on the side. So to replicate that, you really need to massage the display-buffer-alist which I think requires a lot of knowledge, like you need to understand the display buffer, you need to know about window... what's it called? Even I forget. Attributes and all that.

[Sacha]: I don't even do it myself. If I feel like I need to do anything related to display-buffer-alist, I'm just like, okay, I'm going to look for an example and I'm going to copy it very carefully.

00:51:08 Predictability

image from video[Prot]: Okay, so this is for you. It's like too much work, but I must say. This looks like arcane knowledge but this sort of thing actually is a quality of life improvement to your Emacs because one thing that I think is bad about the default Emacs experience is uncertainty about where things will show up. Like, you never know. Like, you cannot predict it. Because Emacs tries to be sensible about it or whatever, but you cannot predict it. Whereas things that are ancillary should have kind of a more predictable behavior.

00:51:51 Brief mention of Popper
[Prot]: by Karthik Chikmagalur called Popper. I didn't mention it, but yeah, it's basically another way to do the display-buffer-alist.

[Sacha]: Mm-hmm. So there's an interesting thing here where you have the beginners. Okay, they're just getting through the tutorial. If they can get to the point where they can edit the file, click on, even just use the menu bar to say file save, file open and all that stuff, that's great. Then the step beyond that is, okay, how do they start to use packages? And quite...

00:52:25 Earlier is better than later for Emacs Lisp. Take it as is.
[Sacha]: to be able to use packages like Popper or all these, they gotta be unafraid to use Emacs Lisp. Because all the packages, you know, tell them, okay, just put this use package in your config, but you gotta be comfortable.

[Prot]: And that's why I think you have to basically circumvent Customize. Like the earlier you are exposed to Emacs Lisp, I think the better it is for you long term. Because there is no way around it. You will have to deal with it. and even if you don't quite know how things work, like even, for example, this thing here, where it's like, there is a line between them, even if you don't understand code, you can start to think in terms of blocks even if you don't understand this code... Maybe with a few comments here and there, that can become a bit more obvious as well. But of course, like you go to a package and the first thing it will tell you is, okay, add this to your config and it's a use-package declaration, for example. And you will be like, what is a config? The better solution is for you to know that quickly, learn it quickly.

[Sacha]: There's this whole intimidation factor, especially for people who are coming from non-programming backgrounds, and suddenly they're like, there are a lot of parentheses in this. Do I have to be a programmer in order to use this? You just go right into it, but I'm sure you've talked to people who maybe weren't sure about it. How do you get them over that hump?

[Prot]: Basically the idea is treat it as something that is inscrutable right now. Just take it as is. Take it at face value basically. You don't need to understand it. You don't need to be able to debug it. Take it as is and just make sure moving your cursor that this kind of balance is preserved by checking that there is a parenthesis at the beginning and there is a parenthesis at the end. So, show parent mode helps in that regard, which is enabled by default. Of course, you cannot really get around it. Like, you cannot have a training wheels mode for Elisp, unfortunately. You can do something like rainbow-delimiters, you know, the package. You can help, but I'm not sure that helps by a lot.

[Sacha]: Yeah, yeah. And it's like, OK, so you just got to do it. Don't be too scared. But it's OK to just copy and paste and trust that as you do this, you will learn enough that when you go back, you'll be able to understand more and more of it.

00:55:17 Before and after comparisons

[Prot]: Yes. What helps, for example, in this block here, of course, I don't have to describe the code. But if you do this iterative approach that we mentioned earlier of step by step, like you can try your Emacs before this and after this. And based of course on some comment or whatever, you can see what the difference is. So even if you don't understand the code, you understand the effects of the code.

[Sacha]: Yeah, yeah. Before and after comparisons. I'm guilty of not taking advantage of this enough myself. I'm just like, oh yeah, I'm just going to evaluate it in my current Emacs and sometimes the results are obvious and sometimes the results kind of break my Emacs and I'm like, okay, I got to restart Emacs instead. I should have just started a new Emacs and tried it there.

00:56:04 user-init-directory
[Sacha]: but actually --user-init-directory has been around since Emacs 29. So it's pretty much widely available now. People can actually try, for example, a starter kit without committing to it. Do you see newbies actually use this? Because I tell people, okay, you can do this, but it requires using the command line and using command line arguments. Is that a thing they can do?

[Prot]: I have introduced it to some people and they have used it, yes. But I don't know if people use it as part of their workflow or maybe they have just a cheat sheet specifically for this where it's like, oh, I want to try this and I want to try that. But eventually they don't use it day by day, I think. They just settle.

[Sacha]: if you want to try something big, then you know you can say, try that starter kit, but don't necessarily go to the work of making it my .emacs.d and so forth. Yes, that's a good one. They just say put this in your init file so it's a lot easier to back it out and change your mind. I had a thought, but it has disappeared, so I will just read something else from the chat.

[Prot]: That's fine.

00:57:20 Emacs core

[Sacha]: @romsno says, "Do you fear that Emacs C core will go unmaintained? Deep knowledge is rare, held by few, like Eli. While finding Elisp maintainers is easier, like with elfeed, the core is hard to replace." So I guess if you're thinking about the long-term: newbie, to package user, to package developer, to who knows, Emacs core contributor, And then off to the C, like somebody who knows the C core, that's a very long and somewhat leaky pathway.

[Prot]: It is for sure, for sure. But of course, here we are talking about people who have expertise in those specific domains. And yeah, that's something that it's an experienced Emacs user already. Like we are talking about somebody who not only is actually an experienced Emacs user, but also knows the relevant technical knowledge. Right. I am an experienced user, for example, but I don't know C, so I'm useless in this regard.

[Sacha]: I guess if we zoom out a little bit, we can think about how do we help people connect with the long-term motivation that drives, that you mentioned earlier, to keep using Emacs, to learn more about it, to enjoy using it and fiddling with it and get deeper into it. For some people, Emacs clicks right away because they already tinker with other things and it becomes another thing to tinker with. For some people, it's like, I don't know, I've heard I should use this or I've heard people say good things about Org Mode or about Magit. I just want to see what it's like.

00:59:02 Getting past the initial awkward phase
[Sacha]:

[Prot]: Yeah, yeah, yeah. It's that initial awkward phase. Like if they can get past that, and by awkward phase, here I mean to actually understand Emacs and the key bindings and how to move between windows and there is a mini buffer, that sort of thing. Once they get past that, I think that people stick around. Like if they have, for example, a use for it such as, okay, I use it for org, they do stick around.

00:59:34 Even reporting an issue is a great contribution
[Prot]: like even non-programmers. And this is something I encourage in my packages, for example, where it's like, write me an issue. You don't need to know any code. You don't have to tell me about how to do it. Just tell me what your idea is. And in all my manuals that I write, I have an acknowledgement section where I have, you know, ideas or suggestions or whatever. And I write the name of everybody who has ever created an issue because it's like you help even by telling me what your use case is. And that already helps. And it gets the people involved as well.

[Sacha]: They spend time trying it out and describing what the difference was between what happened and what they wanted to happen. And sometimes even just identifying the issue is a big part of it already because you can't test everything. So we can definitely help people feel more included in the community because they don't have to be core developers or package authors to be part of the community. Even using it and writing about it is a big help.

01:00:44 Next steps: adding to the wiki
[Sacha]: I have to make a grilled cheese sandwich, shall we wrap up with some concrete things that you or me or somebody listening can do to help improve the newcomer experience for Emacs?

[Prot]: You were doing it already. You were doing the wiki. I think that's good. A link, a direct link to the newbie section I think is great. Maybe you can even have a permanent link in your Emacs News, like the topmost line. It would be like, well, new...

[Sacha]: Don't get overwhelmed by all these people talking about SDL graphics loops and Emacs and whatever. Very far down the path of the learning journey. So making one of these starting points where people can then kind of find the trail that then leads them to different places. I'm looking forward to reviewing the Emacs news things for beginner resources that I've already previously identified and then fitting them into the Emacs Wiki in various places where people might come across them. And then of course, it would be nice if we could test these with actual people. So in your coaching sessions, we can find out where the other gaps are. There's a lovely conversation in the chat about other things that I don't have the fast speaking rate to cram into the next three minutes. Thank you so much for this conversation. It was great. I always like picking your brain about things. It's a big project but Emacs is fun to play with and I hope lots of other people come to have fun with it too.

01:02:37 Core longevity

[Prot]: Yes, and maybe I can make a final comment about the C core and the fact that there are a few people such as Eli Zaretskii who have expertise in that. I am an optimist. I think things will be ironed out. I think they will work out on their own. There are people who have the expertise. Maybe it's a cultural issue or We could say like a bureaucracy issue, like they don't want to deal with mailing lists or whatever. Maybe they don't like the current style. I don't know. But I'm sure that when push comes to shove, somebody will step up.

[Sacha]: I think it's actually very encouraging that because Emacs has such a long history, we've actually seen this kind of generational transfer of knowledge already in the sense that the people who are maintaining Emacs now, aside of course from Dr. Stallman himself, they're not the originals who started this project. They came into it afterwards, decided they liked it, dug deep enough into it to learn all these different things and have continued from there. And we've also seen lots of, you know, lots of trends come and go. People leave Emacs for Atom. People come back when Atom gets discontinued. People leave Emacs for VS Code. Who knows what will happen then? But when they come back, they come back bringing even more ideas. Thank you for watching! Okay, so in about one minute, the kid is going to start barreling down the hallway and asking for a grilled cheese sandwich. I'm going to wrap it up nicely here so I can remember to copy the chat this time.

[Prot]: Very well, very well.

[Sacha]: Yeah, yeah. The notes are going to be in, like, you know, if you go to yayemacs.com, they're probably going to be in, like, yayemacs24. And you're going to send me this markdown file or whatever that you showed me, so I can post that as well. Thank you so much, everyone. Thank you, Prot, and thank you to the people who joined in the chat. We'll see where it goes. Okay, bye.

[Prot]: Take care. Take care. Bye, Sacha. Bye, folks. Take care.

Chat

  • protesilaos: ​​I am in the Google Meet room
  • protesilaos: ​​And hello, by the way!
  • hajovonta6300: ​​Hi legends!
  • JacksonScholberg: ​Hi
  • petertillemans2231: ​I am not worthy!
  • takoverflow: ​​Hello Sacha and Prot, thanks for these streams!
  • ShaeErisson: ​I love emacs, but haven't really learned elisp.
  • hajovonta6300: ​​@petertillemans2231 you are worthy if you are willing to learn!
  • JacksonScholberg: ​I vibe with Emacs after using other text editors that were not minimalist enough for my preferences, plus having experience with other open source software like Linux.
  • petertillemans2231: ​Well, Emacs and Minimalist in the same sentence… strange concept, but I know what you mean
  • petertillemans2231: ​I guess learn starters quickly to use emacs –debug-init. Maybe not in the first hour but close to tweaking.
  • JacksonScholberg: ​ChatGPT reminding me keyboard shortcuts helps a lot
  • ShaeErisson: ​I learn about new emacs packages by pairing with other users and asking "How did you do that thing?"
  • hajovonta6300: ​​I use Emacs since 2010 and had become a power user; but in the last year I feel LLMs took over most of the tasks I usually solved with Emacs.
  • petertillemans2231: ​Emacs documentation is very extensive but I feel discoverability of the docs is a problem for newer users.
  • 10cadr: ​​wow! ill watch the vod later,, nice buzzcut prot. i am between sessions rn also ill leave a comment on prot latest video later cheers
  • rossbaker9079: ​​We have an Emacs channel at work that's nice for learning. It's not a full replacement for these other ideas, but brings together people solving the same problems with Emacs.
  • ShaeErisson: ​Is there a way to ask emacs which file(s) it has read to load the current configuration?
  • charliemcmackin4859: ​​thinking of the terminology problem: maybe offering search terms for further exploration, rather than (or in addition to) links
  • JacksonScholberg: ​An Emacs channel at work sounds like a nice way to learn from others.
  • siredwardthehalf: ​​whats emacs
  • hajovonta6300: ​​it is an application platform with a great editor app
  • romsno: ​​hello guys do you fear the Emacs C core will go unmaintained? Deep knowledge is rare, held by few like Eli. While finding Elisp maintainers is easier (like with elfeed), the core is harder to replace
  • hajovonta6300: ​​@romsno true that
  • petertillemans2231: ​orderless is awesome
  • takoverflow: ​​Vertico can be replaced by icomplete-vertical-mode but there's no built-in corfu replacement
  • petertillemans2231: ​In the beginning, especially with use-package it is much more like yaml than a real programming language. That can ease people in.
  • satrac75: ​​i'm curious if other users split their init file into seperate files. my init file over the years continuea to grow and grow.
  • hajovonta6300: ​​@satrac75 I sometimes delete obsolete code I don't use anymore. I found my config became relatively stable after 2-3 years of initial trial-and-error. I heard other people experienced the same
  • petertillemans2231: ​I do … I go back and forth… single file … modularize … refactor/simplify in single file again… Like a dynamic tension field.
  • hajovonta6300: ​​My current config is 3099 lines long (org-babel format)
  • hajovonta6300: ​​the tangled output is 2345 lines.
  • charliemcmackin4859: ​​@satrac75 I did, yes. But this is mainly because I cherry-picked the configs from purcell's emacs config as I found I needed it. Then I converted it (mine) to use-package later
View Org source for this post

What's in the Emacs newcomers-presets theme?

| emacs

The development version of Emacs as of Feb 2026 includes a newcomers-presets theme that can be enabled from the splash screen or by using M-x load-theme RET newcomers-presets RET. (Not sure how to run that command? Start with the guided tour/tutorial or choose "Help - Tutorial" from the Emacs menu.)

2026-04-29_14-19-11.png
Figure 1: Newcomer presets are on the splash screen

If you like it and want to make it automatically enabled in future Emacs sessions:

  1. Use M-x customize-themes
  2. Select the checkbox next to newcomer-presets by either clicking on it or using TAB to navigate to it and then pressing RET.
  3. Click on or use RET to select Save Theme Settings.
2026-04-30_09-47-33.png
Figure 2: Saving the theme setting

I'm not sure if someone else has made notes on what it does yet, so I thought I'd put this together.

Most Emacs newbies aren't running the development version of Emacs at the moment, but it will eventually make its way into Emacs 31. I wonder if it might be a good idea to extract the theme as a package that people can use use-package on if they want. I am not entirely sure about using themes for this, but it's worth an experiment.

Here's a list of what newcomers-presets includes. I'll also include the corresponding Emacs Lisp in case you want to copy just that part, or you can also get it as copy-of-newcomers-presets.el. If you want to load it in your existing Emacs, you can add (load-file "path/to/copy-of-newcomers-presets.el") to your InitFile. You can use C-h f (describe-function) or C-h v (describe-variable) to learn more about the functions or variables it changes. I'm manually making this page, so there might have been some changes to etc/themes/newcomers-presets-theme.el since .

;; -*- lexical-binding: t -*-
;; Based on https://github.com/emacs-mirror/emacs/tree/master/etc/themes/newcomers-presets-theme.el

Editing and navigation

When you select text by pressing C-SPC (set-mark-command) and then moving to the end of the text you want to select, and then you type, the new text replaces the selection.

(setopt delete-selection-mode t)

New text replaces the selection

Copying works better when copying between Emacs and other applications Equivalent:

(setopt save-interprogram-paste-before-kill t)

If you have a compatible spellchecker installed (Hunspell, Aspell, Ispell, or Enchant), Emacs will check your spelling and underline errors using flyspell-mode. You can use M-x ispell-change-dictionary to change the language if you have the appropriate dictionary installed. In code buffers, the spelling is checked in comments and strings. You can also use flyspell-goto-next-error (C-,) to go to the next misspelled word and flyspell-auto-correct-word (C-M-i) to fix it. More info: Spelling (info "(emacs) Spelling").

2026-04-30_09-36-20.png
Figure 3: A wavy red underline shows potentially misspelled words; right-click on them to correct them or add them to the dictionary
(add-hook 'text-mode-hook 'flyspell-mode)
(add-hook 'prog-mode-hook 'flyspell-prog-mode)

Imenu entries are automatically updated based on the structure of the current buffer or file (ex: outline headings, function names). You can list them with M-x imenu or add them to the menu bar with M-x imenu-add-to-menubar.

(setopt imenu-auto-rescan t)

When you visit a read-only file, it will be in view mode, so you can use SPC to scroll. This affects buffers for files that you don't have permission to change as well as buffers that you make read-only using C-x C-q (read-only-mode).

(setopt view-read-only t)

Keyboard shortcuts

Some commands allow you to use just the last part of the keyboard shortcut in order to repeat them. Related: Repeat Mode: Stop Repeating Yourself | Emacs Redux

(setopt repeat-mode t)

Appearance

Scrolling happens more smoothly instead of jumping by character.

(setq pixel-scroll-mode t)

Line numbers are shown in both text and code buffers.

(add-hook 'prog-mode-hook 'display-line-numbers-mode)
(add-hook 'text-mode-hook 'display-line-numbers-mode)

Column numbers are shown in the mode line.

(setopt column-number-mode t)

If you change your system-wide fixed-width font, Emacs will also update. the system-defined font dynamically.

(setopt font-use-system-font t)

You can resize your frames or windows to any size instead of being limited to whole-character steps.

(setopt frame-resize-pixelwise t)
(setopt window-resize-pixelwise t)

The frame size will stay the same even if you change the font, menu bar, tool bar, tab bar, internal borders, fringes, or scroll bars.

(setopt frame-inhibit-implied-resize t)

If a mode line is wider than the currently selected window, it is compressed by replacing repeating spaces with a single space.

(setopt mode-line-compact 'long)

Saving data between sessions

Minibuffer history is saved between Emacs sessions so you can use M-x and then use M-p and M-n to navigate your history.

(setopt savehist-mode t)

Your place in a file is saved between Emacs sessions.

(setopt save-place-mode t)

Your recently-opened files are saved between Emacs sessions, so you can use M-x find-file and other commands and then use M-p and M-n to navigate your history.

Completion

This set of options affects the completion candidates (the suggestions that appear when you press M-x and then TAB, or when you use TAB at other prompts).

You can use the arrow keys to select completion candidates in the minibuffer, and you can use RET to select the highlighted one.

(setopt minibuffer-visible-completions t)

Additional details for completion suggestions are shown before or after the suggestions. For example, M-x describe-symbol (C-h o) shows additional information.

(setopt completions-detailed t)

Completion candidates can be grouped together if the function that sets up the completion specifies it.

(setopt completions-group t)

When you press TAB to see the completion candidates for a prompt (for example, M-x and then TAB), the first TAB will display the completion list, and the second TAB will select the buffer.

(setopt completion-auto-select 'second-tab)

This Completions buffer will update as you type so that you can narrow down the candidates.

(setopt completion-eager-update t)

The following completion styles are set up:

  • basic: You can type the start of a candidate. (ex: abc will list abcde and abcxyz)
  • partial-completion: You can specify multiple words and each word will be considered as the prefix for matching candidates. For example, if you type a-b, that will match apple-banana if it is one of the options.
  • emacs22: When you move your point to the middle of some text and then complete, the text before your point is used to filter the completion and the text after your point is added to the end of the result.

More info: Completion styles

(setopt completion-styles '(basic emacs22 flex))

Automatically show the completion preview based on the text at point. TAB accepts the completion suggestion and M-i completes the longest common prefix.

(setopt global-completion-preview-mode t)

TAB first tries to indent the current line. If the line was already indented, then Emacs tries to complete the thing at point. Some programming language modes have their own variable to control this, e.g., c-tab-always-indent, so it might need additional customization.

(setopt tab-always-indent 'complete)

Help

If you pause after typing the first part of a keyboard shortcut (ex: C-c), Emacs will display the keyboard shortcuts that you can continue with.

(setopt which-key-mode t)

Tab bar

The tab bar is always shown. Tabs let you save the way you have one or more windows arranged, and which buffers are displayed in those windows. You can click on a tab or use M-x tab-switch to switch to that configuration, or click on the + sign or use M-x tab-new to add another tab. More info: Tab Bars (info "(emacs) Tab Bars")"

(setopt tab-bar-show 0)
2026-04-30_09-15-18.png
Figure 4: The tab bar is displayed at the top of a buffer.

The tabs are saved between Emacs sessions.

(setopt tab-bar-history-mode t)

The Dired file manager

Dired buffers are refreshed whenever you revisit a directory.

(setopt dired-auto-revert-buffer t)

You can use the mouse to drag files in Dired. Ctrl+leftdrag copies the file, Shift+leftdrag moves it, Meta+leftdrag links it. You can also drag the to other applications on X11, Haiku, Mac OS, and GNUstep.

(setopt dired-mouse-drag-files t)

Show the current directory when prompting for a shell command. This affects shell-command and async-shell-command.

(setopt shell-command-prompt-show-cwd t)

Package management

If you open a file for which Emacs has optional packages that provide extra support in GNU ELPA or NonGNU ELPA, Emacs will add [Upgrade?] to the mode line to make it easier to install the appropriate package.

2026-04-30_09-06-18.png
Figure 6: Package autosuggest adds an Upgrade? to the modeline when you open a file for which Emacs has an optional package available
(setopt package-autosuggest-mode t)

When you're working with M-x list-packages, x (M-x package-menu-execute) now requires you to select something instead of acting the current package by default. Press i (package-menu-mark-install) to mark a package for installation, press d (package-menu-mark-delete) to mark a package for deletion, press u (package-menu-mark-unmark) to unmark a package, and press x (package-menu-execute) to execute the operations.

(setopt package-menu-use-current-if-no-marks nil)

Code

In code buffers, Emacs will display errors and warnings by using flymake-mode.

(add-hook 'prog-mode-hook 'flyspell-mode)

If you use M-x compile, the *compilation* window will scroll as new output appears, but it will stop at the first error so that you can investigate more easily.

(setopt compilation-scroll-output 'first-error)

You can Ctrl+leftclick on a function name to jump to its definition using xref-find-definitions-at-mouse.

(setopt global-xref-mouse-mode t)

Emacs will automatically insert matching parentheses, brackets, and braces.

(setopt electric-pair-mode t)

Emacs will generally use spaces instead of tabs when indenting code.

(setopt indent-tabs-mode nil)

If there is a project-specific .editorconfig file, Emacs will follow those settings. (More about EditorConfig)

(setopt editorconfig-mode t)

Tags tables are automatically regenerated whenever you save files. This uses Etags to make it easier to jump to the definitions of functions or variables.

Version control

(setopt etags-regen-mode t)

Files are reloaded from disk if they have been updated by your version control system.

(setopt vc-auto-revert-mode t)

If a directory has changed in version control but you have some modified files, Emacs will ask if you want to save those changed files.

(setopt vc-dir-save-some-buffers-on-revert t)

If you use vc-find-revision to go to a specific version of the file, it is displayed in a temporary buffer and does not replace the copy that you currently have.

(setopt vc-find-revision-no-save t)

If you open a symbolic link to a file under version control, Emacs will open the real file and display a message. That way, it will still be version-controlled.

(setopt vc-follow-symlinks t)

C-x v I and C-x v O now have additional keyboard shortcuts. For example, C-x v I L is vc-root-log-incoming and C-x v O L is vc-root-log-outgoing. Use C-x v I C-h and C-x v O C-h to see other commands.

(setopt vc-use-incoming-outgoing-prefixes t)

The version control system is automatically determined for all buffers. (Standard Emacs just checks it in dired, shell, eshell, or compilation-mode buffers.)

(setopt vc-deduce-backend-nonvc-modes t)

Things I haven't been able to figure out yet

On Linux with X11, Haiku, or macOS / GNUstep: When a buffer has an associated filename, you can drag the filename from the modeline and drop it into other programs. (Haven't been able to get this working.)

(setopt mouse-drag-mode-line-buffer t)
View Org source for this post

Working on the Emacs newbie experience

| emacs, community

The Emacs Carnival April 2026 theme of newbies/starter kits nudged me to think about how new users can learn what they need in order to get started. In particular, I wanted to think about these questions that newbies might have:

  • Is it worth it?
  • How do I start?
  • Should I use a starter kit? How?
  • I'm stuck, how can I get help?
  • This is overwhelming. How do I make it more manageable?

I worked on some pages in the EmacsWiki:

People often recommend Emacs News to people who want to learn more about what's going on in the Emacs community, so I added some notes to that one as well.

Just gotta find some newbies to test these ideas with… Email me! =)

View Org source for this post

Emacs beginner resources

: Updated my page from 2014 with more recent resources.

Welcome to Emacs! Thank you for considering this strange and wonderful text editor. Here are some resources that can help you on your journey.

Many people use Emacs just for Org Mode. Here are some resources for getting started:

View Org source for this post

2026-04-27 Emacs news

| emacs, emacs-news

There was a big discussion on lobste.rs about people's favourite Emacs packages and that sparked similar conversations on Reddit and HN. Discussions like that are a great source of inspiration. I added a couple of small improvements to my config based on this week's Emacs news, like diff-hl.

Also, lots of people expressed their appreciation for Chris Wellons, who is moving on to other editors for now. Me, I've enjoyed using simple-httpd, impatient, and skewer, and I'm glad Chris made and shared them. Many of his packages already have new maintainers, and the rest are up for adoption. Perhaps we'll see him around again someday!

Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, Mastodon #emacs, Bluesky #emacs, Hacker News, lobste.rs, programming.dev, lemmy.world, lemmy.ml, planet.emacslife.com, YouTube, the Emacs NEWS file, Emacs Calendar, and emacs-devel. Thanks to Andrés Ramírez for emacs-devel links. Do you have an Emacs-related link or announcement? Please e-mail me at sacha@sachachua.com. Thank you!

View Org source for this post

La semaine du 13 au 19 avril

| french

lundi 13

Ma fille a séché les cours toute la journée. Elle a dit qu'elle était fatiguée. Elle est restée à la maison au lieu d'aller à son cours de gymnastique.

J'ai configuré obs-websocket pour lancer et arrêter la diffusion en direct depuis Emacs.

Il faisait très beau, donc je me suis assise dehors et j'ai lu la configuration d'Emacs de tecosaur. Non seulement sa configuration était très détaillée, mais elle était aussi magnifiquement mise en page.

J'ai préparé mon bulletin d'information sur Emacs pendant que je diffusais en direct.

Le glacier était toujours fermé, donc nous avons acheté de la crème glacée au supermarché à la place.

À l'heure du coucher, ma fille a dit qu'elle aurait aimé rester une enfant. Elle a dit qu'elle aimait bien KidSpark, qui est réservé aux enfants jusqu'à 10 ans.

mardi 14

Ma fille a suivi son cours. Après l'école, nous avons fait du vélo au parc pour jouer avec ses amies, qui en faisaient aussi.

J'ai continué à améliorer obs-websocket pour gérer mon direct depuis Emacs. J'ai aussi réécrit mon correctif pour l'opération « sentence-at-point » sur Org Mode.

J'étais fatiguée et j'avais un peu mal à la tête.

mercredi 15

Ma fille s'est réveillée tard, mais elle a participé à son cours toute seule.

J'ai mis à jour mon OBS pour ajouter socialstream.ninja via une source navigateur. Maintenant, je peux afficher les commentaires et je peux envoyer un message depuis Emacs sur YouTube.

J'ai travaillé un peu comme consultante. Le design du profil avait besoin d'une petite correction.

Ma fille et moi avons joué à Stardew Valley.

Mon mari avait une course près du Musée des beaux-arts de l'Ontario. Ma fille était heureuse de sécher les cours l'après-midi parce que l'école avait une remplaçante. J'ai emmené ma fille là-bas et nous avons passé du temps à essayer les activités au musée et à dessiner sur nos tablettes.

Après le dîner, nous nous sommes entraînées à peindre des yeux avec des aquarelles.

jeudi 16

J'avais rendez-vous avec Protesilaos pour l'informer de mes progrès depuis notre conversation précédente et lui poser mes nouvelles questions. J'ai fait fonctionner mon code pour lancer ma vidéo à partir d'un horodatage et j'ai écrit une fonction pour calculer la conversion entre l'heure réelle et le temps écoulé.

Ma fille et moi avons joué à la Play-Doh, au sungka (un jeu traditionnel philippin), et aux charades.

vendredi 17

J'ai révisé les sous-titres de ma conversation avec Prot d'hier. J'ai ajouté deux fonctions pour gérer l'étiquette d'interlocuteur quand on divise ou fusionne des sous-titres. J'ai aussi programmé trois conversations sur Emacs et j'ai publié les événements sur YouTube et sur mon site grâce à d'autres fonctions. J'ai aussi modifié ma bibliothèque pour publier mon site afin qu'elle n'inclue pas les fichiers privés.

J'ai travaillé sur nos impôts.

Ma fille s'est réveillée toute seule ce matin, à temps pour le petit-déjeuner, notre routine matinale, et son interrogation de mathématiques à l'école. Mais elle a séché les cours l'après-midi et elle s'est assise tout l'après-midi contre sa porte. Au lieu de se détendre, elle s'est davantage braquée contre moi. Je ne sais pas quoi faire dans cette situation.

samedi 18

Pour le petit-déjeuner, j'ai préparé des crêpes avec le reste de la crème fouettée. Il reste juste un peu de la créme, donc je n'ai pas pu fouetter dans le mélanger. J'ai fouetté à la main. J'ai aussi utilisé la crème fouettée congelée que j'avais faite il y a plusieurs mois. Je les ai mangé avec des pêches et de la mangue. C'était parfait.

Lire la configuration lettrée d'Emacs de tecosaur me rend jaloux de sa mise en page, donc j'ai passé du temps en ameliorant l'export de ma configuration. C'est très long. Le PDF est 736 pages. Seule la table de matières est 15 pages. Je veux ajouter plus de commentaires et implementer plus d'exports LaTeX pour mes types de liens.

Ma fille était grincheuse contre moi du matin, mais l'après-midi, elle a réapparu et elle a voulu passer du temps avec moi.

Nous avons joué à Minecraft pour essayer les nouveaux cubes de soufre. Nous avons généré un Warden et lui avons donné un cube qui nous donnaient un bloc de champignon. Le Warden s'amusait avec le cube.

Nous avons joué avec Play-Doh. Je l'ai étalé très finement et nous l'avons coupé à beaucoup de pièces. Elle les a tressé. Elle a voulu essayer une tresse couronne, donc j'ai tressé ses cheveux.

Pour le dîner, nous avons préparé des sushis.

Nous avons joué encore à Stardew Valley Expanded. Nous avons bien progressé dans les paquets du centre communautaire, même si j'ai oublié d'obtenir l'engrais de centre communautaire après la Fête des Œufs pour accélerer les fraises. Tant pis.

Ma fille a pratiqué son vocabulaire français en racontant l'histoire de la famille d'Eevee.

dimanche 19

Ma fille s'est réveillée à 8h00 aujourd'hui. Elle trouve que c'est plus facile de se réveiller quand il n'y a pas école. Il est bon que je n'avait pas commencé une diffusion en direct.

Ma fille et moi sommes allées aux Stockyards à vélo pour acheter des tissus pour coudre un chapeau d'été. Elle avait fait du lèche-vitrine mais elle n'en avait pas trouvé un qui lui convenait, donc nous devons le faire nous-même. Elle a choisi du tissu jaune Pokémon. Elle a aussi voulu de la laine pour faire du crochet une couverture.

Nous avons mangé du Panda Express pour le déjeuner. Le repas enfant m'a suffi.

Je l'ai déposée à la maison et j'ai apporté des donations au Goodwill en faisant le grand ménage. J'ai aussi fait les courses. Une fois que je suis rentrée, ma fille m'a montré fièrement qu'elle a fait les lits comme un hôtel.

Nous avons joué à Stardew Valley Expanded après le dîner. L'été a commencé. Je pense que je dois planter plus de doubeurre pour le paquet récoltes de qualité qui demande 5 récoltes de qualité or.

View Org source for this post

YE20: Emacs Carnival: Newbies/starter kits

| yay-emacs, emacs, community

This was a rough braindump on what I might want to write or do for the Emacs Carnival theme this month.

Outline

  • Emacs Carnival April 2026: newbies/starter kits
  • Start with why
    • Curious
      • Cool demo
      • Reputation
      • Someone else (ex: professor)
    • Learning at leisure vs wanting to be productive ASAP
      • Coding professionally; used to VS Code or Vim
    • Journey:
      • Outsiders
      • Newbie
      • Basic working environment
      • Intermediate
        • Packages
        • Configuration
      • Advanced
        • Writing custom code
    • TODO: possibly a post about where people come from and typical resources, next steps
  • Challenges
    • Balance of time
      • Getting a basic environment working
        • Things like git performance on Windows, consoles / window managers taking over keybindings
        • Starter kit trade-off
          • Plus: Get stuff working quickly
          • Minus: Limits your help to the kit's community, can be challenging to customize further
    • Isolation
      • Don't know someone else who can watch them, lean over, fix stuff, suggest improvements, etc.
    • Overwhelm
      • Too much to fit into your brain
      • Don't know how to break things down into smaller steps (which steps, etc.)
    • Unknowns
      • Not knowing the words to look for
      • Not knowing what is close by, what is possible
  • What can help?
  • Stuff I work on / can tinker with
  • Continuous learning
    • Connecting with the community
    • Blogging
    • Managing overwhelm, etc.

Transcript

Transcript

00:00:04 Introduction
Alright, let's see. Hello stream, this is Yay Emacs 20, and today I want to brainstorm some thoughts for an Emacs Carnival post on newbies and starter kits. Okay, alright, and the audio works. Alright, so Yay Emacs 20, Emacs Carnival, newbies and starter kits. That is this page. Yes. So, every month or so, pretty much every month so far, people have been getting together to write about a shared topic. And this month's topic is newbies and starter kits. So, originally proposed by Cena, but Philip added some topics to start with. Things like, what are your memories of starting with Emacs? What experiences do you have with teaching Emacs to new users? Do you think starter kits are more of a hindrance in the long term or necessary for many users to even try Emacs? What defaults do you think should be changed for everyone? What defaults do you think should be changed for new users? And what is the sweet spot between starter kit minimalism and maximalism? So, let me get myself organized here. I want to start off by maybe making a mind map and seeing how that goes. Let's try sharing. I'll do some screen mirroring from my iPad. See if it works. It'll be fun. Okay, there's the pen. Okay, let me think. Newbies... Newbies and starter kits. I like starting with a mind map because I jump all over the place anyway. Starting with something non-linear helps a bit. Okay,

00:02:17 Overall structure
starting with why. People come to Emacs for many different reasons. Some people come because they're curious about something. They've seen a cool demo. They have someone they look up to and they say, how did they do that? When it shows there's a new feature, right? Interesting thing. So that's definitely something that gets people into Emacs. I also want to think about the Emacs news. Meetups, EmacsConf. Maybe do a reflection on how I can help more effectively. And then there's always this thing that I have about mapping and coaching. This is kind of the what's close by. How do I get to where I want? And lifelong learning, because it's not just about newbies... Keeping a beginner mind in Emacs is very handy. And so it's helpful to be able to keep thinking about, how do I want to learn? How can I keep learning? Okay, so at this point I'm really just thinking about topics and seeing where I want to go with this. do have chat open somewhere, so if you happen to drop by and have any thoughts, I think I can do that. Aside from that, you know, you can just also just keep me company, um, or, and, uh, something. Where is this, where is this chat window that I'm, yes, okay, there it is. All right, okay. So this is just me thinking out loud about newbies and starter kits because afterwards I can grab the transcript and start pulling things out into blog posts.

00:04:57 Starting with where people are
So starting from where people are. Sometimes people are curious, either just because of Emacs' reputation or because they've seen a cool demo somewhere and they want to be able to do stuff like that. Uh, sometimes people have kind of, you know, it's, it's totally open. They can, they can learn at leisure, uh, or sometimes there's some pressure to become productive right away. Let's say, for example, if they're coding as their main job, they know that switching to Emacs will help them learn it a lot faster, but at the same time, they still have to be able to keep up with their work. Which means figuring out things like compilation errors and all that stuff faster, which can be a bit of a struggle when you're new and you're trying to set up your environment for your coding system.

00:05:59 The built-in tutorial (C-h t or M-x help-with-tutorial)
@j7gy8b has a question. Do people still try the built-in tutorial? I think so. I see the built-in tutorial of C-h t highly recommended every time people come across, every time people post those threads on... I'm a beginner, how do I get started? Many people recommend using the beginner tutorial because it will teach basic navigation and concepts in a fairly interactive, easy to grasp manner.

00:06:30 Overwhelm
Oh, and somewhere in here, also in the beginner thing, there's probably something about dealing with overwhelm, because Emacs can be very overwhelming. And this is true even for experienced users. I am constantly running like this. I want to learn a long list of things, but there's only so much I can fit into my brain and have it remember things. Very little, actually. So, dealing with overwhelm is a big problem for new users.

00:06:59 Getting a basic working environment
Oh, and then there's something in here about... you're starting off with, like... a total newbie, you need to get over this hump of getting a basic working environment. And if you're a programmer, actually, that bar's a bit higher because you're used to IDEs and you might be coming from VS Code and Vim and have these expectations of what your editor should already be able to do out of the box or with just a little bit of configuration. So you need to be able to at least do some of your work in it without being very, very annoyed. And then you get to the point eventually where it becomes more fun. So this is like a big hurdle there. And then, I'd say intermediate users are people who are able to find and configure and use packages. @j7gy8b says, by the way, he's Jeff from Emacs San Francisco and doesn't know how to change his display name. I will try to remember that you are Jeff. Something about YouTube and Google, I don't really know either.

00:08:33 Sometimes keybindings don't work
@lispwizard says, one problem is platforms which usurp keystrokes which Emacs expects. I just wrestled with this on a Raspberry Pi, especially since there are so many keybindings. So for example, the GUI versus terminal thing. There are some keybindings that don't work if you don't have a GUI Emacs. And of course, if you have a GUI Emacs, and you're in a window manager, and the window manager also has a lot of global shortcuts that that override the ones that Emacs has. So when newbies come across, oh yeah, just use, meta shift left in order to do this thing in Org Mode, which is super cool. And they're like, it doesn't work for me. But they don't have the experience to know, oh, it's because it's a terminal, or oh, it's because, and so forth. So that's definitely all these little things that trip people up. Oh, and I was thinking about... Advanced would be like writing their own custom code. So, if you're trying... this thing here is a big hump, trying to get people through this journey.

00:09:52 Isolation
And, oh, there's also this... some people are isolated. Most people are isolated, I think. They don't know anyone who also uses Emacs. Maybe they're coming across Emacs because they found it in a book or they found it in a cool video, but they don't have someone who can physically sit with them and take control of their computer and set things up the way they want, solve their little Emacs Lisp issues or help them even just figure out the words to find things when they don't even know what they want to ask for. So isolation here. If you happen to be learning Emacs with the help of a mentor, or because your professor really likes Emacs and makes all of their students use it, at least for the course, for the term that they're taking it, then yeah, that's extra lucky because you have someone you can ask for help. But I think a lot of people are picking up Emacs without being able to sit next to someone or look over someone's shoulder in order to discover ways of doing things, which is why meetups helps. Meetups help a lot. Okay, so let's draw a connection between that and meetups. Isolation. Oh, there's also like, having like background expectations and knowledge. And here, these days, it's usually either VS Code or Vim. What other things? Ooh.

00:11:27 Programming vs non-programming backgrounds
Programming versus non-programming. There are a lot of people who actually get into this from a non-programming background. So, programming. Org is a big thing that's drawing in people who are writers and note-takers. This is a whole, like, other... Okay. So there are a lot of things that get in people's way when it comes to thinking about like when it comes to learning Emacs.

00:12:11 Students
Okay, Jeff says in the meetup we do see that young people who are inspired by a professor to try and a lot of Emacs transmission happens this way where you have your stalwart Emacs users who are faculty and who just basically say, all right, this year, you're going to learn... Could be Scheme, could be data science or whatever else. And we're going to do it in Emacs because all of their lecture notes are in Emacs, so it's much easier for them to say here's my literate programming example of what I'm talking about. I'm just going to evaluate it during the lecture itself. So you can see that. And you all should learn Emacs. Usually they'll hedge it and say, you can use other editors if you really, really want to. But there's definitely: here's how to get started. Here's the tutorial made for this course specifically. Here are all the modules that you need. And a lot of people go from there and, and just, it clicks into their brain and they have someone to talk to: both a professor and fellow students who are learning all of this arcane stuff for the first time. So that is an excellent situation to be learning Emacs in. But it's not everyone's experience, so it'll be interesting to see how to support that case as well as other cases. I should write that down somewhere. School. Okay. So, challenges, obstacles.

00:13:56 Basic working environment
This basic working environment thing, I think, is one of the struggles because, like, for example, if people want to get things working with the current best practices for coding JavaScript or coding Python, sometimes getting LSP working just the right way is a finicky process. And then, of course, there's platform differences, like Magit being very slow on Windows. Which can't actually get around because Windows just really sucks when it comes to lots of small file operations. And so people end up recommending using WSL, Windows Subsystem for Linux, instead, which, again, is something that a newbie might not consider or come across or feel comfortable setting up. And then, of course, just install Linux, which is not always an option for people. Let me think. Okay, where are we now? There's so much to write about. What else do I take into account? What else can I add to the conversation? Okay, the stuff that I specifically know.

00:15:31 Stuff I work on - Emacs News
Emacs News helps a lot with a number of things, actually. So I do find that in the conversations and people in the Reddit threads where people ask, oh, I'm new to Emacs, what should I read? People consistently recommend things like the Mastering Emacs blog and book... What else do people like that...? People often recommend Doom Emacs, especially if people are coming from a Vim background. And Emacs News often gets mentioned as one of the resources. I think this helps for a number of reasons, because first it gives people kind of some exposure to the cool stuff that people do with Emacs. So this is inspiration. I think it's primarily on the kind of aspirational stuff. People can see interesting demos and that motivates them to stay with Emacs. And so this is actually probably more of a kind of an Emacs news-ish thing here, from intermediate to advanced. From time to time, I do come across beginner-oriented things in my kind of survey of Emacs news-related items. So let's add that to use also EN beginner stuff. Maybe it's every couple of weeks that someone posts a link that's specifically beginner-related. And one of the things that I've been slowly doing is I've been trying to map it out so that people can find those resources.

00:17:28 Emacs Wiki
And actually I should add a thing here, Emacs Wiki. So one way I could improve is to take the links from Emacs News on a more regular basis and put them into the Emacs Wiki pages. There's like a page for newbies for example and so forth because... Not that newbies will come across those pages themselves, sometimes they do, but also because it makes it easier for other people to say, oh yeah, you want to learn more about that? Check out this page that has all these organized resources already. And one of the reasons why that's useful is because something that new people struggle with is figuring out what's close, what's close by... They know this, what's easy for them to get to? What's something they can learn with not much more effort? And this, I think, is one of the things that having a mentor helps with, or having a coach helps with. Because you can describe what it is that you're doing, or what it is that you're trying, and then they can say, oh yeah, you should check this out. I've started to try to do some of that.

00:18:53 Mapping resources
Let me bring up my map here. There you go. Beginner map. Clearly, that Org Babel needs to be connected to Org Mode. This, again, is not something that I think... Oh, there's actually another Org Babel over there. I need to deduplicate these things. But I'm trying to figure out how to represent the connections. Kind of like those choose your own adventure books, where you might only have some branching points to consider, so you're not overwhelmed by the whole graph. At the same time, you can sort of keep track of where you are. Does this thing still do the thing? Oh yeah, okay, okay. Alright, so this still does, in fact, keep track of what you clicked on. Okay, so I went through a lot of Emacs news links. I think those are the ones that were sort of beginner related. And then I started trying to organize them so that I can say, okay, all right, you've installed Emacs and Linux... I can go find Emacs installation instructions for other places. And then start to think, okay, from here, what are the kinds of things that people usually want to explore next? So, yeah, changing the colors is something that often people immediately want to do because they're used to a certain other look. And so, A tip and some resources, tips and resources, more things, back to the map, and so forth. So mapping the resources would theoretically help me or somebody else be able to say, okay, where are you in your learning journey? And what do you want to learn about next?

00:21:00 Clojure
Jeff says perhaps Clojure is a route to Emacs for experts. I've heard it's the best IDE for that language. And I should mention that too, because Clojure... Am I no longer sharing? Okay. because Clojure. Yeah, it is so far I think still one of the, like Emacs is still one of the reference IDE for it. So that is, we see a lot of people come into Emacs because They're working at a Clojure shop and they basically want to use the same IDE that everybody else is already using there. Or they're getting into Clojure, they want to do work in Clojure, and so they're learning Emacs because because that's kind of the standard IDE for now. I think the State of the Clojure survey recently said there are other editors gaining ground... More editors means more places to learn, more places to pick up ideas from, so that's not terrible. It's okay too. But that's definitely a reason why people come into Emacs. because it's the standard way of doing things. And of course, Org is wonderful, and Magit is wonderful, and people come into it just for those reasons. That is okay. And sometimes people use it only for those reasons, and that is also totally okay.

00:23:02 Emacs News and a map
Okay, so Emacs News is one of the things that I can fiddle with, and that can go into a map. And the map is more... Again, it's not quite in the state where newbies might navigate it, but if I were theoretically to have office hours, for example, then I might use that to quickly go through, like, okay, where are you? What do you want to learn? And here's some resources that other people have shared that might be helpful. And then theoretically, maybe they will keep exploring from there.

00:23:38 Cheat sheets
Oh yes, the How to Learn Emacs cheat sheet that I made ages ago. Learn Emacs. I think this is 2003. No, no, it's 2013, it feels like. I should include here. How to learn Emacs. Yeah, 2013. Okay. And the idea there was kind of a one page sheet with sort of like the most common things. What the difference is between a frame and a window, and what's the mode line, and some pointers to other things that you might want to learn. And this was... I think this was before starter kits like Doom Emacs. I don't even have Oh, this is an old URL. In fact, I should go change that. I don't even have a recommendation to learn Org first thing. Take your notes in it. Oh, no, I do have. See, it's Org Mode. Is it Org-mode? Is that even still? Yeah, okay, okay, that's still on it. Thank goodness. Okay, okay, here we go. Let's add that as a thing. So that's still being recommended, but the idea of having a single page cheat sheet, there are actually quite a few of these cheat sheets anyway. Making one yourself is always a good idea. It's a good way to deal with the overwhelm, so cheat sheet. Jumping all over the place. That's just how my brain works. It's okay. Okay, so the things that I can fiddle with. Emacs news. I have a beginner section up there. I could add an introduction to do. Add intro. So when people get to Emacs News, can I get to it? Yes. Right now, there's just this very basic subscription options, feed XML, mailing list, index.org. But I can add a little more information here for new users. to say, okay, this is how you set up elfeed. This is what Emacs News is. It's a little bit overwhelming, but you can use it for... you can keep an eye out for the beginner thing. You can look through the archives for beginner related links. And you can also start to look for recent resources related to the topics that you're interested in. So that's something I can do. There's probably an interesting way I can mark that in the audio. "Hey Sacha, do this." So that's one thing I can work on.

00:27:04 Meetups
Meetups are great for newcomers because you can get over that challenge of isolation, especially when they realize that it's totally okay to ask questions at meetups and show the things that you have that aren't working and then other people will help you think about them and figure something out. I've seen a fair bit of live debugging at places like Emacs Berlin and the Org Meetup. It's hard to ask questions sometimes on Reddit, although a lot of people do. It feels a little bit like Reddit is more effective as a help platform than Stack Exchange. But sometimes you need a bit more back and forth, and that's where the meetups can be helpful. So I guess the progression there is ask on help-gnu-emacs or, well, ask on your project-specific mailing list or help-gnu-emacs or Reddit or the Emacs subreddit. And if it feels like it needs a bit more back and forth or showing things, the meetups are helpful for that. I've also seen people asking questions in Mastodon, which is very nice. But Mastodon is a little bit more of a technical thing, I think. It's not something that a lot of newbies will be on. Anyway, the meetups. People come across meetups. Not that often. But Emacs News helps with coming across meetups because I include upcoming events in the first section here. And so what I should do is in the intro, I should also mention how to subscribe. Meetups are great. Inspiration. Okay. And that's there. We run the Emacs Big Blue Button web conferencing server year-round. We don't leave it scaled up all the time because that would be expensive, but we usually keep it as a Nanode so that I don't have to spend the week before the conference scrambling to get everything sorted out and hoping that the latest install script didn't break anything. So it's fine. We just run it year-round and then scale it up for meetups. Right now it's scaled up monthly for the Emacs Berlin, Emacs APAC, and Org Meetup meetups. But if there are other meetups that would like to have a free and open source software platform to do it, we can certainly do that. We can add them to the list there. Anyway, so that's Emacs. It goes into Emacs News.

00:30:19 Emacs Calendar
There is also an ical for it, which I could mention more prominently. Oh yeah, I actually do already mention it fairly prominently over there, so that's fine. Although I guess some people might not know that ical files can go into your calendar. So I should mention calendar in this intro for newbies that I should write, kind of like how to make the most of Emacs News. And that actually takes, is generated by this Emacs calendar thing. So that lists upcoming events. I also update the Emacs Wiki page for it with a copy of the thing, and I generate HTML calendars as well, in case that's what people prefer. Calendars. Calendars all over the place. I even generate org files in a gazillion different time zones, so that people can just include that. And I think then the time zones are all sorted out automatically. Because we... I don't think we still have time zone... We have time zone support yet in Org Mode? Anyway, it's there. Meetups. Where was I with... Yes. I need to add this to the intro. Let's highlight that in the thing that I need to do. Emacs news.

00:31:54 EmacsConf
EmacsConf is more of a, again, it's an inspiration sort of thing. We like to start the day with more beginner-oriented talks. So I'm always looking out for presentations that that makes sense to share and encourages people to kind of get into Emacs less slowly or workflows for Org Mode that can inspire them to try it out and make it a little bit more manageable. So that's in a yearly kind of schedule, students, rhythm. And so I guess the Emacs News and Emacs Conf ones are definitely more about inspiration, giving people reasons to stick with the learning curve because they can see what Emacs can do in other people's hands. And the meetups sort of help with the getting over the hump of getting a basic working environment going. Although actually people don't usually ask about basic working environments because they feel maybe a bit embarrassed. About asking about such?

00:33:15 Where people ask for help
I see more of those, like, okay, I'm trying to set up this, you know, this LSP thing, and I'm getting stuck on this thing. I see more of that on Reddit. It might also be in help-gnu-emacs, but I haven't actually been reading help-gnu-emacs, because I feel like it might be a high-traffic mailing list. I should find out, okay, what's help-gnu-emacs like these days? Because I want people to be able to... Okay. So this, I feel like, is more of... It tends to be more of a... More of an intermediate resource at the moment. Now we need a place where... Okay, so Reddit seems to be a place where people are not intimidated by the thought of posting beginner questions. And there's also Emacs Stack Exchange, but I don't think people use that as much these days. Some... Maybe... I think there's... Again, this is sort of still... Still kind of intermediate-ish questions. Maybe what I should do is...

00:35:12 Emacs Clinic?
This actually set up kind of that Emacs clinic sort of idea, which could be Thursday. Tomorrow could be a good time to experiment with it. Okay. Whenever my iPad display times out, the UX screen mirroring becomes unhappy. So let me go restart that. I need to configure a longer timeout. Let me kill that all. Kill all uxplay. All right, let's try that again. Once more with feeling.

00:36:09 My TODOs
Okay. So that's probably my big to-do out of this, is Emacs news and how to learn Emacs. Both tend to be starting points. Emacs news more than how to learn Emacs, since how to learn Emacs is a little bit dated and I need to update the URL anyway. Update URL. Where was I going with this? Anita, what was I just talking about? And the inspiration part is actually also useful for encouraging more people to try out Emacs in the first place. So that is part of the journey. Usually it's curiosity drawing people in. Sometimes it's someone saying, I'm your professor, we're going to use this. But usually it's curiosity drawing people into Emacs. So if I wanted to write a blog post about or a reflection about what I can do to help people get into Emacs more effectively, I'm still kind of focusing... I still tend to focus on the intermediate part because... Why do I? Because that's the fun part for me. When you can start to customize Emacs to fit what you want. But in order for people to get to that point, they have to be able to get Emacs to the point where they can use it for their day-to-day stuff. And then they will want to spend more time in it, and then customize it to their particular needs. So, if my evil plan is to continue enjoying the cool stuff that people come up with in Emacs, it does make sense for me to help people get their basic working environment set up.

00:38:39 Videos
@benmezger says, there are quite some interesting YouTube channels to learn Emacs too. Yes, yes. There are great video series that people have done in the past. System Crafters is often recommended, although I think David has moved on to focusing on other things lately, like AI. But his videos on Doom Emacs, though, are still often recommended as resources. Video is helpful because it shows people how it fits together and how the workflow works. Things that are hard to see from articles and blog posts. Videos are a little bit frustrating sometimes because they are slow. You actually have to watch them. But I like the way that people have been posting Videos with detailed show notes in a literate programming style, with embedded snippets, and often they will even use this blog post as the starting point of or the final product of their video. I would like to be able to do more of these myself, but it may require that I learn how to organize my thoughts, which is part of this whole brainstorm things, and then ideally turn it into a blog post or series of blog posts. The videos are great because they help people show workflows, which is good for inspiring people to put in the effort to then go through the show notes and try the steps, but also kind of see other things that the person making the video might not have even mentioned. Often people will make a video, and a lot of the comments are like, what is that theme that they are using? Or they do this thing which changes the window configuration, and what is that? Delete other windows vertically. And the presenter might not even have thought of mentioning that. but because we are virtually looking over someone's shoulder, you get to see that. Ben continues, videos, indeed videos help show how powerful Emacs can be. Simply installing Emacs doesn't give you that viewpoint.

00:41:12 Learning curve
So that's it. I think, especially since our learning curve is, remember that meme that got passed around before really memes were codified, invented? Where the learning curve of Emacs is kind of like this. This is the learning curve of Emacs. It's just very fractal. We need that inspiration to help us get through the afternoons of, ah, why doesn't this thing just break out of the box? Why do I need to write Emacs Lisp to configure this? It's definitely a very different expectation from many other editors, where you're just expected to either have it, or check a checkbox, and then it's there. But because Emacs, there's so many different ways to use Emacs, it's really hard to say, okay, this stuff is going to be hard-coded for everyone, or this stuff is going to be the easy way. Anyway, and people come into Emacs with all sorts of different expectations too, right? So it really helps to see other people use Emacs in a way that suits them And to know that it is possible to have something that suits you as well. So making more videos. I would like to get the hang of doing that also. But I like blog posts and I like transcripts. So I want to be able to improve my workflow for making these videos and live streams so that They also make sense to people who don't have the time to watch a video stream for one hour or whatever. And it would be great for the video to make sense even if you're not looking at the video directly, you know, to make the audio make sense in case you're listening to it like a podcast while you're washing the dishes or going for a walk. So blog posts and podcasts.

00:43:21 emacs.tv - TODO: Add more to the beginner tag, make a playlist
Which reminds me that Emacs TV is a thing, although that's not super beginner-friendly in the sense that I can't just say, here's all the beginner-related topics. I should go back over the 3,000 plus videos over that and maybe index the beginner ones. Let's see what we got here anyway. Emacs TV. How many do we have now? Yeah, 3000 something. Do I have beginner? I do have beginner as a tag. 26 things flagged as beginners. Some of them are in different languages, but that seems like the sort of thing. That could be fun as a YouTube playlist, because people like to just play through a playlist. And then I can try to sort them, I guess? Maybe. Beginner playlist. Beginner playlist. That's another to-do. Okay. Interesting. This is great. I'm identifying a number of to-dos for myself. All right. Lifelong learning, which is how I want to take this idea of newbies and starter kits and apply it to everybody because many of the same problems that we run into, many same problems that newbies run into with regard to isolation and overwhelm and the balance between tinkering with your config and getting stuff done. Let's write that down somewhere. and Isolation. Unknowns. Okay, so four common problems that newbies run into. Isolation, overwhelm, balancing, tinkering with your setup and getting stuff done, and kind of getting the set like Dealing with unknowns. Let me turn down the filter. It's a little too strong. Now can I make hand gestures? Not really. Okay, I will tinker with that eventually. okay um the same kinds of problems that we run into even if we've been using Emacs for decades uh and this uh uh emerald that i'll uh establish in the video it's a lifelong journey uh okay so

00:46:36 Isolation
Isolation. Meetups help. But meetups are harder for people to get to. You might not find something that's the right schedule for you. I highly, highly recommend writing about your Emacs learning. Blogging is a great way to connect with other people who are interested in the same kinds of things. And we've got Planet Emacs Life. Ooh, I should write that down as a thing. Planet Emacs Life. And we've got Emacs News to help kind of keep the conversation circulating. So that's there. @Mtendethecreator says, what's up? What's up, @Mtendethecreator? Currently I am brain dumping various things for various ideas for the Emacs Carnival April. Okay, so isolation, overwhelm, balance of time, unknowns. So here I want to think about, okay, even for people who might not consider themselves as total newbies anymore, It's always good to keep a beginner's mind in Emacs because there's so much to learn. Just the other day, I was reading a discussion thread where one of the commenters was singing the praises of Org Remark, so now I have a new thing that I want to go figure out how to add to my workflow. There's always something interesting to tinker with and learn. Anyway, so everybody can benefit from the things that we can do in this area. Isolation, I'd strongly recommend blogging, Meetups This is where the aggregator goes in.

00:48:54 Overwhelm
Overwhelm, figuring out how to take notes and how to bring up your notes... Customize interface So that's how people start to deal with that. Balance of time... I don't know. I think this is a much... This is an ongoing problem. And... Well, ongoing challenge. Because the... You know, tinkering with Emacs becomes more fun as you get used to it.

00:49:35 IRC
Oh, IRC. Yes, IRC. I should mention... We should definitely mention that. IRC. Helps with isolation and getting help. Although people also... like some... are they still having issues with spammers and needing to restrict the channel? I've been meaning to write a page that explains what to do in that situation. I should drop in to see what's going on there. Reddit, I think, is where people... Okay, I need to... Okay, let's label these things. A, B, C, and D. And this balance of time is actually related to getting a basic working environment started out. So if the reddit is good at A and C and also D actually. Isolation and balance of time. A little bit. People have to learn how to use pastebin and it's a little bit harder on IRC to say, oh yeah, this is the... People do pastebin the problem and then people sometimes do pastebin the solutions. Sometimes a lot of things can be handled by a quick question, so that's good. Okay, I said isolation. Balance of time is always still a problem, but people develop their own productivity prioritization type things. Structures? Frameworks? And for lifelong learning, this unknowns part becomes really interesting and powerful. Yeah, and this is where bumping into ideas helps. Through IRC, through Reddit, through all the Emacs News, etc.

00:52:19 Learning from other people's configs; TODO maybe a livestream?
Charlie says, searching through GitHub for Emacs keywords to see how other people configure things helped my Emacs customization understanding. If Emacs customization is one of the things that helps people move from being a total newbie to an intermediate user, then maybe it makes sense to have and in addition to the clinics that I mentioned, some kind of a live stream where we just go read other people's configs and then talk about how to adapt it and show a demonstration of a way that fits into the workflow. I think that could be a lot of fun. I've been enjoying going through Prot and tecosaur's literate configurations, and slowly assimilating some of those snippets into my configuration. So it might be interesting for people to see more of that process of not just copying and pasting the code, but trying to figure out, okay, what can support me as I try to make this part of the way that I do things? Or how do I tweak it so that it's a blend of what they came up with and also what I want. So yeah, @mtendethecreator says, tsoding's config also. Yeah, whoever's config is posted, we can go through it. And then I can say, oh yeah, that's really cool. Like for example, reading Prot's config. I learned about delete-other-windows-vertically, which I think he had assigned to C-x !, like C-x !, I think, yeah, which is cool because it's like C-x 1 except it's shifted. So that teaches me about the function and also a convenient shortcut that makes sense it's easy to remember so reading through other people's config could be a thing that might be helpful for you to do and because again because video is annoying to go through if i can have my workflow for Adding chapter markers into it. Then I can jump into... Then people can jump to just a section. Charlie says, that sounds nice. I cherry picked a lot of Purcell's config as I hit modes I wanted to use, and then later I adapted it to use-package. And now it's mine. Yes. Yes, that's the... That's wonderful. That's the basic idea. That's one of the reasons why I love it when people share their configs. Okay, so that gives me plenty of things to do. And if I want to think then about this blog post... Let's write in a different color. I can use colors! Let's write in... Can I write in green? Okay. Okay. That's too... Okay. Blue looks... Blue looks linky. Let's write in... Okay. Maroon? Alright. What does this feel like? I have seven minutes before I should probably go check on the kid for maybe doing math together with her. She gets really bored in her math class, so I tried to do... I offered to do some math with her that's a little bit higher level. uh

00:56:07 Discord?
@mtendethecreator says please create a discord for your channel. IRC is cool but the new wave of devs prefer discord. Think about it. I know system crafters runs a discord for their community. Are there other discord places that emacs people hang out in? Yeah, there's like... I have to look into whether it's possible. @DavidMannMD says, I can highly recommend Prot's book on Emacs Lisp. Yes.

00:57:10 Thinking about the blog posts
So this sounds like maybe there's a blog post here about the factors that people... Like, trying to give some basic recommendations on where people... If this is your background, this is why we make this recommendation. These are the recommendations people often make. And this is why. And here's some basic resources. So this sounds like possibly a blog post. Post about where people come from. And typical resources. Next steps. And there is probably a blog post here about the challenges. which I can address from both a new user perspective as well as the, hey, this continues to be a challenge. And then there's one here about following up on my to-dos. And let's highlight these, make it easier. Someday I will actually pick colors that go together.

00:58:55 Books
Ben says, would including books be a good option for lifelong learning? There's some interesting books I've seen throughout my journey. Yes, yes. I love how the books, there aren't a lot of books because Emacs keeps moving, but it takes a lot of effort to make a book. But the people who have written books, like Prot, like Mickey, do an amazing job of organizing things into a linear structure that makes sense. Books are great for this, especially for dealing with the sense of overwhelm and unknowns. Let's take a few a little bit at a time.

00:59:46 Manuals
The manuals are great too. Just even going through the Org Manual once in a while helps me stumble across things that are helpful. So getting people to feel like they're ready to read a book earlier rather than later, or feel like they're ready to read the manual. and maybe modeling how to do it, like showing them, okay, you can be reading this. The manual doesn't have a lot of examples, but this is how you can dig around for examples to see how it works. Could be helpful.

01:00:25 Maybe annotating the manual?
I feel like if we have like an annotated Org Mode manual, here's the manual, but here are also some links to videos where people are demonstrating this concept, it could be interesting. One of my to-do's for a while has been do that do that kind of beginner map, but for Org, because people have shared a ton of Org resources in Emacs News. Where was I? Books. Yes, that is. Okay, so there are three things... probably more.

01:01:04 Starter kits
Oh, starter kits! That's a whole other thing. Starter Kits. I think that if people are coming from a, let's say they're coming from a programming background, and there's pressure on them to be productive as soon as possible, then Starter Kits are a great idea, possibly. If they find a Starter Kit that fits the way they think, and gets the stuff they need working as soon as possible, fantastic. Hats off to them. Go for it. And then they can ease into more Emacsy things later on. The challenge, of course, with starter kits is because they change Emacs a lot, it makes it harder for newbies to get help outside that community. So they should pick a starter kit with a community they can ask for help within. Other people will be just like, I don't know what kinds of things are going on there. And of course, the newbie has no idea how to disable things or turn things off or go back to vanilla for some things. And so it's, it's, it's just complicated. Can't really expect people helping to go install this separate starter kit and figure that things out. The starter kits are useful in that situation, but in other cases, like for example, if you're getting into Emacs slowly and you're curious, it can help to start from vanilla so you know what things you're adding to it.

01:02:32 Navigating source code
@lispwizard says M-x apropos, looking at Emacs source files for related stuff are also helpful. And learning how to navigate source code to find examples and read it is also a skill that nobody is born with. Figuring out how to help people develop that skill is interesting. But I will go check on the kiddo now.

01:02:51 Braindumping with company
This has been very helpful for me. Kind of brain dumping random ideas onto... It's not even really a mind map. It's just bleargh onto this sketch. But doing it with people hanging out and helping me remember stuff or think of stuff is helpful and well worth my voice getting extra tired. So thank you for coming and hanging out with me today. And I will go work on turning these things into blog posts and possibly videos and live streams going forward. I will skedaddle now. Today I need to sew a hat for my kiddo, but tomorrow, I will probably hang out with you maybe slightly roughly at the same time. Thanks, everyone, and see you!

Chat

  • @j7gy8b: ​​do people still try the built-in tutorial?
  • @j7gy8b: I'm Jeff from Emacs SF and I don't know how to change my display name
  • @lispwizard: ​​One problem is platforms which usurp keystrokes which emacs expects (I just wrestled with this on a raspberry pi).
  • @j7gy8b: ​in the meetup we do see that, the young people who were inspired by a professor to try
  • @j7gy8b: ​Perhaps Clojure is a route to Emacs for experts. I've heard it's the best IDE for that language
  • @benmezger: ​​There are quite some interesting youtube channels (yours included) to learn Emacs too
  • @lispwizard: ​You can often watch videos at 2x speed…
  • @benmezger: ​indeed. Videos help show how powerful emacs can be. Simply installing Emacs doesnt give you that viewpoint
  • @mtendethecreator: ​​wazzup
  • @mtendethecreator: ​​someone says pi-coding-agent is the emacs for ai agents. thoughts?
  • @benmezger: ​IRC perhaps? although a little complex, you learn tons from the Emacs channel
  • @charliemcmackin4859: ​​Searching through Github for emacs keywords to see how other people configure things helped my Emacs customization understanding.
  • @mtendethecreator: ​tsodings config lol
  • @charliemcmackin4859: ​​That sounds nice… I cherry picked a lot of purcell's config as I hit modes I wanted to use… and then later I adapted it to use-package…and now it's mine :D
  • @mtendethecreator: ​please create a discord for your channel. irc is cool but the new wave of devs prefer discord. think about it
  • @DavidMannMD: ​​I can highly recommend Prot's book on Emacs lisp.
  • @charliemcmackin4859: ​​(as an idea for looking at other's configs as a method of learning… "how would I adapt this to use use-package?" is something I find myself thinking a bit)
  • @benmezger: ​Would including books be a good option for lifelong learning? There are some interesting books I've seen throughout my journey
  • @lispwizard: ​​m-x apropos, looking at emacs source files for related stuff are also helpful
  • @lispwizard: ​​Thank you.
View Org source for this post