Emacs Chat 25: Ben Zanin (@gnomon@mastodon.social)

I chatted with Ben Zanin about music, Org Mode, Emacs in terminals and on an Android, keyboards, elfeed, and more. ben-zanin.png

View in the Internet Archive, watch or comment on YouTube, read the transcript online, download the transcript, or e-mail me.

Chapters

  • 0:00 How Ben got started with Emacs
  • 2:19 Ben got into Emacs because of twittering-mode
  • 4:30 Emacs as a media playback platform with Versuri and Mpdel
  • 9:13 Emacs on Android with Termux
  • 13:44 Keyboards
  • 16:44 Benefits of a split keyboard
  • 18:22 Meeting workflow
  • 21:11 Narrowing
  • 22:58 There's even an internal Slack channel about Emacs at Ben's company
  • 24:47 Ben keeps Org capture templates as individual files and adapts them to different meeting flows
  • 28:45 Personal-scale software and the journey
  • 34:07 vc-git-grep for finding notes again
  • 37:47 Keybindings and terminals; wezterm
  • 42:38 Timers: tea-timer, tmr
  • 43:57 Different stages of package use
  • 44:47 Elfeed
  • 53:13 Bookmark naming conventions
  • 53:50 elfeed-curate for annotations
  • 55:46 mytoots archives Mastodon toots
  • 57:05 Mentoring offer
  • 58:02 A local instance of public-inbox can let you use Gnus to read mailing lists quickly

Transcript

Still needs editing

Expand this to read the transcript

0:00 How Ben got started with Emacs

Sacha: I forgot to ask you how your last name is pronounced.

Ben: Oh, Zanin.

Sacha: This is Emacs chat number 25 and here I am with Ben Zanin. You have a math background and now you're in IT. Where did you encounter Emacs in the journey?

Ben: So the reason I have a math background is that I wanted to get into programming language design and at the time so that led me over to lambda calculus and that kind of thing and at the time it was at the time I was getting into university in like 2005-2006 It was impossible to get into the computer programs, but I could get into math. I figured that would move me in the direction that I wanted to go in, so I did. Got to third year, and then every professor who taught any of the courses I cared about all left the faculty at the same time.

Sacha: Oh no!

Ben: Yeah. Anyhow, that's a different story. But yeah, I got into Emacs because in the process of learning about Lambda Calculus, the Lisp weenies found me. And yeah, I spent a bunch of time learning about that. And it wasn't until like 10 years after I got into Common Lisp and Scheme that I actually got into Emacs at all.

Sacha: That's interesting. Usually people, like, if they're doing Lispy things, they get into Emacs right away because Lisp. But okay, so 10 years after. You're already well-used to parentheses at that point.

Ben: Yes. But I guess it wasn't until about ten years ago, like around 2015 or so, that I started really getting into Emacs. I would still consider myself to be a beginner on that front.

Sacha: Oh yeah? So what got you to get into it more?

Ben: I found that I was looking for more structured data management processes. Basically, I was looking for personal information management. And I kept bouncing off Emacs because I wanted to get into those tasks, but Emacs was such a rich learning process that I kept getting sidetracked, so I kept bouncing off of it.

2:19 Ben got into Emacs because of twittering-mode

Ben: But I have to admit that one of the things that originally actually got me into Emacs was twittering mode. Oh yeah? Because I was looking for a tool that would let me, we'll probably get into this later in the chat, but I was looking for a tool that would let me keep a larger window of context about the conversations that I've been in. The Twitter apps and the Twitter website implemented a really narrow window. I wanted to be able to search back a couple of weeks for stuff that I had seen or talked about previously. Twittering-mode gave me the ability to keep days or weeks of context in a single buffer that I could then immediately search. So I didn't actually get into Emacs as a text editor, I got into it as an application platform, and then gradually learned the rest of it. This is actually fantastic. So I kind of stuck around after that.

Sacha: That is the first time I've heard of someone coming to Emacs because of Twitter.

Ben: No, it's deeply embarrassing.

Sacha: No, it's wonderful. I love that there's just so many reasons why people come and the fact that you could find something that would let you take those notes and see that context and reply to it, and even, as I see in your config, work around slow keyboard response issues.

Ben: And also the fact that that's still in the config despite Twitter itself... I think I abandoned it in 2017, but it takes me a little while to rip things out of my config.

Sacha: Yeah, I see you're a lot more active in Mastodon these days. I see your Monsterdon posts scrolled by my feed every so often. Yeah, so we dove right into that because a lot of the stuff in your config is interesting and your workflows too. My idea for these Emacs chats is to show people the kind of stuff that isn't immediately obvious to newbies when they're looking at someone's config. Because a lot of the stuff is new workflows and how the keyboard shortcuts work together and how this stuff fits into your life. That's not immediately obvious from the code. I've taken a look at your config, but before we jump into the gazillion things I wanted to ask you about, are there things that you particularly love about your Emacs workflow?

4:30 Emacs as a media playback platform with Versuri and Mpdel

image from video 00:07:24.567Ben: I'm probably going to get a little bit of deserved flak for this, but I use Emacs a lot as a media playback platform. I spend a lot of time using Emacs to listen to music through MPV. And I've got some integration with Versuri, which lets me... I think you've seen those customizations where what I've done is I've kind of duct-taped the two together. Versuri is an Emacs package for being able to quickly search through lyrics for songs. What I've done is I've bound Versuri to the point where I've pulled up a page of lyrics, I now have a hotkey that bounces me over to a search of my MPD library for where that song is, and vice versa. I've got MPD rigged up so that when I've got a song currently playing, I can bounce into Verisuri to display the lyrics for that particular song. Something you probably have not seen in my config yet because I haven't finished it yet... What I'm working on is actually integrating Org Mode with MPD, because I'd really like to be able to streamline my process where occasionally when I'm listening to something, I'll take notes either about the lyrics or about the song. I'd like to be able to link from Org Mode directly to either that song, that album, or that particular timecode. I don't have that yet, but I'm working on it. I think I'll probably lean on it quite a bit once I have it.

Sacha: Yeah, yeah. I saw your tweet from May, I think, where you're talking about coming up with this way of taking notes. think if you come up with maybe a custom Org Mode link type that can store the annotation and then let you go to it, I think that would be really interesting. Especially if you figure out, okay, like, are you taking notes in the album? Are you taking notes on the song? Are you taking notes on this moment in the song? That could all be very cool.

Ben: Actually, do you mind if I share my screen?

Sacha: Please.

Ben: So one of the things I wanted to kind of note was... Let me... Oh yeah, this is actually going to be further embarrassing. I'm a terminal Emacs user.

Sacha: I saw. Can you increase the font size, though?

Ben: Absolutely, yeah.

Sacha: Resizing your terminal so it's smaller makes everything look bigger...

Ben: Is that better?

Sacha: More. Some of us are older. Thank you.

Ben: One of the things that's kind of unusual about my MPD configuration is I've got a satellite config. Sorry, the line wrap is a little bit off here. What this means is that I have... the household file server maintains the MPD library, but I've got multiple playback nodes around the house. What that lets me do is...

Sacha: You can play stuff on this...

Ben: So what this means is that I'm controlling the... well, in this case, that's a little MeLE Quieter3C that I've got in the living room that's kind of like the the home media server, the home playback machine. Fundamentally, I'm an ops guy, I'm a sys admin, and I've got, unfortunately, a fleet of machines around the house. What this lets me do is easily control each one of them. Instead of each one maintaining its own library of music files, the file server itself indexes them, which means that library updates are almost instantaneous, instead of having to read over the network to pull metadata out of each individual file. So having a satellite setup lets me... The real benefit is that MPD tracks albums, directories, and files as URLs. That means that I have a single global namespace of URLs for all of the media that's currently in the library, which means that I can annotate from any machine, but have it mean one thing. It makes it convenient for navigation, but it also makes it convenient for keeping notes, which I'm currently doing manually and working on those Org link types to be able to make it a little bit more smooth than it currently is.

Sacha: So you've got your central store of music files. You've got URLs for them so you can talk about them. That's just one identifier per song. You've got multiple speakers that you can use your completing interface to say, okay, I want to play this over there. You have Emacs controlling all of that.

9:13 Emacs on Android with Termux

Sacha: Now, is that Emacs on your laptop and you just take it around and you say, okay, I'm going to sit in the living room for a little bit or whatever and play there. Or do you... Ah, there you go. That's what I was going to ask. All right. So Emacs on your phone. The Android port or Termux?

Ben: I have both installed. I think you actually saw this a few months ago when I was running performance comparisons between the Termux version of Emacs and the native port, and found that the native port generally ran anything CPU-intensive roughly twice as fast. But I still use the Termux version because it's... I'm not sure if you played around with the Android terminal virtualization layer at all, but it's not great. I really appreciate the integration that Termux gives me with Android features. For example, being able to query the sensors, such as GPS or temperature sensors, and I can actually pull those in from the Emacs side. And that's something I kind of want to get into.

Sacha: What do you think of using the temperature sensors for? What can Emacs do with that?

Ben: It's not so much the fact that I use the temperature sensors as that when I pull the sensors, that's the most remarkable value that I get out of it. But so like one of the interesting things is the barometric pressure sensor, which gives me Height, which matters because when I'm out and about and if I stop to record an entry in my journal, for example, I'll just pull the sensors and dump them into the header in the entry that I'm writing. The barometric sensor, I'll get the GPS, so that'll tell me what the actual height is at that location on the earth, but the barometric sensor also gives me a little bit of insight into the weather. So like it's not so much the temperature sensor is like what my temperature is, but just like if it's a hot day or not.

Sacha: I am very curious about that setup. So if you happen to share your, I don't know, Org capture for Termux that includes all these things. You don't have to show me the actual stuff, but you know, at some point I think other people will be curious about what kind of benefits they can get from running Emacs on their phones.

Ben: So, I mean, I guess I'll... One of the benefits that I get is the ability to Keep shopping. So I'm a little bit of a militant cyclist. And one of the things that I often do is leave notes about things that I need to take care of in particular areas of the city. And the nice thing is that I can just drop them directly in commits right as I'm going. So I often have a long list of updates that are from Emacs on my phone just because it's convenient. All right. There we go for Monsterdon, in fact.

Sacha: Nice, nice. And then that's, you know, I don't know, sync thing or whatever else to just get it copied back to your laptop. Just on your phone. Oh, yeah.

Ben: And that's one of the things that I found was a little bit clunkier when I was running virtualized Emacs under the Android emulator and also the native Android port of Emacs. They are a little bit more troublesome to get Magit to work. And because I rely on that for syncing back and forth from my phone. That's one of the reasons why I stuck with Termux.

Sacha: Very cool, very cool. I like Termux's, that little bar of extra keyboard keys that you can have, so you can have a regular keyboard and then you can just have your controls and your outs and whatever on that little extra bar. So Termux is quite interesting.

Ben: I think I'm probably pushing it harder than it is meant to be pushed.

Sacha: That's the fun of it. I don't exactly know how everything will shake out, but probably with Google trying to lock down the developer ecosystem in a few months, right? They're saying, oh, you know, it's got to be ADB in order to get these unsigned apps on. We'll have to see how it all shakes out. But I'm hoping Termux can survive because I like that one too.

Ben: Yeah, me too.

Sacha: Okay, so you've got interesting music, an interesting music setup with lyrics and playback and all that stuff. You've got your phone, which also runs Emacs and from which you can, you've also set it up so you can control your music from your phone?

Ben: Yes.

Sacha: Okay.

13:44 Keyboards

Sacha: When I was reading through your toots, I noticed you like to play around with other keyboards and other devices like the 8BitDo. Do you have any of that talking to Emacs too?

Ben: [Keychron B11 Pro is] the keyboard I'm currently using. I got this so I could keep it in my purse and just like walk around with it, but it turns out it's super comfortable and I'm accidentally using it as a daily driver.

Sacha: All right. Named out the keyboard for all the people who like the device recommendations.

Ben: It's a Keychron B11 Pro. It runs ZMK. ZMK, I suppose. And if you've seen me interacting with Pete Johansen, El Mastodon, he's the lead developer of that firmware package. It's a little bit like QMK, except that it's fundamentally QMK is a polling architecture, and it works really well for very restricted microcontrollers. ZMK is... It's interrupt-based, which means it is tremendously more efficient in terms of power draw. So if you want a Bluetooth keyboard, you should probably run ZMK on it. Anyhow, yeah, it's fantastic. And I do have a bit of a keyboard problem where I tend to... Many Emacs people have keyboard problems. Right? I feel like I'm in good company right now.

Sacha: Yeah, yeah, yeah. So that, devices, yep, gotcha. And this has become your main keyboard even for regular computing?

Ben: In the last couple of weeks, yeah. It's super comfortable. And because it's so flat, I can get away without having to use palm rests to actually keep in a decent posture. And because of the curvature of it, Like it's an Alice layout. And the key travel isn't too bad. It's actually quite comfortable. I found that I needed a little bit of acclimatization to get used to split keywords. But this one has this, like roughly the spread of a split. But it seems to be easier for my muscle memory. So yeah, I didn't intend to leave it on my desk, but it just, it stuck and has kind of stayed there for now.

Sacha: Does it have any special ergonomics for all the modifiers that we like to do? Or do you just use Caps as Control or whatever else?

Ben: Actually, I don't use Caps as Control and I actually really need to get into remapping that. ZMK has a very rich remapping story, as I expect you to imagine, from a custom firmware. And the macros are intense, and you can get really deep in customization. And I have done none of that on this keyboard yet, because it's only, I think, a couple of months old at this point.

Sacha: You've been settling in. As you said, this has been your main computer, main keyboard for a little while. Charlie Baker says, yeah, I love the split keyboard. Recently bought one myself. I was getting so much neck pain, you know, shoulder and neck pain from so many hours keeping hands close together. But the split lets his shoulders relax. So probably you're getting the same, like, ah, my arms.

Ben: Yeah, like the two things that I, oh, sorry.

Sacha: Go ahead. No, no, no, go ahead.

16:44 Benefits of a split keyboard

Ben: The two things that I first noticed when I moved to a split keyboard was one, my wrists started feeling a lot nicer and two, I was immediately able to bench press like 20 pounds more the next week. It was amazing how much of a difference it made and it showed up in the data.

Sacha: Wow. There was a weightlifting talk at EmacsConf last year, I think. So there's a surprising overlap between the people who are checking their weightlifting stats and the people who are into Emacs. Naturally with Org Mode. There you go.

Ben: Let's not look at those numbers too closely. I'm not too proud of a bunch of them. But yes, I find that Org capture templates let me keep on top of that and not really think about it, which is great because you don't want to think about it. You want to gather the data and think about it separately so that you can stay emotionally divested from what the numbers mean.

Sacha: I know. I'm totally happy to dig into the Org capture, especially if you do any graphing. People always love graphing their progress, right? But if you're like, I don't really want to show my numbers at the moment, that is also understandable and okay.

Ben: I don't, I'm afraid. Sorry.

Sacha: That's okay.

Ben: It took me a couple years to get used to being on camera at all. I don't really like my appearance very much. I'm working on that, as you can see. I've had to work on that to be able to work remotely. It's a work in progress. I'm getting through it.

Sacha: You know us. We're very much focused on text. In fact, you even use Emacs in the terminal. That's very text-y.

18:22 Meeting workflow

Sacha: One of the interesting things actually that I wanted to ask you about since you mentioned meetings is you probably also have the role of designated note-taker. You mentioned in one of your toots that you take notes and people are like, what are you doing that in? How are you taking your notes? And it's Emacs.

Ben: Yes, so actually that's one of the things I should lead off with as an apology. I probably won't be able to share many of my capture templates because I don't use them in my personal life very much. They're mostly on my work machine and like I've got capture templates for impromptu meetings where it's just like an exploratory, we have a problem we need to solve, we're kind of talking through a discussion. A separate capture template for meetings with agendas to make sure that we stay on them and that we log decisions. and a separate set of templates for... So I have a team of direct reports and they each have different cares and different topics that we're working to develop in their professional careers. And I find that it's really useful to be able to keep some continuity between our conversations. And it also makes it very easy to export that entire dataset, share it with them to make sure that they can consult it at the same time. And if I got anything wrong, I can fold their corrections in. But all of those templates, unfortunately, are on my work machine.

Sacha: We'll just sketch out the general idea in abstract details and then people who want to implement it for themselves can fill in the blanks. For example, when you're having a meeting with your direct reports, are the tasks related to them in an Org agenda? Are you using dynamic blocks? Is it tracked somewhere else or is it in Org?

Ben: It's straight in Org mode. So most of the touch points that we have are more about professional development and their cares and concerns rather than specific deliverables. Usually deliverables we manage at a team level. But if there are specific things that individuals are working on, they will be in to-dos under their subheadings in a way that show up on the agenda if we have assigned deadlines for them. But generally, if there's a deadline on a task, it's because I'm doing something and they need to track it, or they're doing something and I need to track it. And if I'm the only guy using Emacs, then Org Mode won't work for that. So there aren't a lot of those. But if it's just something that I need to check up on to make sure that something that like they've got planned leave for example or like they have a cousin's wedding that they need to go off to or something that I just need to keep in my brain that's not necessarily deliverable then that would it would be appropriate to keep that in a place where it'll only show up on my agenda. So that's the kind of decision making that I apply there.

21:11 Narrowing

Sacha: And you mentioned you have like a subheading I guess as a subheading per person or sort of or do you use tags to kind of keep track of something that might touch several people?

Ben: Usually a section per person and that's more of a convenience than anything else. That lets me narrow to just that subheading and share my screen during the meetings. And then I don't have to worry about accidentally leaking anybody else's information into the screen share or anything like that. And obviously we let off with conversations about them being all right with that. But the ability to very clearly and simply delineate This domain of my notes pertains to this person. And being able to be confident and share that confidence that there will be no leakage means that we can explore topics and talk about them in a way that might otherwise be a little bit more restrictive. So being able to do that simply and being able to establish a very clear delineation around whose information belongs where and where it should be shared turns out to be pretty valuable.

Sacha: Yeah, and that's a technique I think that especially people who are new to Emacs and who aren't used to narrowing and widening might not know how to use effectively. I think narrow is even one of the commands that's disabled by default. You've got to say, yeah, you know, I'm not scared. I know what to do.

Ben: Yeah, it's kind of bizarre to me that it is, but yeah.

Sacha: I can imagine people accidentally triggering it and they're like, oh no, the rest of my file is missing. But if you know how to narrow to a region, and Org even has those commands to easily narrow to a subtree. I think it's even part of the default speed command so you can trigger it right from a heading. But it's great for that kind of restriction.

22:58 There's even an internal Slack channel about Emacs at Ben's company

Sacha: Okay, so the reason why I was asking about that is because some people are working with people who are not using Emacs, so it's very interesting to see what the kinds of... It's very rare for people to work with other people who actually use... Are there any other Emacs people in your company, for example?

Ben: There's an entire Emacs Slack topic about that, yeah. It's kind of great.

Sacha: What is that like to have co-workers who do Emacs? Because this is a rare experience.

Ben: It's super cool. It's also neat to see the very, very different ways that people use it. But yeah, oftentimes people will talk about problems that they have with particular internal tools, and somebody's like, oh yeah, go check out this repo on GitLab that I published last week where I got sick of it and decided to solve that problem categorically. It's actually super cool. And some of the folks at... Generally, I tried not to mention my current employer at any point. Obviously, it's not secret. It's in the init file. But yeah, I don't tend to get into that deeply. But some of the other people who work at my company, they maintain venerable Emacs packages. So it's awesome to be able to go and talk with some of the folks who I've been working on the code that I've been using for a decade and we are now coworkers. It's lovely.

Sacha: Oh, that's so nice. I'm glad you have that kind of little community in there. Yeah. Bunch of nerds. So I suspect some people will be looking up your company after this. I think it's also mentioned in LinkedIn and sort of like, okay, let's see if there's any job openings.

Ben: If it's mentioned on LinkedIn, that is somebody else. I haven't logged into LinkedIn in 15 years and I never will.

24:47 Ben keeps Org capture templates as individual files and adapts them to different meeting flows

Sacha: We do have a question from Shae. Shae is asking, how do you make a capture template to stay on agenda and record decisions? You got any tips for that? I'm guessing this is more of a human thing rather than an Org thing, but maybe you have some ideas on how you keep something on track.

Ben: So I'll actually push back on the it's a human thing rather than an Org thing. So I strongly believe that one of the real values of Org Mode is that it's a very plastic system. Fundamentally, I think that it is a human system because it allows you to express exactly those kinds of trade-offs in a really, really fluid way. I love the personal information management that Palm Pilots provided, for example. But it was pretty restrictive. And one of the things that I love about Org Mode is that if you find that a particular person has a particular conversation style, it's really easy to modify your Org Mode capture templates to be able to capture that particular flow that you have with that person. Or with a particular group of a recurring meeting, for example, that tends to flow in a particular way. Super easy to update the templates that I use to capture those particular meetings to make it easier to match the general conversation flow with the notes that I will be taking about it.

Sacha: Wow, that sounds pretty sophisticated.

Ben: Well, I mean, that's the thing. It's not sophisticated. It tracks the human process very easily. So it's really lightweight. So you don't have to have a lot of sophistication to make it very, very useful. You just have to have a feedback loop that you can tune every time with one or two minutes of effort. And that's one of the reasons why I depend on Magit mode so much is that it lets me track those things. But yeah, to answer Shae's question about how do I track those particular things. So if it's a meeting where one of my direct reports has a particular set of topics that we tend to investigate, like somebody who's concentrated on career growth. So we're talking about the areas in which we want to see development. I'll absolutely update the capture templates for that particular person to say, all right, here's what we talked about last time. Here are the things that were done between our last two conversations about how we move in that direction. Were they successful or not? Did it require a lot of effort? So was it something that more effort should be put into to be able to drive down the work over time, to be able to produce those results? But yeah, that goes into the templates and that goes into the cadence of conversations that we talked about in Capture.

Sacha: So that's really interesting. You modify the Capture templates with kind of the notes that you want to have easily available the next time you chat with them. Exactly, yeah. Like the capture templates are still defined as a setq somewhere in your thing, or are you going into the customized interface?

Ben: So I actually keep the capture mode templates as raw files that are referred to, and that makes it easier to version them in a way that like, I mean, sure, like my Emacs init file, if you look at the Git history of it, it has a whole bunch of different, well, it has a, actually, where would I, yeah, okay.

Sacha: I had not considered having capture templates as file spells. It worked out really well.

Ben: So you can see that it's a little bit hard to see with the font this small, but you can see that I've got a lot of changes to, for example, my init file, but keeping them in individual capture mode template files makes it a little bit easier to just look at the history of that particular file and see why particular changes were made.

Sacha: I'm going to try that. I think that's a great idea because it allows you to be a lot more granular about the notes.

28:45 Personal-scale software and the journey

Sacha: I saw in that very brief flash of your change log message that you like to write Fairly detailed commit messages that talk about why a change was made instead of just a new function, new command. Very terse updates that I sometimes just try to get away with. Tell us more about that because I think you've had a couple of toots about reading source code and reading commits.

Ben: Yeah. So I guess One of the things that I most appreciate about software in general, and specifically personal software, like personal scale software that's been written by an amount of people that you could fit into a room to have a conversation about it. One of the things that I most appreciate about that is that almost all software written that way is fundamentally a diary about the way that a person learned how to solve a set of problems that they might not have known about when they decided to at the beginning. It's this fascinating process of Tracking somebody's voyage through the problem landscape as they discover other people who have touched on topics that are tangential to the problem being solved by that software package. It's such a personal and fascinating experience to see somebody go from, I know just enough about a problem to be able to decide that I want to build the machine that works on it, to I have this deeper understanding of how the problem actually exists in the broader set of things that people care about. ...oriented along the axis of what machinery can do to help solve parts of that problem. And like the commit logs for a program are like just this, it's like a map through that territory. It's wonderful to read, but it's also like... It gives you a lot of insight into the person doing the navigation. When you see 16 commits on December 24th of 2023, like, oh, okay, that person probably had a little bit of time to work on it. And then when you see a bunch of commits that are like 5 p.m. Monday to Friday, like, oh, okay, this is probably done in a particular way. But yeah, it's this deeply personal process of seeing how problems are learned about. And I just really appreciate that.

Sacha: I think what you're saying about personal scale software and kind of getting a sense of people's journey as they learn to understand a problem and as they start to prototype a solution because you never quite come across the right solution the first time around. You're figuring things out. You're borrowing things from other people. I think that will resonate a lot with lots of people in the Emacs community because Emacs use is so personal as you mentioned when you were looking at the Slack channel. I was wondering, in your personal practice, as you figure things out, what kinds of things help you? Is it mostly a matter of actually sitting down and taking the time to write the literate programming stuff around the code blocks or the commit messages? Or are there other tools or techniques that help you do that? Are there tools or techniques that help me write down your journey along the way as you think about the code? What's your practice? For example, when you come across something that you want to figure out, how do you go about doing it?

Ben: So it depends on how I'm approaching the project. So one of the neat things about software is that it's a document and a device at the same time. So you can care about it because of the thing that it does, or you can care about it because of the information that it captures. And if I'm digging into a program because it does a thing that I want to learn, then I'll pay attention to the device aspect of it. And that usually means that I'll start with its own documentation. So if it has a man page, I'll read that. If it has user docs, I'll read those. And usually I'll start keeping notes in an Org Mode file because it's easy to hyperlink back to it and add my own annotations in parallel to the actual authoritative source. If I'm reading software primarily as a document, then I'll start by reading the source code and the commit logs, usually the most recent ones, and then I'll jump back to the beginning of the project and read upwards at the beginning, and then fill in the blanks iteratively if it's a project that's small enough or has little enough history that I can do that. And again, I'll usually start an Org Mode file specific to that particular exploration that will let me organize my notes as I go. I really do rely on the external brain that I can keep in an Org Mode file. I tend to have a pretty decent long-term memory, but being able to bridge the gap between short-term memory and long-term memory is super, super useful. So leaving myself hints that let me dredge things back out of long-term. Reloaded into the hot cache of short term really, really helps out because that lets me maintain that flow state or get back into that flow state when you've got like the whole program, all the context that you've absorbed up until now and the ideas of like the areas that you want to investigate. Being able to hot reload all of that and then pick up where I left off is super useful. But the meat brain can't do it. I need the machine brain too.

34:07 vc-git-grep for finding notes again

Sacha: Tell me about this dredging up process. Are you a lots of little files person? Are you a couple of large files? Are you a project file? There's an Org file in each project that you look up. How do you find things, especially if you don't remember the exact words?

Ben: So it's usually like an Org Mode per category and they get consolidated. Let me shrink this down a little bit. So usually it's an Org Mode category per file. If there's something super specific, then usually it'll kind of live out in its own place until I get around to... I love that you have an Org File specifically for Mud Cake. But that's the thing. It'll live off in its own thing until it gets integrated into the list where the long-term stuff lives. So, for example, I promise this is pertinent to your actual question.

Sacha: No, no, this is very pertinent.

Ben: But so like usually lots of little files while I'm still working on something and then as that something becomes part of my larger life and has links to other things then it'll kind of get centralized into one of the Org Mode files that has a broader topic purpose basically.

Sacha: Okay and then if you if it's like very long term and you can't remember the exact rates to find something how do you generally find find your notes?

Ben: That way.

Sacha: All right. You start graphing various keywords and try to find it.

Ben: Yeah. So one of the things that I don't yet have turned on, and actually you inspired me to look into this, was so... Actually, do we have enough time? Yeah, okay. So I'm just looking at the clock. One of the things that I wanted to get into was long-term searching and searchability. Yeah. So I use SQLite's indexing for a lot of things, and I really appreciate its Porter stemming because it lets you search for stemmed words, which are kind of approximate matches, which is useful, but less useful than vector databases. And you actually put a little bit of work into indexing topics based on vector similarity.

Sacha: Which I haven't gotten back to, so I'm glad to see, you know, you managed to experiment with it. See what you come up with.

Ben: So I don't have anything to show yet, except that it's an interesting topic because... Because I'm word-oriented, I will often remember individual keywords or I'll have enough patience that I can sift through a list of potential keywords as I'm grepping for stuff. And if I find that my first three or four attempts at searching for a keyword don't find the topic that I'm looking for, once I do eventually dig up the topic, I will add those keywords that I was searching for just so I can find it next time, expecting that future me will probably behave more or less like current me. But yeah, like being able to use a vector database to search for headings that include related topics instead of related words. I'd really like to get there. I'm not there yet. And I think that's going to be interesting and useful. I also think it's going to be challenging to kind of represent Org modes. hierarchical structure to restrict the training of particular vector sets to be able to find like an increasingly or cast an increasingly wide net for where I want the searches to run. So I don't know how that's going to be solved yet, but I'm going to be looking into it.

37:47 Keybindings and terminals; wezterm

Sacha: Percopop has a question regarding terminal Emacs. Do you need to change any of the keybindings to avoid clashes with the terminal? You know, some keybindings don't work on terminals, or some terminals already have these keybindings set.

Ben: Yeah, so I have good news and bad news there. The good news is that, so one of the terminals that I'm using right now on most of my systems is Westerm. It's really good. I started off with Alacrity and I kind of bounced off that project because of some of the behavior of the lead developers. I won't get too deep into it, but what I found is that Westerm It gives me very little friction that way. It doesn't have a lot of its own key bindings on its own, and that's a relief. It means that I really don't have to... I don't think I've had to put any time into customizing Western to get out of the way of Emacs or Screen. And I should mention, I am running Emacs within Screen. So that introduces another layer. Control-A-A, for example, is beginning of line for me, even though Control-A itself is the default Emacs keybinding. But yeah, I think that I ended up choosing terminal software specifically on that merit, so that it doesn't get in the way. That's actually one of the things that Termux is... The default Google keyboard keeps stealing key bindings. It'll update and all of a sudden I can't use a particular alt key combination anymore because now it invokes a Google keyboard shortcut for pulling things out of the Android clipboard, for example, which is really kind of annoying. But yeah, in terms of terminals on full-fledged machines, I generally don't have that particular problem. Except for... What was the name of it? It was... It was a zap-to on-the-screen package that alphapapa wrote, I believe, that I... Actually, let me just look it up. Yeah, Avy.

Sacha: Oh yeah?

Ben: So I wanted to start picking this up in 2021, and yeah, control colon doesn't work in terminals. So the mode itself is fantastic, and when I'm using it in a GUI Emacs, it's very useful, and I rarely use it now specifically because of that particular terminal problem. That is self-inflicted. That is not a problem with the package. That is a me problem. But yeah, I think this is the notable one that I bounced off of.

Sacha: Yeah, just trying to find the right, you know, a key binding that will pass. Because you can't get used to key binding in one system and then not have it available in other systems. It's just going to mess with your brain. So yeah, Ray points out, yeah, Google steals Control Shift K, which he uses to kill tabs to the right. So it's like, oh.

Ben: Infuriating.

Sacha: Yeah, yeah. And of course, none of the standard keyboards have a super key on the thing, so you can't just tack on another modifier that'll get through.

Ben: That's actually one of the reasons that I picked up this particular keyboard is Brian Carlson. Another Torontonian. He works on Git LFS and some other stuff. He was specifically looking for a keyboard that had a super key that he could remap. So four keys to the right of space, which this one has. And because it's ZMK, it's remappable. I think this might be suitable for his purpose, except that he wants a QMK keyboard, specifically because the development tools for QMK are packaged in W, and that's a plus for him. Anyhow, yes, I agree. Like, not having a super and a hyper key on a keyboard

Sacha: feels like like one of your fingers that are cramped up we need more modifiers well I mean you know pipe organ Tell us about that.

Ben: What is this? Oh yeah, foot pedals. Yeah, and I actually do have these wired into a little Atmel microcontroller running QMK. I honestly tried the foot pedal thing for a little while. It was hilarious. I did not find it useful.

Sacha: I don't have the hand-eye-foot coordination to do that thing at the same time.

Ben: Maybe if I had learned piano as a kid, it would have been good. But yeah, I don't seem to be able to do it. But I gave it the old college try and it was fun.

42:38 Timers: tea-timer, tmr

Sacha: Okay, I had a couple of things I wanted to ask about in your config. You have two types of timers. You have tea-timer and you have Prot's TMR. Do you use them for different purposes? What's going on here?

Ben: So I'm trying them out. I tried TTimer first because it was the first one that I found, and it was useful. I was actually using it in meetings because I would, when I was trying to keep us on topic, I would use that to remind us that, oh, we've got four other topics we need to get through. We're trying to give this one five minutes. We're running up on four. And it was just because it was super low overhead. It was easy to pick up. It was easy to have it displayed on my screen. And it didn't feel like I was... Running a chess timer on everyone. It's very subtle in the mode line. It was useful. But what I found was that when I was... Running multiple timers simultaneously. TMR, just the fact that you can list all the timers and manage them in a separate buffer. It's richer and I appreciated some of its documentation more. I haven't fully switched over to it yet. I'm still in exploratory mode. In fact, this is probably like... So I actually have a bunch more packages installed than I'm currently using. So I'm going to shrink this down a little bit just so that it doesn't line wrap.

43:57 Different stages of package use

Ben: But yeah, so I've got, I think about 140 packages locally cloned. I've got, as you can see in my init, about half of that actually installed. There are various phases. I've got a clone, but I don't have it in my init. Or I have it in my init, but there's another package that offers similar functionality. Or I'm all-in on this particular choice and I'm removing the other ones. It's a gradual kind of progression.

Sacha: Yeah, we're all auditioning packages to see if they fit in our workflow and all that stuff. I was curious also about your elfeed things. You have a few things related to elfeed. Actually, do you want to talk about the thing you just highlighted first?

Ben: No, we'll get back to it in a sec. I'm keeping an eye on the clock.

Sacha: But yeah, elfeed.

44:47 Elfeed

Sacha: Yeah, you've got a couple of interesting things in your elfeed setup, including picking a search from a bookmark or other shortcuts like that.

Ben: So I have discovered in my conversations with the new maintainers for elfeed that my elfeed habits are very deviant. So let me actually start off by going through... You can see that like the top of my elfeed list is kind of in one format and down at the bottom, the ones that are closer to present day are organized in a different way.

Sacha: You've got tags now.

Ben: So my feed list is, I mean, it started in Google Reader. It's kind of been forward ported since then. It's long.

Sacha: I love the comments.

Ben: But one of the consequences of having a long feed list is that I have an enormous elfeed database. And I use it for completely different purposes. So for example, I'm going to show off that little default search. I keep an eye on projects that have releases that aren't packaged by Debian, for example. So I've got this little ATS Mini. basically a small AM FM radio that happens to run on ESP32 and the firmware for this community developed and it's kind of interesting but like that's not packaged by Debian so I pay attention to or I subscribe to the release feed for that particular project. I do keep in keep an eye on the Linux kernel especially these days because The gallop of security vulnerabilities coming out of mythos analyses right now means that I have to pay more attention than usual to fresh updates. So generally I run Debian stable, but I do run kernels from backports and I want to know when those are available. MeshTastic. I was paying more attention to this a couple of weeks ago. I'm not going to reach that right now. But yeah, the local MeshTastic community in Toronto is plagued by a couple of griefers that make it a lot less fun. So I'm paying a bit less attention to that right now. But yeah, so like one of the bookmarks that I have is software currency. Another one is, for example, the YouTube channels that I subscribe to. Thank goodness for Elf YouTube. It is so nice to be able to get the transcripts for things directly in there.

Sacha: There's even a sponsor block integration so you can skip all the promotions and stuff.

Ben: Yeah, I mean, so again, my use of YouTube is also deviant in that I pretty much strictly subscribe to RSS feeds and they're downloaded onto the file server. So when a new recording comes out, it gets dropped there. I'll watch it. And then I've got a little widget that scans through my Kodi database for watched files. Once YouTube files show up in the watch list, they're automatically purged. And it means I just never see an ad. It's not just satisfying. I don't think that I would be able to pay attention if I was being constantly interrupted because of the way that my brain works. But yeah, so being able to quickly search for YouTube is one thing. I do have... articles that I've marked as spoilers for media that I haven't watched or read yet. Maybe I go to an extreme degree, but I'll try to avoid previews for new movies, for example. But I do want to actually go back to them later on. Marking articles as having spoilers that I want to revisit later on is an easy way of not having to worry about it anymore. And for a while, back in the days when I was paying more attention to... Enter the Dragon was the sequel to... What was that TV show? The George R.R. Martin seven seasons and it went badly off the rails in season six.

Sacha: Game of Thrones.

Ben: Thank you. So when I was watching that for a while, several of the sites that I was reading would have individual episode updates. And I really appreciated having a list of Elfie keywords that I could automatically apply those tags to. So I wouldn't even see the headlines because it was problematic enough. I've become less... Nice. Yeah, I've been putting less effort into maintaining that now, but the infrastructure is still there and I can lean on it if I need to. One of the things that I don't have set up right now is a quick search for the municipal topics that I cover. So I tend to subscribe to a lot of news because I found that, for example, it's interesting to see how the Toronto Star covers stuff differently from other local newspapers. And it's useful to be able to quickly pull up You know, the five or six publications that cover news in the same way and then look through the annotations for them or add the annotations myself so I can see that this particular story was covered by this journalist in this publication in this way and then it lets me cross-reference so that I can pay attention to Topics that are under-covered or publications that habitually leave out particular aspects of news stories. It lets me pay more attention to The trends of publications as well as to the stories that they're covering. But the consequence of that is that my LFE database is like four and a half gigs. And it's common for me, actually, I don't know if that actually shows. It's common for me to have like 65,000 articles in like the six month horizon for the default LFE searches. And that means that searches and redraws are expensive, even on a relatively performant machine. So you've probably seen some of the workarounds that I've got. And this little bookmark selector is one of those workarounds. So L feeds interactive search, super, super useful. But if you're trying to do it like this, actually, it's not so bad.

Sacha: I love this. This is like, yeah. When you see someone using elfeed for like 65,000 items, you get a sense of what you can be used for when you're really stressing it.

Ben: Yeah. Well, and the organization of the bookmarks that I have means that I do have like one just river of news of all of the things that I want to pay attention to. But like it's seven or eight like pretty divergent topics with not a lot of overlap. So it's neat to be able to Think of elfeed as the thing where news information comes in, but the individual bookmarks are the topics that are grouped together that I actually care about and want to read about in concert with each other. If I specifically narrow it down to just Emacs stuff, one of the things that I can easily do is I had a bookmark for that search and if I name it. So now that I've got that bookmark saved.

Sacha: And then it's like bookmark annotation. right and like this is also it ends up in my dot file so as a git config as a as a git commit but

53:13 Bookmark naming conventions

Sacha: now that that bookmark exists simply because of the naming uh lfe search now it shows up in completion precisely this sort of stuff I I am under utilizing bookmarks I think but I like that I love this idea of using bookmarks with a naming convention and then writing Emacs list but take advantage of that naming convention to make that easy to jump to easy to use in other things

Ben: Yeah, it means I don't really have, like, when I notice that there's a thing, I don't have, it diminishes the activation energy for building a new workflow. It means that I don't have to put a lot of thought into it. I can quickly do it. And if it turns out to not be useful, I can quickly get rid of it.

Sacha: Very cool.

53:50 elfeed-curate for annotations

Sacha: I had one more thing that I wanted to ask you about elfeed that I want to squeeze in in the five minutes that I have before the kiddo comes out for lunch break. This elfeed curate that you're using, this is the first time I've come across it in the config. Are you sharing your notes or your selections with other people or just for yourself?

Ben: No. So it's just for myself sometimes. So what I'm trying to replicate is back in Google Reader days, I really appreciated how when you added an annotation to an article that you were reading, By default, that annotation would be viewable by other people in your social graph. That was super interesting. Sometimes you could also add personal-only annotations. Actually, I don't think that's the keyword that it uses. I think it's just an.

Sacha: Also, because you have an Emacs keyword on it, so I don't know whether you have any annotated Emacs ones.

Ben: Yeah. Well, I mean, generally, if I've added an annotation, it will be. So, for example, here. Right? Super useful. Well, super useful for me, anyhow. If I find that there's an annotation that is more... This is inflammatory. It doesn't need to go out on the web.

Sacha: Sorry, you need to kill the stream and have a 10-second video.

Ben: No, it's all good. I'm not worried about sharing this, but it's not something I've posted. But what the nice thing is is that if it is something that I want to share, it's really, really easy to just drop this into master.mode.

Sacha: Yeah, yeah. Huh. Very cool.

Ben: Yeah, so that's one of the ways that I use it. And because the annotations are just Org Mode files, you can add links to other things and it becomes just as useful as anything else.

55:46 mytoots archives Mastodon toots

Sacha: And you're saying this can flow into Mastodon and from there, once you toot it, I think you're using, like, this is mytoots thing that you mentioned in your config also for archiving it? Or searching, yeah, okay. Oh, except it's currently not working.

Ben: Yeah, I don't have it loaded right now. But yeah, so mytoots, it just loads the backup of your export archive. So it loads the... What's the most recent one? So yeah, it was your Outbox JSON file, which is the most recent one here. So I've got an Org Mode reminder to download it roughly quarterly. My Outbox is about 100 megs right now. And compared to, well, I mean, it's compared to 4.5 gigs for elfeed. It's not so big. I think... Oh yeah, that's not going to redraw properly. I was just going to show it like my resident Emacs memory size right now is about like five or six gigs. It's a little bit embarrassing. By comparison, 100 megs of JSON and RAM is not so bad, but like having an instant search for everything that you posted and being able to bounce back from your local archive to the conversation thread that's live and see anything new that comes in. Again, it lets me exercise that outboard brain kind of idea. So yeah, my toot's super useful.

57:05 Mentoring offer

Sacha: I like it a lot. And then the last thing that I want to ask before, again, kiddo, because I have like two minutes, is that you have a mentoring offer pinned in your Mastodon, too. Have people taken you up on it, especially if they've taken you up on Emacs? Is that ongoing or forgotten about or whatever?

Ben: Not forgotten about. Very much real. Still open. I haven't refreshed that offer recently, but it's still pinned for a reason. Yeah, I think maybe a dozen or so folks have asked for that. 9 or 10 success stories, I think. Nobody's asked for Emacs tutorialship yet. That's fine. Again, I love Emacs. I use it. I don't often recommend it. But if anybody was curious about that, I would be very open to the idea.

Sacha: All right, so if people want to also develop a very interesting elfeed setup, they know who to talk to.

Ben: Please, I would love that conversation.

Sacha: Thank you so much. Yes, go ahead.

58:02 A local instance of public-inbox can let you use Gnus to read mailing lists quickly

Ben: Oh yeah, there's just one last thing I want to mention, and I realize we're right up against time. I use GNU for email, but I use GNU for reading mailing lists. I just wanted to just strongly recommend to anybody who is thinking about it, this is amazing. You gotta do this. Public inbox lets you keep a complete local archive of the entire mailing list. Searches are instant. Tracking threads is instant. Check it out. It's fantastic.

Sacha: That's great because like Emacs develops like gazillion threads and how do you even keep track of all this stuff but if you've got news and you and if you've got this set up then you're no longer dependent on the good graces of Gmail being around as a kind of NNTP to mailing list gateway so uh so yeah uh John wants to know if you have YouTube like if you have a YouTube channel I'm guessing you don't yet but uh again I don't really like my face very much Ping Ben on Mastodon and ask about this mentoring thing and then share your notes so we can all learn from it. Thank you so much for today. I look forward to chatting with you more through toots. What is the verb, you know, in the 30-verse? All right. Thank you so much. All right. Bye. Okay, folks. I'll end the stream too. Bye. Thanks for hanging out.

Rough notes

  • 0:00 math because CS was hard to get into. lambda calculus, 10 years in started Emacs, 2015. Was looking for more structured data management processes, PIM
  • 1:00 Twittering mode
  • 3:00 media playback platform, versuri lyrics
  • 5:00 mpdel with different output nodes
  • 8:00 termux and Emacs, sensors, recording, git for synchronizing
  • 14:00 keyboards
  • 22:00 Emacs slack
  • 24:00 keeping a meeting on track, adapting to the typical flow of meetings
  • 26:00 capture templates are files
  • 28:00 personal-scale software, a diary about how people learn how to solve a problem, Ben's process
  • 35:00 sqlite stemming, not there yet
  • 37:00 terminal keybindings, wezterm, screen, Emacs, Termux and Google keyboard keeps stealing keybindings
  • org-switchb
  • 42:00 timers, tea-timer for subtlety, tmr for multiple timers
  • 41:00 foot pedal
  • 45:00 elfeed, bookmark naming convention
  • 53:00 elfeed-curate

Chat

  • sachactube: ​​only slightly panicking behind the scenes 🙂 Nudged Ben by Mastodon in case we got our wires crossed
  • sachactube: ​​yay, he's here, just getting sound sorted
  • symbiopoyesis: Good morning
  • x_goose_x: ​​hey gnomonnnnnn
  • CharlieBaker707: ​yay! love the split keyboard. recently bought one myself. i was getting shoulder and neck pain from so many hours keeping by hands close together, but the split let's my shoulder's relax.
  • ShaeErisson: ​How do you make a capture template to stay on-agenda and record decisions? Any tips?
  • PuercoPop: ​​Regarding terminal emacs, did they need to adapt any keybindings to avoid clashses with the terminal keybindings?
  • AyanRaza-n1x: ​​is that the creator of emacs?
  • Ray-On-Emacs: ​Yes! Google steals C-S-k, which I use to kill tabs to the right on Vivaldi!
  • CharlieBaker707: ​elfeed is like a distraction alleviation machine. I agree with Ben, I don't think I could consume any of this information outside of Emacs. Ads and even varying formats distract me too much.
  • JonKishore11: ​​do he have YT
  • sachactube: ​​Thanks for hanging out, everyone! =)
  • gnomon027: Thanks so much for running this whole series, @sachactube !!
View Org source for this post

La semaine du 25 au 31 mai

| french

lundi 25

Ma fille était un peu triste parce que j'avais mangé mon petit-déjeuner avant qu'elle ne se réveille. Elle m'a demandé si je pouvais l'attendre pour que nous puissions manger ensemble.

J'ai emmené ma fille chez l'oculariste pour polir sa prothèse oculaire. Après le rendez-vous, elle a voulu rentrer au lieu d'aller chez College Optical pour commander des lunettes de soleil correctrices.

Pour le déjeuner et en guise de récompense pour le rendez-vous chez l'oculariste, nous avons mangé des nouilles instantanées. Ma fille m'a donné l'autre moitié de son sachet d'épices aux fruits de mer. Nous les avons enrichies avec du gâteau au poisson et aux algues. Elle a découvert qu'elle n'aimait pas le mochi à la crème glacée, donc elle a eu de la crème glacée à la place.

Après l'école, elle n'a pas voulu aller au cours de gymnastique parce qu'elle était un peu fatiguée. Au lieu de cela, nous sommes allées au parc pour jouer avec une balle, une corde à sauter, un grand dé en mousse, et la pataugeoire là-bas.

Pour le dîner, ma fille a voulu du sushi au crabe comme au restaurant que nous avons essayé vendredi.

Mon mari, ma fille et moi avons joué au Scrabble. Maintenant ma fille peut trouver ses propres mots avec quelques indices. Nous avons joué juste pour le plaisir, donc nous n'avions pas compté les points. Pour notre premier jeu, elle a voulu échanger des tuiles avec mon mari et moi, donc nous le lui avons permis. Pour notre deuxième jeu, mon mari a dû aller faire autre chose, donc elle et moi avons joué. Elle a voulu inclure les noms Pokémon, donc nous nous sommes amusées en plaçant les mots comme « Ekans », « Abo » et « Jolteon » (l'anglais et le français sont également permis) même si les mots anglais normaux sont aussi possibles.

mardi 26

J'ai terminé la transcription de ma conversation avec Matei qui est anthropologue. Je la lui ai envoyée pour relecture avant de la publier.

Un des chats de notre voisinage m'a rendu visite, donc je lui ai donné un bol d'eau.

Ma fille et moi sommes allées au parc pour jouer seules. Nous avons joué avec la balle et à la pataugeoire.

J'ai appris que la prononciation du verbe « interviewer » en français a deux sons « v ». C'était intrigant.

mercredi 27

L'école a eu un remplaçant, donc elle a choisi de sécher les cours. Le matin, elle et moi avons travaillé sur ses devoirs dehors. Elle était de bonne humeur. L'après-midi, elle était un peu triste parce qu'elle attendait une réponse de son amie, et elle s'est blottie sur le canapé. Une fois qu'elle a finalement reçu une réponse, j'ai emmené ma fille au parc pour jouer avec ses amies. Elle s'est très amusée, donc j'ai eu vraiment du temps pour penser pendant qu'elle jouait.

J'ai finalement envoyé les factures pour le mois de mars et d'avril.

Ma mère est restée à la maison parce qu'elle avait fait une petite chute.

jeudi 28

J'ai discuté avec Protesilaos sur les recommandations sur Emacs pour divers utilisateurs.

Ma fille et moi avons joué au Scrabble sur le porche pendant la pause déjeuner. Nous avons aussi joué au Scrabble avec mon mari après le dîner. Nous avons commencé à compter les points, bien que nous ayons toujours joué en coopération.

vendredi 29

J'ai interviewé Omar Antolin Camarena sur sa configuration et ses flux de travail sur Emacs. J'ai travaillé sur la publication des transcriptions vers le format PDF. J'ai ajouté la fonctionnalité d'exclure des sections par format selon les étiquettes.

J'ai pratiqué la prononciation française.

J'ai emmené ma fille à un cours de rattrapage de gymnastique aérienne.

samedi 30

Ma fille s'est amusée toute seule à faire des bulles et à jouer avec de la mousse à raser.

Ma fille a voulu des vêtements neufs et un jouet anti-stress, donc je l'ai emmenée dans différents magasins. Elle n'a pas aimé le Thinking Putty au début qu'elle a choisi parce qu'il a des paillettes. Nous sommes prudentes avec les paillettes pour éviter de gratter son œil si elle le frotte. Après avoir joué avec le Putty, elle a décidé qu'elle l'aime, et elle va simplement bien se laver les mains.

Pour explorer de nouvelles saveurs, nous avons mangé chez KFC.

Pendant qu'elle regardait des émissions, j'ai ajouté une commande à mon logiciel pour effacer des images incorrectes afin que j'en téléverse une nouvelle.

Nous avons joué à Donjons et Dragons ensemble pour nous exercer au rôle de meneuse de jeu. Mon roublard halfelin a vaincu un méphite, mais le mimique dans l'autre pièce était trop pour moi. Du côté de ma fille, elle a aidé Cornflower avec les devoirs de la ferme.

Mon mari et moi avons discuté des voyages. Même si voyager est bien recommandé pour se découvrir soi-même, il y a d'autres façons de le faire, donc il vaut mieux bien réfléchir. Pour le moment, je pense qu'il vaut mieux que j'aide ma fille à apprendre à apprécier ce qui est proche.

Ma fille a dit qu'elle a du cérumen, donc elle a utilisé de l'huile minérale pour le déloger. Ça a marché.

Après le dîner, j'ai fait les courses seule.

dimanche 31

Mon mari était trop frustré aujourd'hui, donc mon mari et ma fille étaient tous les deux grincheux. Je me demande ce qui se passe.

Quand même, pendant qu'ils se débrouillaient, j'ai travaillé sur les transcriptions de mes entretiens récents. J'ai aussi poussé des mises à jour de mon outil pour écrire le sous-titrage. J'ai oublié de vérifier mes changements avec les tests, mais heureusement, il y avait juste un bug et le bug était dans le test au lieu du code. J'ai aussi restauré les articles que j'ai accidentellement effacés. Ensuite, j'ai recherché des machines à coudre pour ma sœur et mes nièces qui habitent aux Pays-Bas, parce que leur ancienne machine était abîmée.

Ma fille s'est très amusée en jouant comme la meneuse de jeu dans un jeu de Donjons et Dragons avec sa tante. Elle veut être la meneuse de jeu pour un jeu avec ses tantes et ses cousines la semaine prochaine, donc sa tante lui a offert l'occasion de s'entraîner.

J'ai appelé ma mère. Elle m'a dit que ma tante lui demandait à plusieurs reprises si nous lui rendrions un jour visite. Eh ben, ma tante ne nous aidera pas à élever notre enfant si je suis malade, donc son opinion ne compte pas pour moi.

View Org source for this post

La semaine du 18 au 24 mai

| french

lundi 18

Je me suis réveillée très tôt pour interroger ma sœur qui est très malade d'un cancer. Nous voulons enregistrer des vidéos pour ses jeunes filles et son mari. Sa fille aînée a commencé à l'interviewer, mais bien sûr, il y a des sujets dont elles ne peuvent peut-être pas parler pour le moment. Je l'ai appelée sur Facebook Messenger et j'ai utilisé OBS pour enregistrer l'appel. J'ai un flux de travail pour corriger et formater la transcription, et je suis ravie de l'utiliser pour ma famille.

Il faisait très chaud. C'était notre première vague de chaleur intense cette année. J'ai emmené ma fille au parc Amos Waites pour jouer à la pataugeoire là-bas. Elle a vraiment aimé la robe-maillot que nous avons cousue. Elle adorait tourner dans le siège pivotant que notre parc à proximité n'a pas. Elle a tellement joué qu'elle s'est endormie sur le chemin du retour.

Après le dîner, ma fille et moi sommes allées à un autre parc pour regarder des feux d'artifice pour la fête de la Reine. Il y avait beaucoup de gens, donc je pense que c'était un rassemblement habituel pour les jours de fête où les feux d'artifice sont autorisés.

J'ai terminé la révision de la transcription de ma conversation avec Prot et Philip. Je pense que l'audio de Philip est parfois trop faible, mais je ne suis pas sûre de pouvoir normaliser juste ces segments. Si j'ai une conversation avec un autre locuteur, je peux enregistrer les flux audio séparément, mais dans une conversation entre trois locuteurs (Prot, Philip et moi), je ne peux pas complètement les séparer. En plus, je pense que je ne peux pas remplacer juste l'audio d'une vidéo en diffusion sur YouTube. Peut-être que je peux mettre en ligne une nouvelle vidéo et changer l'ancienne vidéo en une vidéo non répertoriée.

À l'heure du coucher, ma fille et moi avons parlé de la neurodivergence, des mathématiques, et des facteurs humains comme les limitations de la boucle auditive comparée à la visualisation. J'adore lui parler de son cerveau.

mardi 19

J'ai essayé de virer de l'argent aux Philippines via Wise. C'était réussi.

Je me suis entraînée aux virelangues. Oups, j'ai oublié de confirmer l'audio sur OBS, donc je ne peux pas l'analyser.

J'ai réécrit deux transcriptions pour les entretiens de ma sœur.

J'ai emmené ma fille au parc pour jouer avec ses amies. J'ai oublié les glaces à l'eau, donc je suis revenue à la maison pour les retrouver.

Nous avons pratiqué les permutations et la division posée.

mercredi 20

J'ai réécrit encore des transcriptions pour les entretiens de mes nièces avec ma sœur. J'ai configuré un serveur dans notre réseau pour les héberger avec l'authentification basique.

L'école avait un remplaçant aujourd'hui. Il a accidentellement éjecté tous les élèves de la salle de réunion virtuelle et tous ont dû attendre que l'enseignant corrige les permissions.

J'ai ajouté un gousset aux shorts de bain de ma fille.

J'ai emmené ma fille et son amie au parc pour jouer. Elles se sont amusées à me donner des décharges avec l'électricité statique. Après que les autres amies de ma fille sont arrivées, ma fille semblait un peu surstimulée. Elle est partie seule et elle était grincheuse pour le reste de la journée, pauvre chérie.

jeudi 21

J'ai discuté d'Emacs avec Raymond Zeitler sur une diffusion en direct. C'était la première fois que je lui parlais en vidéo même si nous correspondons depuis 18 ans via les commentaires sur mon blog.

Le dentiste a fait deux plombages. Il a proposé un plan de traitement, mais c'est cher, donc je veux bien y réfléchir avant de procéder. Je pense que je veux gagner en confiance avec ce dentiste d'abord. On dirait que la restauration précoce est mieux que d'attendre pour les dents cariées selon les recherches, donc c'est bon, mais on dirait aussi que d'autres dentistes recommandent d'autres niveaux de traitement. J'aime les précautions COVID que ce dentiste prend. Il y a d'autres dentistes (un peu loin) qui prennent aussi ce niveau de précautions, mais ils disent probablement la même recommandation (c'est la même recherche), donc je ne cherche pas particulièrement d'autre conseil. Je ne veux pas passer pour une vache à lait, tu sais?

vendredi 22

Je me suis réveillée tôt pour une conversation sur la communauté Emacs et l'IA avec Matei Candea, un anthropologue. Il pense à faire une étude ethnographique, et je pense que c'est potentiellement intéressant.

J'ai terminé la transcription de ma conversation avec Raymond Zeitler sur Emacs. J'ai remarqué que j'utilisais le mauvais horodatage pour publier les chapitres à partir de la transcription, donc j'ai corrigé l'erreur.

Ma fille n'a pas voulu participer à l'école parce qu'il y a eu un remplaçant, donc elle a fait une pause.

J'étais fatiguée, donc j'ai fait une sieste.

J'ai emmené ma fille au cours de rattrapage de gymnastique. Elle a pris plaisir à apprendre la gymnastique aérienne. Après le cours, ma fille a voulu aller au parc asperge (St. James Park) parce qu'il y a un grand toboggan. Elle s'est entraînée à descendre le toboggan à de nombreuses reprises. Après avoir fait ça, nous avons acheté du sushi. Elle a essayé la tempura de crevettes et elle l'a aimée.

samedi 23

Il a beaucoup plu et c'était très venteux, donc nous sommes restées à la maison au lieu d'aller à la célébration de printemps à la ferme Riverdale.

Ma fille et moi avons joué à Stardew Valley avec le mod Tileman Reworked, qui me demande d'acheter les tuiles auxquelles je veux accéder. J'aime parfois jouer à des jeux avec des limites comme Minecraft Skyblock parce que les limites focalisent l'attention et la progression est très différente. Ma fille préfère notre jeu précédent avec le mod Stardew Valley Expanded.

Pour le dîner, nous avons mangé du sotanghon, qui est une soupe aux nouilles et au poulet. Nous avons aussi essayé le taiyaki congelé. C'était pratique et acceptable, mais bien sûr le taiyaki chez Pat Mart est meilleur.

À l'heure du coucher, ma fille et moi avons discuté de la neurodivergence, de la double exceptionnalité, de l'apprentissage des élèves doués, de la différence entre la récupération d'information et de la synthèse. Nous avons aussi discuté de la faune, des maladies, des vaccins, et d'autres sujets.

dimanche 24

J'ai parlé avec mon mari du TDAH. Il pense que je suis juste préoccupée, et ce n'est pas grave. C'est bon. Je ne veux pas laisser ma vie être perturbée au point d'avoir des problèmes dans deux zones ou plus dans ma vie pour obtenir possiblement un diagnostic, ce qui ne m'aiderait probablement pas beaucoup plus. Quand même, je peux continuer d'explorer comment je peux m'adapter à mon cerveau et ma situation.

Ma fille et moi avons préparé du lait au sucre brun et aux perles boba faites à la main.

Mon mari, ma fille et moi sommes allés aux Stockyards pour faire des courses. Nous avons acheté une boîte de mangues, des perles boba, des haricots azuki, et d'autres aliments. Nous avons préparé une fournée de mochis aux haricots azuki.

J'ai recherché quelques dessins pour les transcriptions. Je pense que je veux inclure les noms des interlocuteurs dans la marge gauche et les horodatages dans la marge droite. Je veux aussi réécrire la transcription pour supprimer les mots de remplissage.

Pour le dîner, nous avons mangé du curry japonais.

Je me suis couchée tard parce que sur Stardew, j'ai finalement accédé à la caisse chez Pierre pour acheter des graines dans la troisième année. La progression est très lente. Heureusement, le mod HibernationRedux me permet de sauter le temps pendant que j'attendais la croissance des arbres.

View Org source for this post

Transcript of chat with Matei Candea about Emacs and AI

| emacs, ai

This is an edited transcript of my chat with Matei Candea, an anthropologist who is curious about the Emacs community and AI. Sharing it here with permission so that it becomes a thing I can refer to and in case it sparks further conversations. AI is a bit of a contentious topic, so I hope people will be patient and kind as we figure things out!

Related links:

Expand for the transcript

NOTE Matei is an anthropologist; ethnographic research

What I actually do for work is to do ethnographic research, to interview people. I've written a lot about scientific communities.

For instance, I've written articles on behavioral scientists who work with animals and how they think about knowledge and technology and stuff. Completely independently of that, I kind of got into Emacs and got really excited. About four years later, I was, like, wait a minute, why don't I do an ethnography of Emacs as a community?

Sacha: Really cool people.

Matei: Right? Really cool people.

Curious about Emacs as a community in the time of AI

Matei: I think what I'm really saying is Emacs as a community in the time of AI and how that's shifting or not shifting how people are using it, and what it does. I've spoken to Prot on Monday. That was the first interview I did, and we had a great chat. I basically asked him how he got into Emacs and what it meant to him and what his relationship is to the community and stuff, and then a bit about AI and then a bit about what he feels are the interactions between the two.

Matei: That's, broadly speaking, what I would be interested in doing with you.

Matei: If you think there's a broader conversation, we could live stream and have an actual chat about how people use Emacs. By the way, I'm very happy also to tell you where my own trajectory was that I got into Emacs weirdly and randomly about a year before ChatGPT really hit the mainstream. The thing that you read by me was written because me and Ella together were trying to figure out Cambridge's response to AI as a university. Like, what are we going to do about it? If I'm going to be talking about that, I need to know how it works. But I don't want to use AI in my own actual work or in my teaching, because I think it's a bit dodgy. I don't really like it. Why don't I just do it with this kind of side project I've got, which is learning Emacs, right? And the weird paradoxical thing was that I now basically kind of live in Emacs. My email is mu4e. If you saw my screen now, the notes are basically a narrowed Org buffer with questions. Everything's email. But I don't think I could have got there that fast if it hadn't been for the fact that I started asking ChatGPT, like, "Oh, this isn't working. Can you just write me a defun that does this?" I'm not completely vibe coding. I'm trying to learn Elisp at the same time, but I'm in this weird position where... Anyway, this is why for me it raised these questions of: what does learning Emacs in the time of AI mean? As you can probably gather from the manifesto, I'm not pushing it at all. I'm really ambivalent about the use of AI. I find myself doing it and kind of sort of worrying about doing it. Would you be happy to do an interview like I did with Prot?

Sacha: Yeah, we can certainly do that. In addition to whatever I can share from my personal experiences, I think your interest in understanding and describing the community and the culture and how it's interacting with this AI thing, I think it'll offer a perspective that is different from what you usually see, because Emacs users have had this long tradition of fiddling with things and making it really malleable and fitting it to them and figuring this out in dialogue. It's figuring out in dialogue with themselves as they figure out their workflows, with the software as they learn from the code, with other people, with resources on the internet not necessarily attached to specific people. That's got a really long history. It's really interesting to see how AI both has plus sides and minus sides in this whole mix. It definitely, I think, will offer some insight that you won't hear with the frothy AI hype that other communities have. It's all very interesting.

Matei: Amazing. Let's start with a general kind of interview thing.

How did I first get into Emacs

Matei: How did you first get into Emacs?

Sacha: I was going through all the books in my university library about computer science. One of them was Unix Power Tools. I was like, there's this chapter on Emacs, and it mentions Tetris and other things. What is going on here? I tried it. It was great. I liked it. Then in fourth year or so, my screen stopped working. I didn't want to replace it. But there was Emacspeak. I was amazed. Lots of people had put together Emacspeak so I could use the computer with a broken screen. I could still read it periodically, if I tilted it and kind of looked at the low contrast thing… The speech synthesis worked just fine. I'm going to program this way.

Sacha: I'll plug into a monitor when I'm back in my room. But if I'm out and about, I have this other way to do it. Something that maybe most programs would not have anticipated, but because somebody had built it for themselves, it was something I could use. Before I got into Emacsspeak, I got into Planner Mode because I was a university student and I was taking notes. Planner Mode was an easy way for me to keep track of tasks. It was more flexible than other to-do managers.

Sacha: It's one of the packages that was popular before Org Mode. I started using that to write my blog. Blogs had just been invented around then. I was figuring out, how do I export RSS out of this? I was able to customize it to do that. I liked it so much I emailed John Wiegley, who had created Planner Mode. I said, hey, I can help you fix bugs. He said, great, you're the new maintainer now. Which was actually very good for me because I was a university student in the Philippines, and Philippines, and normally we don't get to work on anything really cool. Suddenly I was in this global community of people. There was a mailing list. People would send in questions or feature requests. I would share the things that I was working on. They were very, very patient with me. Like that one time, one of my changes accidentally deleted somebody's notes and they were still nice to me afterwards. The community has always been part of how I experience Emacs. Learning in public has also always been part of how I've been figuring out what I can do with it and changing it to fit my needs, as very idiosyncratic as they are sometimes... It has also always been part of my experience of Emacs.

Matei: When did this start?

Sacha: Very shortly after I started Emacs, I started blogging with it. My first blog post from that is 2001.

Matei: Right. You were studying computer science?

Sacha: I was studying computer science, yes.

Matei: Are you a computer scientist now? What do you do when you're not doing Emacs?

Sacha: Most of the time, I'm still focused on full-time parenting, which is why I'm going over to the freezer now to remember to put yogurt in the freezer. I do a tiny, tiny, tiny bit of consulting, but consulting, but for the last 10 years or so, I've just been focused on parenting. Playing with Emacs and being in touch with the Emacs community has been one of the ways that I've kind of kept sane. I've enjoyed the intellectual puzzles of: I have this thing that I want to do, how do I do it with code in ways that I can fit into five minutes here, ten minutes there of my life.

Matei: Do you do any other coding or just Elisp?

Sacha: JavaScript, Python on occasion. Some of my consulting involves making little JavaScript prototypes for ideas that my client has, but it's really just an hour a week, maybe less. But for fun, I still write a bit of JavaScript and Python. Emacs Lisp, however, is what I usually write because it's so much easier to do things when you've got the full editor with you.

Matei: Yes, that makes sense. I've got a million questions, but I'm going to try and do them in order. You've said a little bit about this already, but

What do you love about Emacs?

Matei: what do you love about Emacs?

Sacha: You can come up with a crazy idea and you can actually make it happen. So, for example, I've been doing a lot of conversations, interviewing people or working with my sister's interviews. I always like turning these into text because text is a lot more searchable. Chapters and things like that too, right, so that people can jump to just the part they're interested in. I don't know how other tools do it, but I love the fact that I can modify Org Mode so that I can capture timestamps. Wall-clock time is easier for me to work with. I can say, okay, while I'm typing, I just use an abbreviation to put in the timestamp that's the current time and my rough notes. I have another piece of code that translates that into offsets from the start of the video based on YouTube's live stream or the file name of the video. Then I can paste that into the subtitle file so that it automatically puts the chapters in roughly the right places. As I come up with little workflow ideas, I can actually implement them.

Community

Sacha: I also love the community of it. Looking through the blog posts or as I put together Emacs News every week, there's always all these interesting examples from people who are asking the same questions about about "What is it I want to do?" and "How can I do it 0.5% better?" They write these little functions. I'm like, oh, that is a fantastic idea. I get to absorb that into my life. Because I'm seeing it in the context of their blog post or their video, you get a glimpse of other people's lives as expressed through code, because all of the code is very personal. That is one of the things that is good about the fact that people are using AI sometimes to generate this code. They can make things that things that punch above their weight. A newcomer to Emacs can have customized functions that let you fully appreciate its power. But on the other hand, if the AI is just generating this code, you don't get a sense of like, where's the blog post this is coming from? Or who would I talk to to keep up with other crazy ideas they come up with? You're limited to just your ideas. Then there's the whole thing about license-washing. Most of the people release their code under GPL because it's Emacs, but the large language models never mention that. They never say, you also have the right to go and share this and modify this and build on top of it and contribute back to the community. Anyway, it doesn't feel right, the code. It doesn't quite get the conventions and the idioms yet. So the things that I love about Emacs are generally the fact that it can fit me like a glove and it's got this community of people who are also exploring what is possible as crazy as ideas sometimes get. There's always some way to hack it in.

Do you know how big the community is?

Matei:

Do you know how big the community is?

Sacha: I have no idea. We generally feel like it's a lot smaller than VS Code and probably a lot smaller than Vim. It depends, of course, on if you're talking about percentage, it depends also on... There's a lot of Clojure developers using it, because it's the standard Clojure way of doing things, but there are probably a lot fewer Java or JavaScript people using it because a lot of people are in VS Code instead. I used to do Google Analytics tracking on my website, but I stripped all of that out because cookies and tracking and all of that. When people ask me how many people read this stuff, I have no idea, but I do know that every time I look for Emacs News, I'm delighted by the breadth that I come across. To me, it feels like there's a thriving community that's large enough for my interests.

Matei: Cool. You're the second person I've actually spoken to. The first person was Protesilaos. I'm struck by the fact that from a sample of two, I've got two people who are not based in the US, who are super international, and also who are not developers.

Sacha: That is a fantastic thing about it. I love that we have researchers and sourdough bakers and knitters. Of course, the programming part is still there, but a lot of people end up getting into some kind of programming because of Emacs. Emacs is the only thing they ever code, and they don't even think of it as coding. It's just like, I do this, but I wanted to be able to do this, so I learned how to do Org Mode and source blocks, and that's all I can do, but it's great. I think that's really interesting because when you talk to people about their origin stories with Emacs… Sure, of course, you have the pockets of people who are like, I'm a computer science student and my professor said use this, so I'm using this, and so forth. But then you get these random high school music students who are like, oh, yeah, I just saw this video and I thought it looked really cool, so I taught myself how to do that. I don't know anybody else who uses it in real life, but I like it. Musicians using it live to do performance... Where are these people coming from? But they come across it, and it just strikes a chord with them, deep in their souls. It appeals to a certain tinkerer type, I guess. They just continue with it. They get stuck. Sometimes they leave and they come back, and all that stuff… But the breadth is one of my favorite things about Emacs.

Matei: Do you think that most of the people in the community are probably developers? Because when you were saying the community, you compared it to Vim and VS Code, which is to think of it really as an IDE kind of thing.

Sacha: That's usually what people talk about, right? Because usually when people are thinking, how popular is this, they're stacking it up against developer tools because those are the surveys that the development websites do. Stack Overflow or State of Clojure or whatever. They'll ask people, “What editor do you use?” But given Emacs' surprising popularity among people who are, for example, diagnosed with ADHD and find that Org Mode is the only way they can manage their brains…

Matei: Is that a thing? That's really interesting.

Sacha: In a number of Reddit threads that I've seen, people are like, yeah, I'm not a programmer, but Org Mode is the only way that I've figured out how to manage my brain. Or people will come to Emacs from something else specifically for Org Mode because of the way that it can help them manage their tasks or agenda, because they can sculpt it to fit what their specific workflow could be. It's amazing. Of course, we've got the writers and the researchers who are like, "I love publishing beautifully typeset things, but I don't like working with LaTeX all that much, so let me just figure out the template once."

Matei: Yeah, totally. I really came to Emacs because I was looking for an outliner. I'd been writing in Markdown for a while. I was really getting sick of the heavy Word stuff. And I was, like, Org Mode, omg, it's amazing! Then from there, I was bitten.

Do you have any frustrations with Emacs?

Matei:

Do you have any frustrations with Emacs?

Sacha: I would like to have more time in the day to fiddle with things. In terms of the balance between fiddling with my config and doing the thing that I want to do, if I sandwich it so that I do my 5 to 15 minutes of Emacs fiddling at the start, then I'm motivated to go through the task because I want to test that my improvement works. Then it becomes a good balance for me. I don't spend all the time feeling like I'm yak shaving, and I don't spend the time struggling with workflow because I didn't take the time to automate it.

Sacha: I would like to have more time, because I always come up with more ideas in the middle of something. "I know this is possible. I just have to sit down and do it, and it'll be great. But okay, I have to wait till my next 5 to 15 minute window where I can fiddle with it again." The other thing that I've been trying to figure out is: how do you help people develop that intuition for how to do things, how to make Emacs do things? We see a lot of people come into the community. They might get stuck on some things. The tutorial is very useful, but it can be overwhelming. The whole Emacs thing can be very overwhelming for people. How you help people get through that part is something that's of great interest to me. Bringing it back to AI and large language models, the fact that people can sometimes have a conversation with this endlessly patient tutor where they might be too embarrassed to ask their questions on a mailing list or a forum, I think that's fantastic. But also, going to your manifesto's points about learning by doing and education and the eureka moment, we also don't want this quick and easy help to rob people of the understanding that they get from looking at it and tweaking the code or learning how to read through the source code themselves. There's just so much there that I would hate for people to just get stuck in the “please generate this code for me" level rather than be able to learn this is how I start learning from other people's source code so that I can come up with more ideas.

Matei: That's right. That's also what I think basically. Here's an interesting question.

Would you ever leave Emacs?

Matei:

Would you ever leave Emacs?

Sacha: I cannot imagine an editor at the moment that would let me get away with nearly half of the things that I do, but maybe even less. Right now, I've got so many odd little customizations for it. For example, on my phone, I'll use Orgzly Revived to capture a quick note so that I can go back into Emacs later and do it. But even though I'm comfortable programming in JavaScript and Python, and there are lots of tools available there, the interactive interface part of things is something that I don't see any other program give me the same kind of platform of support or building blocks to play with. Who knows? If some day, this thing manages to support all of my hacks built on hacks and gives me that same kind of feedback loop, but it's also multithreaded and graphical and whatever, I might give it a try. But at the moment since I can get away with so much in Emacs and I know that people behind the scenes are working on adding even more to it, it's okay, long term. It's been around for 40 years. It'll be around for... Probably it'll outlive me. I don't have to worry too much about giving up on it.

How important for you is the free software bit of Emacs?

Matei:

How important for you is the free software bit of Emacs?

I was on Mac when I got into Emacs. I went to GNU Emacs to download it and it said, we made this available to people on proprietary systems in order to teach you to free yourself. I was like, huh? I downloaded it and I'm now running Arch Linux. It definitely worked. Richard Stallman has downloaded himself into my brain. How much is the free software bit of it important to you in using Emacs?

Sacha: I'm not a purist. I will happily be the interface using the non-free things. For example, when we were doing EmacsConf, the first few years before Whisper was around, I was the one doing like, okay, fine, YouTube has this subtitling thing that we can grab the stuff from. Yeah, it's a non-free service, but I will happily take advantage of it in order to make the information more free, and things like that. I use both free and non-free things, but I love the single-minded focus that a lot of people have on freedom and making sure that other people enjoy these rights. For example, in the Emacs community, a surprising number refuse to use JavaScript because a lot of JavaScript is non-free software. I want to make sure that my website still makes sense without JavaScript. EmacsConf, there are ways to participate even participate even without JavaScript. You can use MPV to watch the stream. It's all free software. You can use IRC to chat. All that stuff is very important to people, and that's great. I love the fact that for a lot of people, they really care about making sure other people can continue to enjoy these freedoms to modify things and to build on it. Every so often someone comes into the Emacs community and they're like, oh yeah, I want to make money making packages here. I'm going to put my package behind a paywall. You've got to send me a donation in order to use it. Then they get smacked down so hard. Usually the way it works is someone will then, you know, take a look at their README and say, okay, that looks vibe-coded. I can do it faster and I'll do it for free. That's the usual response to this stuff. Yeah, here's the thing that you're trying to sell, but it's free.

Matei: So that never works. I was struck by this. It seems to be so absolutely immune to takeover by proprietary stuff.

Sacha: I mean, it's a startup hustle mentality in other communities, but in Emacs, it does not fly. Mostly because people are, like, are, like, I know the tools you're using, I can do that better myself. There are people who do get sustained by donations from Emacs community members, but it generally is more of a "I appreciate your work and I will send you this voluntary donation" instead of your paywalling your stuff behind this thing, which feels very much against the ethos of the Emacs community. It's been interesting to see the AI hustle "software as a service or product type" thing try to infiltrate the Emacs community, and they are having none of it.

Matei: Interesting. Why do you think it's so resilient to that?

Sacha: Because we've had such a long tradition of sharing things for free, building on top of things that people have freely shared: not just like free as in beer, but free as in you've got the source code, you've got all the rights to do whatever you want with it, including for free. That's baked into the community. Any time someone comes in and tries to say, oh yeah, I've got this commercial packaging of Emacs, it's all rights reserved, people are like, yeah, there's probably a GPL violation right there, so let's go.

Matei: Cool.

How do you explain your passion for Emacs to non-Emacs users?

Matei: How do you explain your passion for Emacs to non-Emacs users?

Sacha: I don't usually. I love the fact that I can tinker with it, right? If it clicks for people, it clicks. But if it doesn't click for people and they don't necessarily want or need that, then it's okay for them to use something else. I love the fact that people are using or even shifting to other editors. For example, we've had a couple of people announce that they're leaving Emacs recently because vibe coding has made it possible for them to build native applications and they don't have to build it on top of Emacs anymore. They can finally get their Vim config set up the way that they wanted to because the LLM can generate that stuff for them. Whereas in Emacs, it would have been a lot easier to write it themselves, but now they can do it with VS Code or whatever. It's great because the more people are experimenting with interesting ideas, even outside Emacs, the more we get to steal those ideas and then bring them back. You see a lot of this sometimes. You see people re-implementing cool ideas from other editors or other tools. To me, it's totally okay if other people use something else, especially if they tell me the cool stuff that they think only that editor can do. Because I'm like, that sounds like an interesting feature. Do tell me more. There was an interesting talk by Jeremy Friesen in either last EmacsConf or the one before that, about mentoring and how he's no longer trying to push people to use Emacs. He wants to share the general workflow practices he's using. If he's pair programming

Sacha: with someone, he might say, how do you jump to a specific function definition? They might show him something, or they might realize that's a thing. I can go look in my editor how to do that. He might show, this is how I do it. That's the general idea. Sometimes when people start talking workflow, then talking workflow, then talking workflow, then people who are not using Emacs will go, "That looks really cool. How do I do that?" Then that?" Then you send them down the path of: get it installed, go through the tutorial, that sort of stuff. But it always helps to have that specific reason, the thing that they want to be able to do. For me, for example, I love the way that Org Mode lets me have my notes and the code and the links. It's all one big thing. I don't have to think about, oh, okay, I have to do everything in Python because that's what Jupyter does. I can do some of it in Emacs Lisp, and I can do some of it in shell scripts, and I can do some of it in JavaScript or Python. It's like all this big mess Org Babel kind of thing. Yeah, because your brain might not be in tune with all those different languages, but it works for me. If other people see that and they say, I want to do that too, then that's when you help them get into Emacs. But aside from that, I don't talk to people in elevators and say, have you heard the good news?

Matei: I was wondering even more broadly than kind of people who are already coding with a different editor. To tell you a story... My cousin is also an anthropologist. He's an anthropologist in France. I've known for years that he was into Linux and free software and stuff. When I got into Emacs, he said, you know I've been doing Emacs for 10 years. I was like, what? How? What? And he'd never told me. I realize now, having been doing Emacs for four years, I can't talk to my colleagues and friends about it because they look over my shoulder and it's like, what are you doing? This looks like it's from the 1980s. Even trying to explain to people what Emacs is... I don't mean coders, I just mean people. My cousin said, yeah, I talk to people about free software all the time. I've never talked to anyone about Emacs. It's just so weird.

Sacha: I think that's why the community is so important, right? I aggregate a lot of blogs on Planet Emacslife so people can bump into each other. There are a lot of meetups, some of which we host on BigBlueButton... There are meetups, by the way. If you check under Emacs News, there's actually a very active London meetup.

Matei: I haven't yet.

To what extent do people meet in person with Emacs?

Matei: To what extent do people meet in person with Emacs?

Sacha: Apparently, a lot of people meet in person whenever they're lucky enough to get a sense that there are actually other people in their general geographic location who are interested in this. But there are also a lot of people who meet online. Org Meetup has a meetup every month that has about 20 people in it.

Sacha: Emacs Berlin has a meetup that's hybrid, and so it's both in person and online. There's Emacs Asia Pacific. There's a whole list of meetups in Emacs News, which is that newsletter that I do every week. I list upcoming events, and there's also a link there to the calendar as well as to the user groups page which lists by region. There are a lot of people getting together about Emacs because a lot of times, you learn about Emacs by looking over someone's shoulder, physical or virtual, right? This is how you learn about things that you would not have even thought of asking an AI about. They're doing a demonstration or they're doing a video, and you're like, what is that thing that you just did? They had no plans to talk about it because it's just something they take for granted. It's a keyword shortcut or a command. It's just part of the workflow. They don't think about it anymore. Or it's even as simple as "What's that theme? What's that font?" Because people can see it, can see somebody doing stuff with Emacs, they get inspired to learn more and to adopt that into their workflow. That is one of the things that I love about how people learn Emacs. It's very convivial, right?

Matei: Yeah.

Learning in public

Matei: You said the phrase earlier: learning in public. In one sense, that sounds scary. Learning in public, making mistakes in public and stuff. You said it as a really good thing. Tell me more about learning in public.

Sacha: My favorite kinds of blog posts is

Sacha: when I'm proud of myself for figuring out something clever. Like, okay, here's this function function to do this thing. I had to figure it out. It was hard. It took like a day or two to do it. Then someone comes by in the comments and says, oh yeah, that's built in.

Matei: Yeah, I've been there.

Sacha: "You just change this variable." It happens so often. The reason is because Emacs is so big, right? There are variables and functions that I would not think of coming across. Maybe I'm not using the right words to search for them, or whatever. If you add to that the entire package ecosystem and as well as the things that are not people's packaged code, snippets in people's config and whatnot... Chances are someone has come across the same problem that I'm thinking about and has come up with a more elegant solution for it. If I'm not using the same words, I might not find it. One of the things that I like about large language models is that even if I use my words, sometimes it will suggest something that does that translation, right? It's an approximate search. But even if I don't have that, if I'm writing about something, then I have that opportunity for somebody to say, oh yeah, you should check this out. Or several years later, someone might also say, that is exactly what I was trying to do. I'm taking your code. I've built something on top of it to make it even better. For me, writing about what I'm learning

Sacha: with Emacs is a great way to learn even more from the community. I keep trying to convince people, yes, please, even if you're a beginner, write about what you're learning, because it's a great way to crystallize that knowledge for yourself, become part of the community and part of the conversations, and learn about things that you would not have thought of asking about.

Matei: Well, I'm following your example. I'm trying to write my config in Org Babel at the moment, partly as a way to say, wait a minute, what is this thing? How does it work? It's so useful. But one thing I was wondering, and it's partly also just a practical question,

Disclaimers

Matei: I've never tried to contribute or to post

Matei: anything on anything, partly because I worry that my stuff is crap.

Sacha: If you put a disclaimer, that way they know they're reading it for the idea, but not necessarily the Emacs Lisp style. That's fine with me too. There are a lot of people who are like, you know, it's got too many emojis in it, I'm not going to read that. I'm going to focus my time reading something else that's been handcrafted and all that stuff. That's fine too. There's room for all sorts of people and all sorts of approaches to this. Sometimes even just the idea of something is already valuable, that somebody thought of saying, hey, my workflow would be better if it could just do this. If there's a screenshot, even better, right? You can see how it works. Screenshot or video or animated GIF. Because then they can go and write the code that they would have to do anyway. Because of course, they've got their own personalized setup. You know, the code that you write will not mesh perfectly with their particular setup. There's this whole… There's this Lisp curse essay that's sort of related to…

Matei: I was going to ask you about that.

Sacha: We've all got our ecosystems of our own code and absorbing something into it is sometimes hard. But if you start with even just the idea that somebody else has written about, whether or not you take their actual code for it or use their code as a building block, that is already useful and interesting. Again, you don't have to be Bozhidar Batsov or Omar Antolin to be able to contribute at that level. Even at the beginner level, you could just be like, I just need to do this thing and it's driving me crazy to do it manually all the time. Then I'm like, you can do that non-manually? Oh yeah, we should do that.

Matei: Cool. Just to come back to the question about talking to other people about Emacs, do you ever talk to people who are not programmers?

Do you ever talk to family and friends about Emacs?

Matei: Do you ever talk to family and friends about Emacs? Do you ever have to explain what this thing is that you're doing or do you just not?

Sacha: Well, my kiddo is 10, and she's like, can you set me up a kid Emacs? Because she sees me like... Yes! Clearly something of great interest to me. I said, maybe. She does a little bit of vibe coding with Claude as she generates interactive stories. She was trying to track down a syntax error at some point. I was like, can I just install Emacs on your computer so I can do... And she said no. My husband uses Vim.

Sacha: Although he did get very interested in Org Mode at some point, so he found the appropriate Vim plug-in for it. That was amusing. I don't talk to people about editor choices. I just do the stuff that I do. When I write about it, sometimes people will come across it, again, coming from completely different backgrounds. They'll be like, oh yeah, I also need to edit transcripts. What is this Emacs thing? And I'm like, well, it's a very long road, but it's a lot of fun and it's worth it. If you do want to get into it, here's some ways to get started. I don't know. But you can look at the videos first to see whether it might be something that resonates with you.

Matei: Yeah. No, I'm the same. I'm very cautious. I've seen that. The learning curve thing is so cool. My kids are like, your computer used to be so pretty when it was a Mac and now it just looks really ugly. I'm like, oh, if you knew. It's so much more beautiful now, but never mind. Cool. We've talked a lot about AI actually already.

Do you ever use AI in chatbots for anything else?

Matei: Do you ever use AI in chatbots for anything else?

Sacha: Well, I'm learning French at the moment. In this case, the kind of the regression to the mean that AI does is very useful for me because I need to know, what is the common word choice here? How do I get the grammar to do the thing? I don't really want to spend an hour of a relatively expensive tutor's time picking apart my subject-verb agreement or my nouns agreeing in plurality with the verbs and stuff like that. It's reasonably acceptable to use large language models for language feedback. That makes sense. In terms of coding, I'm not there yet. Quite a few people are very enthusiastic about it. Even in Emacs, some people are like, "I don't write my code anymore. I just vibe the whole thing." I love the way that it gets a lot of people to make things that they would not otherwise have the time or effort or experience to do, but on the other hand also, it hallucinates a lot of things. It gets me excited: oh there's a variable or function specifically for this? No! It doesn't exist. I can make it exist, so it's a little less frustrating for me, because I can say, you know, that does make sense. I can write that. I can fill in the blanks for it. But 9 times out of 10, I'll be like, no, no, go back and do the proper search. One out of 10 times, it'll tell me, oh yeah, there is this function and it will exist, exist, then I'm like, okay, great, I want to use that, because I wouldn't have otherwise come across it. But I cannot use it to generate a lot of code because I get this urge to just rewrite things to fit the way I want. I just use it like… it suggests ideas. It acts kind of like a search engine that gets things wrong most of the time. I'll just take the interesting parts of that and do it myself. Aside from that, I haven't really dug into it to the extent that other people have. I am happy to take a step back and see how this all shakes out because with the shake-up in pricing and all the externalized costs that are slowly being factored in, I'm not going to build a house of cards on it.

Matei: Yeah, that's very wise, I think. How do you feel about the fact that these models have been trained on all these free conversations? They just suck up all this stuff that people have been doing for 40 years. Is that a problem in and of itself?

Sacha: It's interesting in the particular case of Emacs. As I mentioned, the vast majority of Emacs Lisp is released under either the GPL or the MIT license or even public domain because people in Emacs really care about sharing stuff and they want other people to do it. It's not like, oh, we've got this proprietary code and it's been stolen away from us, it's us, it's not available for other people. The fact that we're treating AI-generated code as non-copyrightable, it's okay that it's sort of out there. It would be nice to be able to say, hey, this stuff is GPL, so if you're going to build on it, please share it under the same licenses. But in terms of the way that many people use it for personal configuration and learning, I'm okay with that. I know that other people in the community have stronger stances, and that's also okay. Because there's no attribution, there's no link back to the person. The licensing doesn't require [lots of] attribution. You don't have to say, oh yeah, this config was inspired by these people and at these links. You don't have to do that, but it would be nice to be able to follow those links back to the people. That would be nice. The ability for more people to learn from this stuff is good. If we can encourage them to share what they're figuring out with other people, that's also good.

Matei: So is the problem less about kind of taking intellectual property and more about

Not breaking connections to people

Matei: breaking connections to people or like breaking these traceable connections to other people in the community?

Sacha: That's the part that I'm interested in and care about, because I feel the community experience of Emacs is very interesting. All the other stuff, there are people who are far smarter than me and have focused on... This is above my pay grade, right? Actually working out intellectual property, what that means. A lot of people think about copyright and copyleft and that stuff. I will leave that to them to sort all of the ethics after that one. I just care about making sure people can feel like they're learning, feel like they're welcome, and can find the ways forward both with assistance of large language models if they want to, but also connecting with real people who they can learn from too.

Matei: Yeah, super. I think that's sort of the questions I had, really. I'm sure I'm going to have a million other questions. I might email you back about this. Did you have any questions for me?

Education and ethics and eureka

Sacha: I love now knowing that you were writing your manifesto with that experience of being an Emacs user in mind, because the way that the education and ethics and eureka was like, that actually lines up precisely with the Emacs community and what it's like and what we care about. I would love to explore this in future conversations and see how we can help people navigate this time. There's a lot of froth about AI, and the business world is losing their heads over this collectively. The programmers in industry either find it useful but also, in general, seem to have a fairly worse experience. This is not where we should be using this. This is not how this is supposed to be turning out. It should not be leading to more unhappiness, but it is. It would be interesting to sort out both in the society level, but also in the individual level, as people make their own choices about what to use and how much to use it for, and also the impact, even if they're not making those choices themselves. I think the general sense now, for at least Emacs and Org Mode, is "we're not going to accept LLM-generated contributions because we've got to have a person who can stand behind the code." We so far have been safe from the inundation of generated pull requests that are plaguing other open source projects. It's definitely something to watch out for. But there is some tension. People are proud of their vibe-coded projects, but on the other hand, people are like, well, it takes 5 minutes or 15 minutes to generate this, and because it's not really maintainable, people will lose interest in it after their 15 minutes of fame on Reddit with their nice screenshots and all that. It's not going to keep moving forward.

Matei: Is that kind of like a… version of the Curse of Lisp written large? Everyone's just going to write their own programs at home and no one's going to be talking to each other anymore.

Sacha: It is very similar to that. that. It can be a problem. It can be an opportunity. It's not one or the other yet. We're figuring out as a community and as individuals how to navigate this. We have this long history of people not actually being able to adopt to adopt someone else's code off the shelf. It's amazing when someone actually puts together a package that can cut across a large variety of use cases. It takes a lot of work to get there, but things like Magit and Org Mode, how do these things happen? Yeah, it's fantastic. I love the fact that we can look at things

Sacha: like consult and vertico... The fact that they can work for a lot of people is amazing. It's actually pretty rare in the Emacs community. But for the most part, we are in our little fiefdoms and we have to make an effort to do that kind of connection. Whether or not the other person is using vibe-coded code doesn't matter that much. There's still that barrier. Higher barrier if you're dealing with vibe code because they don't understand it and you don't understand it and the code is hard to read. The ideas can be transmitted over blog posts and videos. But at the same time, the fact that more people like you can use this to start to experience the power of Emacs, the customizability of it, and can then go on to imagine, hey, is this what software could be? Can it be personal? Can it be malleable? Can I say, "No company is going to anticipate this particular need, but I can make it for myself."? I think that's really worth it. If the tools will help us get there, and if we can find our own balance of ethics that are okay with this... Some people might say, no, definitely not for me, even if it gives me the power. Some people were like, I just want to get this stuff working. That's cool, too. We get to see how that all works out.

Matei: It's interesting. I've written this paper for which I gave a talk in Oxford a couple of weeks ago about this, really for anthropologists. It's anthropologists. It's very interesting that a lot of the things we were talking about today, I thought that might be the case on some of these things. It's partly thinking about the way in which AI, ChatGPT, whatever, kind of interferes, becomes like a broker between the community and the individual. So the good side of it is that you're never going to be told to go and read the manual, right? It's always going to say, "Yeah, sure, that's great." But the bad thing is, you're never going to go and read the manual. That's the problem, right? But what I said at the end of it and I don't know whether this resonates at all, but I said now that I'm becoming aware that this is a problem, the paradox that I got into Emacs for the community and yet, in a way, I'm being moved away from the community. Increasingly, now, I will ask not "write this code for me" but "explain to me why this code doesn't work" or "explain to me why my problem could be done differently," and even more than that, not even "explain to me this" but "suggest to me how I could post this on a forum." I'm a bit worried about posting on a forum in case someone turns around and says, that's stupid. Claude or someone can say, if you write it like that, some people might find it interesting. Does that feel like a different kind of use of AI maybe?

Sacha: It does, and I encourage the more reflective use of it. For example, you might say, instead of generating this code, you might say, can you help me figure out what it is that I actually want to have in my workflow? Can you ask me questions to help me figure out how to do this or how to break it down into smaller tasks? Then that might be a more useful way of doing it. Sometimes people respond better when something is asking them questions. That is possibly an interesting use of AI.

Matei: Amazing. Sacha, thank you so much for your time.

Future conversations

Matei: Having had this conversation, do you think there's matter here for some kind of live stream or something, maybe with other people who want to talk about this stuff?

Sacha: In fact, if you wanted to take this recording and plop it somewhere public, I am totally fine with that. Learning out loud is how we have these conversations grow, right? The conversation is like this brain dump of ideas, and if we want to start unpacking those ideas and exploring them through all the multifaceted perspectives that we have in the Emacs community, other anthropologists or people who are interested in the philosophy of it, there's people who have so much deep experience in things that I have no idea. I would love for them to be able to say, let's take this facet of this conversation and build on it and explore that one. I am totally okay with both sharing this conversation, if you want to, as well as having other conversations that other people might be able to ripple out from.

Matei: Fantastic. I mentioned to Protesilaos that we're going to have this chat, and he said, you know, if you want to at some point organize a discussion over this kind of stuff, he'd be very happy to be involved.

Sacha: I've been experimenting with making myself ask people for help. Prot has coaching sessions. If our schedules can line up, then I can schedule a three-way conversation. It can be live and we can build on the ideas that you might have or follow-up questions that you might have, and then we can see if other people do as well. So that could be good. I'm looking forward to hearing about your insights. I would love to see where this goes. I think the Emacs community is definitely worth studying. I think that there are insights here that you might not otherwise come across in more specialized, more focused... Like, just developers or whatever, or more focused on closed source. There's something interesting about this mix of Emacs and AI and plain text and all that stuff. I would love to see where this goes.

Matei: Amazing. Thank you very much.

Sacha: All right. Bye.

Matei: Bye.

If you want to chat about Emacs and AI, you can e-mail Matei or check out Matei Candea | Anthropology.

View Org source for this post

Emacs Carnival May 2026 wrap-up: "May I recommend..."

| emacs, community

: Thanks to everyone who participated! I've included the links below.

It's May and I like puns, so I'm going to suggest "May I recommend…" as our Emacs Carnival theme this month, building on lively conversations about people's favourite packages on lobste.rs, Reddit, and Hacker News. Let's go beyond packages and talk workflows, tips, practices, perspectives… whatever you'd recommend!

It was pretty nice having a wiki page that people could edit without needing to wait for me, so if you write about this topic, feel free to edit the wiki page and add your link. If you run into problems doing that, please e-mail me and I can add the link for you.

People have already started sharing their recommendations:

(Still got ideas, just a bit late? Let me know and I can add it here as well as to Emacs News!)

View Org source for this post

2026-06-01 Emacs news

| emacs, emacs-news

There were 17 posts in the in the May carnival topic "May I recommend", very cool! Looking for something to write about next? Check out the June theme Underappreciated Emacs Built-ins hosted by Ross A. Baker.

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 18 au 24 mai

| french

lundi 18

Je me suis réveillée très tôt pour interroger ma sœur qui est très malade d'un cancer. Nous voulons enregistrer des vidéos pour ses jeunes filles et son mari. Sa fille aînée a commencé à l'interviewer, mais bien sûr, il y a des sujets dont elles ne peuvent peut-être pas parler pour le moment. Je l'ai appelée sur Facebook Messenger et j'ai utilisé OBS pour enregistrer l'appel. J'ai un flux de travail pour corriger et formater la transcription, et je suis ravie de l'utiliser pour ma famille.

Il faisait très chaud. C'était notre première vague de chaleur intense cette année. J'ai emmené ma fille au parc Amos Waites pour jouer à la pataugeoire là-bas. Elle a vraiment aimé la robe-maillot que nous avons cousue. Elle adorait tourner dans le siège pivotant que notre parc à proximité n'a pas. Elle a tellement joué qu'elle s'est endormie sur le chemin du retour.

Après le dîner, ma fille et moi sommes allées à un autre parc pour regarder des feux d'artifice pour la fête de la Reine. Il y avait beaucoup de gens, donc je pense que c'était un rassemblement habituel pour les jours de fête où les feux d'artifice sont autorisés.

J'ai terminé la révision de la transcription de ma conversation avec Prot et Philip. Je pense que l'audio de Philip est parfois trop faible, mais je ne suis pas sûre de pouvoir normaliser juste ces segments. Si j'ai une conversation avec un autre locuteur, je peux enregistrer les flux audio séparément, mais dans une conversation entre trois locuteurs (Prot, Philip et moi), je ne peux pas complètement les séparer. En plus, je pense que je ne peux pas remplacer juste l'audio d'une vidéo en diffusion sur YouTube. Peut-être que je peux mettre en ligne une nouvelle vidéo et changer l'ancienne vidéo en une vidéo non répertoriée.

À l'heure du coucher, ma fille et moi avons parlé de la neurodivergence, des mathématiques, et des facteurs humains comme les limitations de la boucle auditive comparée à la visualisation. J'adore lui parler de son cerveau.

mardi 19

J'ai essayé de virer de l'argent aux Philippines via Wise. C'était réussi.

Je me suis entraînée aux virelangues. Oups, j'ai oublié de confirmer l'audio sur OBS, donc je ne peux pas l'analyser.

J'ai réécrit deux transcriptions pour les entretiens de ma sœur.

J'ai emmené ma fille au parc pour jouer avec ses amies. J'ai oublié les glaces à l'eau, donc je suis revenue à la maison pour les retrouver.

Nous avons pratiqué les permutations et la division posée.

mercredi 20

J'ai réécrit encore des transcriptions pour les entretiens de mes nièces avec ma sœur. J'ai configuré un serveur dans notre réseau pour les héberger avec l'authentification basique.

L'école avait un remplaçant aujourd'hui. Il a accidentellement éjecté tous les élèves de la salle de réunion virtuelle et tous ont dû attendre que l'enseignant corrige les permissions.

J'ai ajouté un gousset aux shorts de bain de ma fille.

J'ai emmené ma fille et son amie au parc pour jouer. Elles se sont amusées à me donner des décharges avec l'électricité statique. Après que les autres amies de ma fille sont arrivées, ma fille semblait un peu surstimulée. Elle est partie seule et elle était grincheuse pour le reste de la journée, pauvre chérie.

jeudi 21

J'ai discuté d'Emacs avec Raymond Zeitler sur une diffusion en direct. C'était la première fois que je lui parlais en vidéo même si nous correspondons depuis 18 ans via les commentaires sur mon blog.

Le dentiste a fait deux plombages. Il a proposé un plan de traitement, mais c'est cher, donc je veux bien y réfléchir avant de procéder. Je pense que je veux gagner en confiance avec ce dentiste d'abord. On dirait que la restauration précoce est mieux que d'attendre pour les dents cariées selon les recherches, donc c'est bon, mais on dirait aussi que d'autres dentistes recommandent d'autres niveaux de traitement. J'aime les précautions COVID que ce dentiste prend. Il y a d'autres dentistes (un peu loin) qui prennent aussi ce niveau de précautions, mais ils disent probablement la même recommandation (c'est la même recherche), donc je ne cherche pas particulièrement d'autre conseil. Je ne veux pas passer pour une vache à lait, tu sais?

vendredi 22

Je me suis réveillée tôt pour une conversation sur la communauté Emacs et l'IA avec Matei Candea, un anthropologue. Il pense à faire une étude ethnographique, et je pense que c'est potentiellement intéressant.

J'ai terminé la transcription de ma conversation avec Raymond Zeitler sur Emacs. J'ai remarqué que j'utilisais le mauvais horodatage pour publier les chapitres à partir de la transcription, donc j'ai corrigé l'erreur.

Ma fille n'a pas voulu participer à l'école parce qu'il y a eu un remplaçant, donc elle a fait une pause.

J'étais fatiguée, donc j'ai fait une sieste.

J'ai emmené ma fille au cours de rattrapage de gymnastique. Elle a pris plaisir à apprendre la gymnastique aérienne. Après le cours, ma fille a voulu aller au parc asperge (St. James Park) parce qu'il y a un grand toboggan. Elle s'est entraînée à descendre le toboggan à de nombreuses reprises. Après avoir fait ça, nous avons acheté du sushi. Elle a essayé la tempura de crevettes et elle l'a aimée.

samedi 23

Il a beaucoup plu et c'était très venteux, donc nous sommes restées à la maison au lieu d'aller à la célébration de printemps à la ferme Riverdale.

Ma fille et moi avons joué à Stardew Valley avec le mod Tileman Reworked, qui me demande d'acheter les tuiles auxquelles je veux accéder. J'aime parfois jouer à des jeux avec des limites comme Minecraft Skyblock parce que les limites focalisent l'attention et la progression est très différente. Ma fille préfère notre jeu précédent avec le mod Stardew Valley Expanded.

Pour le dîner, nous avons mangé du sotanghon, qui est une soupe aux nouilles et au poulet. Nous avons aussi essayé le taiyaki congelé. C'était pratique et acceptable, mais bien sûr le taiyaki chez Pat Mart est meilleur.

À l'heure du coucher, ma fille et moi avons discuté de la neurodivergence, de la double exceptionnalité, de l'apprentissage des élèves doués, de la différence entre la récupération d'information et de la synthèse. Nous avons aussi discuté de la faune, des maladies, des vaccins, et d'autres sujets.

dimanche 24

J'ai parlé avec mon mari du TDAH. Il pense que je suis juste préoccupée, et ce n'est pas grave. C'est bon. Je ne veux pas laisser ma vie être perturbée au point d'avoir des problèmes dans deux zones ou plus dans ma vie pour obtenir possiblement un diagnostic, ce qui ne m'aiderait probablement pas beaucoup plus. Quand même, je peux continuer d'explorer comment je peux m'adapter à mon cerveau et ma situation.

Ma fille et moi avons préparé du lait au sucre brun et aux perles boba faites à la main.

Mon mari, ma fille et moi sommes allés aux Stockyards pour faire des courses. Nous avons acheté une boîte de mangues, des perles boba, des haricots azuki, et d'autres aliments. Nous avons préparé une fournée de mochis aux haricots azuki.

J'ai recherché quelques dessins pour les transcriptions. Je pense que je veux inclure les noms des interlocuteurs dans la marge gauche et les horodatages dans la marge droite. Je veux aussi réécrire la transcription pour supprimer les mots de remplissage.

Pour le dîner, nous avons mangé du curry japonais.

Je me suis couchée tard parce que sur Stardew, j'ai finalement accédé à la caisse chez Pierre pour acheter des graines dans la troisième année. La progression est très lente. Heureusement, le mod HibernationRedux me permet de sauter le temps pendant que j'attendais la croissance des arbres.

View Org source for this post