๐Ÿก


to read (pdf)

  1. I don't want your PRs anymore
  2. JitterDropper | OALABS Research
  3. DomainTools Investigations | DPRK Malware Modularity: Diversity and Functional Specialization
  4. EXHIB: A Benchmark for Realistic and Diverse Evaluation of Function Similarity in the Wild
  5. Neobrutalism components - Start making neobrutalism layouts today

  1. May 17, 2026
    1. ๐Ÿ”— sacha chua :: living an awesome life YE29: Sacha, Prot, and Philip Kaludercic Talk Emacs: Newcomer Experience rss

      Philip Kaludercic wanted to continue the conversation from YE24: Sacha and Prot Talk Emacs - Newbies/Starter Kits. He's spent a lot of time thinking about this as one of the main contributors to newcomers-presets.

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

      Chapters

      • 0:06 Opening
      • 3:01 newcomers-presets user option theme; would be nice to explain what the changes are
      • 5:03 finding a balance between "it's fine the way it is" and "just use Doom Emacs"
      • 6:39 people value stability, but also conventions have shifted.
      • 6:53 ways Emacs does things differently: ex: terminal vs eshell, output is editable; new users want to edit the previous prompt; sometimes goes against people's intuitions
      • 9:23 How do people develop Emacs intuition? Immersion
      • 9:58 example: dabbrev, there's no undo? Ah, it's just the regular undo.
      • 11:03 newcomers presets: smooth over the intuition-disrupting things that are not actually necessary/beneficial; ex: enable whichkey
      • 14:35 newcomers-presets choice is not saved at the moment
      • 17:09 newcomers without much computing experience might even find it easier (no C-c expectations, C-v etc)
      • 18:32 Focus group?
      • 22:18 Emacs survey before
      • 22:50 people's backgrounds influence their responses
      • 23:49 Hypothetical: Reset themes, to reset things back to the defaults of a specific Emacs version
      • 24:22 package-autosuggest-mode suggests based on file extension
      • 27:58 Emacs 32: bundled versions of Emacs (Big Emacs - distributions that include more packages)
      • 29:58 Selection versus multiple completion
      • 34:41 Manuals
      • 35:11 More examples?
      • 36:24 find-user-init-file?
      • 38:40 Getting over the reverence for Emacs's history
      • 40:13 Changes are more likely to happen when someone puts in the work to make a patch
      • 44:06 Preserving Git history of packages absorbed into the core
      • 46:02 Dealing with multiple types of Emacs
      • 48:11 Fat Emacs is just about bundling more packages from ELPA, not changing the configuration for them
      • 51:24 Customize
      • 54:44 CUA - Common User Access
      • 55:04 ini file format? https://sdf.org/~pkal//blog/emacs/ini-init.html
      • 55:13 Emacs configuration generator
      • 55:56 INI-style configuration
      • 1:00:25 Quick summary
      • 1:02:29 Continuing with INI
      • 1:04:45 Motivation
      • 1:06:54 Politics and philosophy
      • 1:09:26 Experimenting with things outside core
      • 1:10:45 Extending the core
      • 1:11:55 Guide to contributing to ELPA
      • 1:13:13 Making the newcomer experience better
      • 1:14:33 "user option themes" versus "appearance themes"
      • 1:16:54 configuration generator in Emacs? maybe more wizards?
      • 1:17:04 Starter kits
      • 1:17:42 Configuration generator in Emacs Lisp?
      • 1:18:42 extending the archive format
      • 1:20:58 User interfaces

      Transcript

      Expand this to read the transcript

      0:00 Opening

      Sacha: I'm going to start recording. I'm going to do the thing. I'll let you know. Okay. Let's do this. Yeah.

      Prot: Yeah.

      Sacha: Yeah. Okay. Hang on a second. Starting, going live. Okay. So, hello, everyone. This is Yay Emacs 29. And today I am here with Prot and Philip Kaludercic. We're having this conversation about Emacs newcomer experience, which started off with an Emacs carnival last month about newbies and starter kits, which Cena started and you fleshed out with more questions. And now this is snowballing to, okay, let's figure out what we can do to make Emacs easier for newbies who are coming in, maybe they're non-developers who have heard good things about Org Mode, or maybe they're developers who want to try out what this Emacs thing is and what's all the fuss about having an editor that's been around for so long. Or maybe they're actually still VS Code or Vim fans, but they really just want to use Magit, so they're coming in just for that. A lot of different paths to coming into Emacs. We do have this live stream, so if people have questions, I will at some point figure out where the chat is on my screen so I can read them out to you. But my plan here is I'll just be in the background taking notes most of the time and interjecting with occasional questions. And maybe Philip and Prot, you can go brain dump all the wonderful things you've been thinking about the Emacs newcomer experience.

      Philip: At this point, regret not having written down any notes from the last video or from your last recording of YouTube, because I noticed I had a few things I wanted to add or intersperse. But I guess we can take a look at two things. So first one is the state of introducing people to Emacs now. And the question there is, who are we introducing Emacs to? Just like you said, you sketched out a few different profiles of people who presumably have entirely different Interests, motivations, like if someone wants to just use Magits like Emacs is there. It's the tool, it's the GUI that implements Magit, then these people have an entirely different motivation than someone who actually says, well, I'm coming at it from, I heard it's an interesting tool for free software development. Build your own or like understand free software in a different sense where you can actually do find function and open the definition of the function you just use. And I think malleable is the current catch word that people like to use in that context. So there's some issue in that sense.

      2:59 newcomers-presets user option theme; would be nice to explain what the changes are

      Philip: And then the specific comment from the last discussion which caught my attention was We were talking about Emacs 31, there's this preset theme, the newcomers-presets theme, which is implemented as a user option theme, or that's how I like to refer to it. And I probably should just briefly stop and say that everything I'm saying is from my own perspective. I don't feel comfortable saying that this is the Emacs level perspective or that any other of the Emacs developers necessarily have to agree with me. I just think that I might have a few things.

      Prot: Sorry, I lost your audio. Just to say I lost your audio, Philip. Excuse me. Sorry, I lost your audio for a second. You could hear it fine. I will hear it in the recording.

      Sacha: Okay, so basically, you can repeat it, I guess. Go ahead.

      Philip: What did I say? So you were saying that... I'm not representing emacs-devel. These are my views which are informed by the discussions that we had in emacs-devel that I hope will be represented. I think I'm the maintainer of the preset theme, but of course other people are also contributing to it and adding other options. Specific points I had like the target audience of the preset theme was not people who would be particularly interested. What the options are. I think that was a discussion point last time. I admit it's a technical deficiency currently. There's no pretty way. I think it would be nice if we extended describe theme to actually list the options that are modified with hyperlinks so that you could look into these options. That's currently not there. We didn't add it in time for the feature cut for Emacs 31, but I think for Emacs 32 that's going to be an interesting Feature to have at some point.

      5:00 finding a balance between "it's fine the way it is" and "just use Doom Emacs"

      Philip: And actually the idea had been floating around I think like every time there was like there's a periodic, periodical discussions like how should we make Emacs more user-friendly on Emacs level and people say we have to like say the extremist position is what do you mean not user-friendly. It's perfect the way it is. It's God-given configuration. And the other people who say, well, why don't we just install Doom Emacs and make that the default then? Somewhere in between, I think there is a reasonable position to be had. But in these discussions, one of the reasons this came... I participated maybe in like... Four or five of them and then this point came up. Why don't we have a theme like a collection of user options which you can toggle in one switch which enable all the options from which we would not find which existing users would not find interesting which are always the bulk of the users most people are already existing users they don't come in and one of the things are lots of existing users I'm thinking of like A 60-year-old professor who has been using Emacs for 30 years or a software engineer who's using it and maybe consciously or unconsciously appreciates the fact that it doesn't change every few years. You don't have a graphic designer. This is, of course, me against graphic designers and UI designers who have a need to reinvent the UI interface every few years and then things change. And how do I save now? What's the... What's the button to do this? And the UI changes.

      6:37 people value stability, but also conventions have shifted.

      Philip: The people who value the stability. But of course, the common conventions have grown apart. What Emacs does and what people are used to from other programs.

      6:50 ways Emacs does things differently: ex: terminal vs eshell, output is editable; new users want to edit the previous prompt; sometimes goes against people's intuitions

      Philip: Now, at this point, we also have to distinguish that there are things which Emacs doesn't do the way other programs do, which are... Which I would argue are actually sensible. For example, I think one issue I remember was when I first started using Emacs, I had a terminal emulator. I wanted to have a terminal emulator within Emacs. Nowadays I use Emacs Shell, which to me seems like a more truer Emacs experience. It's an opinion, a strong opinion maybe. And it's also influenced by a history of using Plan 9 and that kind of terminal where actually the output is just as editable. You can just search it. You can edit it. You can cut it. You can interact with the output any way you would use a normal text, which is not something you can do with a terminal for purely historical reasons. At my university, the university where I studied computer science, I frequently helped people in the introductory Linux course. One thing you notice there, these are real newcomers. These are people who have never used Linux or a terminal or anything like that before. The first thing they do when they want to, like, they use the arrow keys expecting or click on, they use the mouse and click on the previous prompt. And they want to modify the previous prompt. Of course, that doesn't work because that's not how terminal emulators work. All the previous output, that's fixed. You don't touch that anymore. Everyone, I guess even people who we describe as newcomers, Talking about Emacs. Obviously, no. Of course you don't touch the previous prompt in the terminal. These are some expectations you have if you use Eclipse, if you use VS Code, if you use... I'm not sure how the NeoVim terminal emulator works. I know they have a built-in one. I think Vim also, but I'm guessing right now. So there are some accumulated intuitions which Emacs actually intentionally doesn't want to give. doesn't want to give in all purposes because I'd argue that one of the strengths of Emacs is really having this uniform text interface where I can use I search, I can use occur, I can use the highlighting commands, I can just select a region and write it out to a buffer. And stuff like that. That shell buffer is no different than anything else in that respect. Please interrupt me by the way. This is not supposed to be a monologue.

      Prot: No, no, no. Go ahead.

      Sacha: So it sounds like there's an interesting challenge here.

      Philip: Breaking some of these intuitions is legitimate.

      Sacha: Yeah.

      9:21 How do people develop Emacs intuition? Immersion

      Sacha: How do we help people develop the Emacs intuitions?

      Philip: To some degree, it really feels like it has to be something that you immerse yourself in. The issue, I guess, is, well, I know, I mean, I knew people who actually used Emacs. I mean, you can help them in a face-to-face setting or like Prot does in his teaching settings. Then you communicate certain things, which I don't want to say they're ineffable. It's not like you couldn't write them down in a manual, but it's also... Like the mentality that people have.

      9:55 example: dabbrev, there's no undo? Ah, it's just the regular undo.

      Philip: A different example I have, like, I remember I was using daabrev for the first time or something. For a while I was irritated. There was no undo. Like, how do I go back to the previous text expansion? Until at some point I realized, oh wait, it's just regular undo. That's just the way you undo it. But somehow writing this down in a manual is... It's not an easy thing to always think of these things. For me it seems obvious now, but at that point I specifically remember it was unintuitive. I had this accumulated expectation from other programmers if I have a text expansion in this case that I'm actually cycling through some special sort of menu, not thinking of it as just regular text buffer operations. Just text editing in some fancy way. But that's one We should keep in mind. This was all related to the preset theme in some way, right? You're writing this down.

      Sacha: Yes, I'm writing this down. That's why we have notes.

      11:00 newcomers presets: smooth over the intuition-disrupting things that are not actually necessary/beneficial; ex: enable whichkey

      Sacha: So what I'm thinking is you wanted the idea behind the newcomers presets is to kind of smooth over some of those intuition disrupting things where people are coming in with maybe expectations of how stuff should work in a modern editor.

      Philip: Specifically the intuition. Go ahead. Specifically the intuition-disrupting things which are not necessary, in some sense. Like, we wouldn't want to be an intuition disrupt... like you could probably... Like Cua mode or something that would be something where people if they would start using... If you would enable Cua-mode by default, that would inhibit further development, because then it might be confusing with using C-c, like if you... because suddenly Delay becomes a user input, which is usually not the case with Emacs. I know which-key is an exception in that case, because which-key pausing actually is an action and displays a pop-up buffer. And we do enable which-key due to popular requests and the preset theme. I personally was a bit hesitant about that one, but it seems to be something. where you have to really weigh it on a case-to-case basis. But, Sacha, do you have the... What version of Emacs do you have running there? I can't make it out.

      Sacha: Yeah, this is Emacs 31, so I do have... So you can open the preset theme, right? Yeah, yeah. Hang on a second. Let me bring up a... I have now a terminal, so I can... Let me bring up a completely fresh Emacs.

      Philip: No, I just wanted to open the file. Because in the file there is a prelude. There's a commentary section that actually explains the curve. It's not a library.

      Prot: That's exactly the joke with the... Yeah, that's part of the problem with those themes. That's the problem. Wait, really? It would be easier if they were all there. It's a kind of an implementation detail that from a user it doesn't really make a difference.

      Philip: You have the same problem with all these things, if I remember correctly. Yeah, yeah, exactly. Yeah, and you see up there the commentary section?

      Sacha: Yeah.

      Philip: If you scroll up a bit, it's above line 37. The theme configures which we can reasonably expect the average user to want to enable, but would otherwise be unlikely to discover on their own. That's sort of the overall guide of what options we want to add. That's why it's also an option on the splash screen. You just tick it and then the user options enablement theme should be activated by default.

      Sacha: That's sort of the idea. So it is available on the splash screen. So if I say display splash. Oh my goodness, how do I get to the splash screen?

      Prot: It's C-h C-a or not? I forgot. There are two things.

      Sacha: There's a splash screen and there's the... Hang on a second. I'm just going to start a new Emacs.

      Prot: Yeah, I haven't done that in, like, I don't know. That's the about Emacs screen. But you have a display splash screen. C-h C-a on mine. About Emacs. Emacs about Emacs.

      Sacha: Then I have a better idea. I'm going to start this new Emacs person. Okay, here we go. New Emacs. Fresh person.

      image from video 00:14:32.733Sacha: So we click on this, right? And it turns on a bunch of things including the tab bar.

      14:32 newcomers-presets choice is not saved at the moment

      Sacha: I wasn't entirely sure how people would save that so that it happens again next time. Is the idea that they just keep checking that box?

      Philip: That's not done currently. That's something we haven't simply decided on. The current presentation is you enable it in that mode and then you'd have to, which is of course saying it out loud makes it sound stupid, but you'd have to persistently save the themes. So then I think it's optional to save themes and then...

      image from video 00:15:14.000Sacha: It is possible for people to get to it if we leave them a breadcrumb. But it's not going to occur to them because it would never occur to them to say customize Emacs, custom themes, and then I can pick newcomers themes from here.

      Philip: It's a point that I at least intended to mention at some point. Emacs level whether we want to make this because currently it just loads the theme but it doesn't persist the choice but it could just as well persist the choice. There's a discussion to be had which of these two behaviors is more intuitive because of course if you persist the option then you have the disadvantage that someone might enable it but doesn't actually want it but now somehow their Emacs is broken from their perspective. I don't want tabs or whatever they say or I don't want which key and they don't know how to disable it so this is I wouldn't say it's an obvious decision in either direction.

      Prot: Like if there is an enable button or save, there should be a disable and unsave, like remove. Yeah, that's the checkbox idea in that case.

      Philip: That would be the tricky part. And especially finding the place on the splash screen so that this actually works for everyone. Because if you open it in a TUI mode, I think then initially, if I remember correctly, we had this button or this new to Emacs line was underneath the copyrights. No, no, that was a different thing.

      image from video 00:16:46.233Philip: If you click on newcomers preset, for example, then you are redirected to the manual entry. And I think we had some, yeah, there's this, the top line. If you got here by clicking the link on the splash screen, that was on the bottom. That was on the bottom of the manual entry. But if you open it up in an 80x24 terminal, you wouldn't see this line.

      Sacha: You can't see it and you don't know how to... These are the complications that you have to keep in mind in that case.

      Philip: You might not have the intuition to space the scroll, which I think that's the case in less. But yes, again, you have this accumulated intuition from using Unix tools. Which is one of the points I wanted to bring up.

      17:08 newcomers without much computing experience might even find it easier (no C-c expectations, C-v etc)

      Philip: Who is this mythical newcomer? What's their actual background? Because I claim, and this might be controversial, that if someone's actually new to using computers at all, which is something I have seen, like people who have never programmed, people who have never used Unix, people who have never used more than a web browser, to exaggerate, they appear to do fine with Emacs because they have no expectation of using C-c, C-v, C-c, and so on. They know that they have to use the buttons up there. So in that sense, they're fine. There's an optimization loop when you're used to these shortcuts and a few of these conventions how to move around, that Emacs defaults appear to be inconvenient. So that's also a distinction you have to make in that setting.

      Prot: Exactly, exactly. Plus you cannot optimize for everybody. Eventually you just have to make some assumptions.

      Philip: Exactly. But what these assumptions are is the controversial...

      Prot: I think the way you approached it makes sense. This is the reasonable way, I think, to do it. You have to assume that they have this background knowledge. And if they don't, it's what you said. They don't have to relearn something because they didn't know it to begin with. So they start from a good basis.

      18:30 Focus group?

      Sacha: Is there interest in having some kind of focus group or something like that so that if we come across newbies, we can say, hey, you know, the developers would like to be able to float some questions once in a while to see what actual newbies would think of this?

      Philip: I have actually tried this once. I was in a hacker... what's it called? There's this computer club in Germany and they have local events on a regular basis and I was going to one anyway because a few friends of mine were going there and then I did an introduction to Emacs course there and printed out a survey basically, a questionnaire for Emacs neophytes. I think if you search for that string on the Emacs development list, you're going to find that. And I gave a few people these texts. I printed it out. It was actually pieces of paper, so it wouldn't be personally identified. There wouldn't be any information there. And one of the things I thought was interesting in the results was that the main thing people were saying was it's overwhelming. Like the amount of things... Just the default Emacs. No configuration, no options, no auto-completion, no fido, whatever. It was just so many new things, so many differences that they lost an overview, basically. This was a group of people who, I think there were questions, and they were like, how long have you been using computers? Because, of course, it was so generic. What previous UIs have you had experience with? Most people use Eclipse or Vi, NeoVim and even reasonably complex Vim configurations. Of course, this is a bias due to the setting in which I was asking these questions. I'm actually planning to repeat this experiment because I'm going to another one of these congresses or these meetups in a month or so. I wanted to offer this again to people, specifically seeing if these newcomer presets are valuable or if they help people or not. But of course, doing this in a properly scientific setting would be much more difficult. Yeah, of course. We need money. Difficult steps of doing this.

      Sacha: Maybe even like a mailing list. We can say, hey, you know, you're new to Emacs, but you kind of want to make it better. Email this person. And every so often when developers have a question, they can say like, does this make sense to you? Here's a screenshot. Or would you prefer this versus this?

      Philip: As in, we would send an email to all the people, but then I think, I mean, the big question, difficulty in that sense is then data protection, I think. That's what I was trying to avoid with having this just printed out and no personal identification, because then we have to store email addresses.

      Sacha: Okay, all right. That's fine.

      Philip: That's fair. So, sounds like an excuse. Partially it is, but something like, I mean... I'm not saying that my approach, what I was doing was unbiased. There are people who would be more willing to answer these things and people who are less willing. I know the bias in this case because I actually saw the people and I had a feeling for what kind of people they were. So I think I'm in a better position to factor it out. But if it's actually properly, if you just have people who you send emails to

      22:15 Emacs survey before

      Philip: I'm not sure if it remains represented because there have been these Emacs surveys in the past. I remember at least two generations. And they're of course the ones which are circulated on Reddit, on Hacker News, on IRC, which I still think is a bubble of maybe 200 people. Like mainly 200 people and some people who are Surrounding these groups. So I'm always sort of dubious because these are the people.

      22:48 people's backgrounds influence their responses

      Philip: I mean, these are people who are much more likely to have heard of, what's it called, Evil Mode or something like that, or had some experience with other editors. And these things all influence their responses. always taints the results. Every time these discussions are brought up on Emacs devel, people have some level of doubts as to how reliable the results are.

      Prot: Correct, correct. It's hard to get reliable results, though some data is still better than nothing. But granted, you don't want to base decisions on those results, of course not.

      Philip: Yeah, that shouldn't be the last decision-making factor. You should just have a function where the input is whatever the data is, and then the output is mechanically determined by that. Yes?

      23:46 Hypothetical: Reset themes, to reset things back to the defaults of a specific Emacs version

      Philip: Now, related to the preset theme, there's also been a discussion (I don't think this has been mentioned much online) of so-called reset themes. I'm not sure if you've heard of these. So the idea would be, additionally to having preset themes of options, which we have changed, which we would recommend because the newcomer preset theme makes no real assumption that the options will be stable, so we might change them from version to version, this gives us some flexibility to say we have a new option. Like, for example, if the preset theme had existed since Emacs 29, and now in Emacs...

      24:22 package-autosuggest-mode suggests based on file extension

      Philip: That was actually the reason this entire discussion started when Emacs 31, that's the current release... to be released, there's this package-autosuggest-mode so that's a little prompt, when it's enabled, a little prompt in the mode line. You can click on it, Emacs installs the package which it believes to be the right one for the current file.

      Prot: The major mode, right?

      Philip: No, it's a minor mode. It's a global minor mode.

      Prot: No, no, I mean, but it installs based on the major mode, right?

      Philip: Ah, yes, yes, yes. It installs a major mode package, which matches the current file format being used based on auto-mode-alist or the magic, what's it called, magic file alist and all these things, and it can... We didn't want to enable this by default, but we wanted to enable it for newcomers. That was actually the first option in the newcomers preset. If the preset had been older, we would have still wanted to add this to the preset theme. It's not supposed to be set in stone. Now the idea with the reset theme is, and this is still hypothetical since we haven't implemented it, is to have reset themes for specific Emacs versions. So we, in Emacs 32, we might have an Emacs 31 reset theme for all the options that we have changed in Emacs 31, in Emacs 32, so that we could reset them to the previous option. So that in this sense too, if the discussion, if the question is really just, we don't want to annoy people who have... When upgrading, of course, it's still a minor inconvenience because they have to write load-theme emacs31-reset in their configuration, but it would be easier for them to actually undo any changes. And in future versions of Emacs, hopefully also persist these changes so that you can really sort of like pinning your version of Emacs, a soft pinning of options. So this is something for the future. Consider as well, which would be reusing the theme approach, which is another reason why I hope that the notion of user option themes will become more, because it's been there from the beginning. The Customize system has always supported user options to be added, but people have always only customized, not only... I'm not sure no one has ever done it, but it has not been a popular approach to use the user options, even though the technical facilities have been there all the time. That's also going to be interesting if the reset theme would be forwards compatible. But that's another discussion that makes it even more complicated. So that you could add them hypothetically to ELPA as a core package.

      Prot: Nice. Yeah. Of course, the reset themes, if you implement them, that's great because it opens up the possibility to be a little bit more ambitious with the defaults and break.

      Philip: Yeah. Because that's exactly... Every core... Every default discussion boils down to: if we break this, people won't understand what changed. If we change this, people won't understand what broke. But on the other side, people like all new... Can we reasonably assume that all new people would actually want this theme? Then we want to give us some sort of more flexibility in this sense without actually the support, because I think that the value proposition of having a stable interface where you can expect the appearance of the theme to be somewhat stable over time, how Emacs behaves, that's actually a positive thing.

      27:52 Emacs 32: bundled versions of Emacs (Big Emacs - distributions that include more packages)

      Philip: And finally, in Emacs 32, this is also a finally. For now, one thing I just thought of, which I was reminded of, there's a big plan for Emacs 31. This is one of, I've never pronounced his name, Sean Whitton, I think it should be pronounced. He said that one of his plans as a maintainer will be to work on the bundled version of Emacs, which some people, including myself, have been calling Fat Emacs. So adding, selecting certain packages from ELPA, from GNU ELPA, and bundle a secondary distribution of Emacs which would include additional packages, Which are currently, so for example, one example would be org-tex. And then you could, when you install Emacs, you could install, I don't know, big or fat or whatever... Big Emacs with all these packages pre-installed, which would be pinned to the right version which we would have hopefully ensured that they're actually compatible with one another. And then you have the normal Emacs, which would be the thinner one. And an interesting corollary of all of this would also be that if the way from ELPA into the core would be made easier, that the way out of the core into ELPA would also be made easier. Because that would mean it's more easier to deprecate packages over time since you can install it. This protective layer, let's say, protective layer, protected merely by inconvenience and the annoyance of moving these packages in and out, would fade away over time. Some cruft within Emacs itself, within core Emacs, could be moved to ELPA. So we could actually thin down Emacs. That's one possibility. Oh, that's big. Yeah. One strand of commentary in that direction. That's something that I'm planning to help in the Emacs 32 development cycle. Because these options then could also be in... Any options related to this could also be added to the newcomers preset theme.

      29:54 Selection versus multiple completion

      Philip: So one could of course... Vertico or these interactive selection packages... I think I've commented that before there is a certain controversy there. I think that there's a certain controversy that selection is not always the same as text expansion, which is sometimes like... There are, I think, the certain... skeleton, or there's this insert... what's it called, auto-insert command... It's not auto-insert, something like that, that prompts the user for multiple things, but it's not written using [completing-read-multiple], but it's written in a way that there's a manual loop, which waits for an empty input to occur. But if you're using vertico or fido, by default, if you just press RET, you don't actually have an empty input. You just select the default option. There's settings like these which where these sort of these two kinds of completion diverge from one another which which is also something I've been talking about for a few years but never came around to implementing that there should be an API distinction between actually selecting user options from a list and the completion interface which we have for files or commands currently. These are semantically two different things, which would be interesting to see if it would be worth distinguishing the two in a technical sense, because that would mean that in certain settings, we could enable Fido. I totally admit that Fido and Vertico have their advantages when it comes to discoverability over standard text completion. The compromise now was that in Emacs 31 there's this option, I think it's eager completion updating or something. It's a combination, it's a permutation of these words in some sense. So that's if the completions buffer pops up. No, you don't have to... It doesn't matter. You don't have to visualize it. Yeah, where they update as you type. Updates as you type, yeah. But that doesn't occur down there, but it only occurs in the completions buffer. That's sort of a compromise. That's Fido, right?

      Prot: But the generic completions has had a lot of improvements over the last few years. And in Emacs 31, it's in a very good state, all things considered.

      Philip: Which was also partially driven by your MCT package?

      Prot: MCT, yeah. Which was an experiment, of course. But yeah, it's basically that idea. Because I have used this in earnest, like the default like this, I have used it for a long time in earnest, like just defaults. It's very good. It's for sure very good. Whereas Fido and Vertico are better if you are just getting started and you don't know that there is a completion on the mini buffer and somehow there is a distinction between the two. Like, for somebody who is getting started especially, I think this interface is not good. But if you know what you are doing, I think this interface actually works perfectly. And it has a lot of options. So, Sacha, what you are showing there is the absolute default, but it has so many options that you can make it look actually quite different from this and very similar to Vertico, for example, in terms of the user experience. I just realized that...

      Sacha: Oh, I just realized that if you do the TAB TAB, if you do the TAB TAB, it now goes to that one, which is great, but you can't filter it from there. You can't type into it and have stuff happen.

      Philip: Yeah, it's not down there. If you're down there in the mini-buffer, you type. There you have just a regular text buffer, so you can search or you can select stuff out of there.

      Prot: And that's also an option, by the way. So what happens on the second tab, for example, so you can configure that.

      Sacha: Right, so that was the second tab behavior from newcomer-presets.

      Philip: That's the option I proposed and then objected to.

      Sacha: Yes, work in progress. So basically, you have these newcomers. We're trying to figure out how to get them through their learning journey. The newcomer presets can smooth over some of the edges. It can get over that "Yes, there are a lot of options, but at least M-x with tab completion will show you the things so that you don't have to memorize the names as much." You can recognize them from the list. You can narrow it down.

      Philip: The behavior is supposed to actually be similar to Bash. Yeah.

      34:39 Manuals

      Sacha: It's probably still... we're going to need them to read the tutorial and we're going to need them to use a lot of patience as they get used to Emacs. I am not quite sure yet if we can get them all the way to, all right, here's how you open your config file and define your own keyboard shortcuts, for example. Bit of a journey.

      35:08 More examples?

      Prot: I think that one way to do that is to have more examples in the manual. Like, here is how you do this, here is how you do that.

      Philip: Or there's this other manual, the Emacs FAQ.

      Prot: I don't mind where it would be, like FAQ is totally fine. I don't mind exactly where it would be, but somewhere in the documentation, like common patterns of Emacs configuration kind of thing. Maybe it already exists, so if it exists, then of course even better.

      Philip: Emacs FAQ has some things on finding relating packages... Where is the FAQ?

      Sacha: It's a separate manual. We do not have it from here, not from the splash screen, but it is available from the Help menu.

      Philip: I think it's not been that thoroughly maintained.

      36:21 find-user-init-file?

      Sacha: I'm going to take advantage of the fact that you've actually been reading emacs-devel. Has there already been a long discussion about whether a M-x visit-user-init-file makes sense? An interactive command that you can use to open... I was trying to find it, but even with Yhetil's search, I was like, okay, there are four threads. One of them was a long time ago, and the other one was from even longer than that, so I didn't know whether it was some other discussion.

      Philip: I don't recall any such discussion recently, but I also don't think that anybody Objection to it. So it's really just a matter of someone writing it down and adding the documentation.

      Sacha: I would like to do that.

      Philip: It would be quite likely 24 hours.

      Sacha: Okay.

      Philip: On the master branch and not Emacs 31 branch, which would be slightly. It's fine. Yeah, but even having a button.

      Sacha: If it makes it in someday, it doesn't have to be in the splash screen. It just has to start off being available through... And then we don't have to keep telling people, oh yeah, do a describe-variable on the init file just in case your init file is actually .emacs instead of the .emacs.d/init.el that other people are telling you to use instead. It's a bit of a mess, right?

      Philip: I think some people have been recommending doing M-: and then calling the [find-file] function with the user init... What's the name of the variable again?

      Sacha: user-init-file.

      Prot: User Emacs file.

      Sacha: Here we go. user-init-file. Here we go. That's the thing. Yeah, exactly.

      Philip: And if you do M-: (find-file user-init-file), then it would basically do the same thing. That's why I'm saying it's such a minor function that I don't expect any objections.

      Sacha: Okay, okay. So I'm going to suggest that to Emacs Devel at some point.

      Philip: I've had the same idea many times myself, but the transience of memory has thrown its way before I actually ended up doing it.

      38:38 Getting over the reverence for Emacs's history

      Sacha: Sometimes I am reluctant to suggest things because I figure Emacs is such a long history. Probably someone has thought of this already, and it's probably been discussed and bike-shedded. But I think there are little things that we can do.

      Philip: Yeah, but then in that case, Yeah, but I think that's actually related to another thing I wanted to talk about. There's a certain sort of reverence that people have for Emacs, because it's such a historical project. But I mean, the preset theme was something that was discussed for many times, and there were basically no objections. No one said, no, we shouldn't do this, this is a bad idea. I hope it's not only because I proposed it or something, or like the package also suggests that. Most of the things I've been working on for Emacs 31, no one objected to. And there's two sides to this. There's some people who actually go overboard with this and try and reinvent. Like when reviewing packages, you see this a lot of people try and reinvent functionality, which is basically just giving a new name Combining two things and giving it a new name which isn't always necessary but might be useful and then it's some discussion like can we actually make more out of this and that's a different thing but then there's the people who I probably lean more towards that side when I think to myself the way I'm doing this is stupid or this is not as efficient people have been using Emacs for 40 years of course there probably has to be a better way to do this

      40:11 Changes are more likely to happen when someone puts in the work to make a patch

      Philip: And sometimes it turns out it simply hasn't been implemented and no one has simply done this actually small effort of preparing a patch and ironing out the details just some people don't like discussions of course and it's understandable but you can I mean there's really no harm in sending a patch and then saying I'm sorry I don't have It's annoying, of course, from a maintainer's perspective. I don't recommend doing it, because if you prepare a patch but don't have the time to finish it up, then if it's a useful thing and you actually get someone to be interested in maintaining it, then bringing the patch to completion, then it's well worth just sending a feature. Even sending a feature request, you don't even have to... I mentioned the idea of this preset theme many times. I wish people would be more conscious of this mentality, but I totally understand people who think otherwise, because when the first time I sent a patch to a mailing list, I was, I don't want to say I was sweaty, but I was really nervous because I don't know what if they... Goodwill, good faith, attention to how people should behave on mailing lists, how they should treat each other. Lots of these preconceptions turn out to be false in there. That's why I also wanted to participate in this, so that people see, oh, the people maintaining Emacs aren't wizards locked up in a tower, but just, I hope, normal people. Yeah, that's a very good point.

      Prot: And I think, Philip, just to add to this, your example of leading with a patch, I think, is also key here for someone who can write a patch, of course, because it cuts out a lot of that noise, that initial discussion of, well, maybe yes, maybe no, because it frames minds. It focuses the attention on something concrete. And that can also... Yeah.

      Philip: Yeah. And... I mean, having a patch is useful, but getting someone interested is also helpful. Like the discussion when we merged which-key, I helped with that process. And I'm not, I think it was, I don't remember his last name, Jeremy, who actually did most of the work. And I was reviewing his patches. I was helping along, but I wasn't actually writing most of the code. I was just going over the proposals and helping along and basically pushing the... Stunning the process whenever it got stuck so that we actually made the necessary changes for it to get merged.

      44:03 Preserving Git history of packages absorbed into the core

      Philip: And then I did the last finishing touches of merging, because that was also something... Every time... We'd like to preserve the Git history of packages we merge upstream, which is probably something we won't be doing in that way when we do the Fat Emacs releases. But the entire history of Eglot and the entire history of which-key is actually preserved in the

      Prot: So they are wizards after all.

      Philip: Wizards just reading pre-written down spells.

      Sacha: It'll be interesting to see if some of the starter kits move to using that kind of fat Emacs infrastructure once that's in place. Because a lot of times the starter kits are there to package together. Okay, here's a list of the packages that it uses. Here's the configuration that makes them play nice together. And then here's some kind of Documentation or videos or a demonstration on how to use it to help people get started.

      Philip: So I'm curious to see, I mean, I went reviewing the options to add to the preset theme. I actually went through a number of these starter kits to see the options they suggested. Selected those out which seemed reasonable to me. And of course, this was discussed and people objected or added other things. But I am curious to see how the starter kits will evolve in the future, because that's also something we should mention.

      46:00 Dealing with multiple types of Emacs

      Philip: I mean, there is a big problem with the fat Emacs approach and suddenly you have two versions of Emacs. You can write a package which appears to work fine in fat Emacs, but it depends on a package which is not in the core Emacs release, and then that's something we will have to deal with in the future as well. Yeah, that's a tricky part indeed. Yeah, but another thing relating... Yeah, the sort of fragmentation of what core Emacs is. It might be a showstopper, so maybe everything I'm telling here is just a wishlist. It doesn't end up actualizing. And that fragmentation of the setup is one of the things... Because it's not actually really difficult to solve. I mean, if you have a package that depends on something from Fat Emacs who just added to the package requires lines, you explicitly state the dependency. But if people are sloppy, then they might not notice this immediately. And you have runtime issues when people are slow.

      Sacha: It's a little bit more than that, right? So for example, if you have a newbie asking a question, because they're using a starter kit or in the future, a fat Emacs thing with different packages installed and different configuration things that they have not personally set up. And they don't have the experience to know, oh yeah, this is going to be related to that. So I should mention it in the help message. I mean, large starter communities like, like Doom Emacs and Spacemacs will have their own Discord or mailing list where people can go and ask for help. And so people will say, okay, I think I kind of know which starting point you're coming from because it's the base. But if we're, you know, with the smaller starter kits, they don't even know how to ask for help. And everyone is like, on the regular Emacs communities, there's a lot of back and forth if you want to dig into, okay, what do you have enabled? What is affecting your setup? Fat Emacs is going to run into that problem.

      48:09 Fat Emacs is just about bundling more packages from ELPA, not changing the configuration for them

      Philip: To be fair, my understanding currently is that it wouldn't enable any other options. It would just bundle more packages.

      Sacha: I see.

      Philip: So it would be more of an issue for package authors. Yeah, for package options. The idea is, I mean, I've used Emacs in offline settings where it's like, really inconvenient or impossible to install additional packages and just having more functionality out of the box which ELPA provides and you don't have to install additionally, is basically the idea. Because this has been a project which has been ongoing for years. I think this is ever since the conception of ELPA itself. Which is precisely the reason why GNU ELPA requires all packages to be signed or to be covered by the copyright assignments while NonGNU ELPA does not. So that this is possible. It's just that finally it looks like we're starting to move somewhere in that direction. It would be interesting if a decision were to be made that we're going to give up on This sort of bundling, what decisions that were made for the legal status of GNU ELPA, if we would merge GNU ELPA and NonGNU ELPA together, which is unlikely currently. This is just pure speculation at this point, but it's something that might be a discussion, which will be had in the future.

      Sacha: Okay, so it dispenses with a package install part, and so people don't have to worry about, okay, how do I make sure The package archives are set up, and how do I install the packages? All that stuff will be pre-installed. The automated English will be- No, the package archives- Oh, sorry, go ahead.

      Philip: The package archives wouldn't matter that much, since we are just talking about the new alpha packages, which are installed by default. It's really just that you don't have to install additional packages. You don't need a network connection. You don't need to know about the package existence. It would be registered in the auto mode alist anyway. So if you open a, I don't know, what's the package, some major mode that's not going to open, which is not in the core.

      Prot: I think you might want to talk earlier. I think that would qualify. I think you mentioned org-tex earlier, which is on ELPA, but not in Core.

      Philip: The tricky thing there is that Emacs already has a LaTeX mode by default, and that already applies, but org-tex extends it. That's why I was looking for another example. Okay, that's the idea, but it wouldn't only be major modes, I assume. There's going to be some discussion as to what packages we want to add. currently it's not certain. Because we're working on finishing up Emacs 31. That's where most of the bug fixing efforts are going in right now before we progress to any further developments. But that also includes proposals. That includes proposals as to the preset theme, which I am still interested in reading.

      51:23 Customize

      Sacha: I want to come back to something Prot mentioned in my conversation with him about newcomers, and that is the Customize interface versus getting people to the Emacs Lisp directly. And I think, Prot, you were not very keen on Customize.

      Prot: Yeah, basically if I say it in one sentence is I think the earlier they get into Emacs Lisp, like seeing it and interacting with it, the better it is for them long term. Granted, I am making the assumption that this is a user that will be there long term, right?

      Philip: Of course. And this is specifically about the customized UI, right?

      Prot: Yeah, yeah, not the underlying functionality, like, yeah.

      Sacha: It's great for simple options like yes we can check the checkbox or we can select from the drop-down list or whatever but browsing it is as you mentioned overwhelming the general sense of Emacs being overwhelming and when you start wanting to do something slightly more sophisticated like You know, let's add some more capture templates. Then it's challenging for people to do. So I'm wondering whether, in general, we should be, you know, is our general strategy to be guiding people to, yes, Customize is there, but really you want to be doing Emacs Lisp as quickly as possible. Let's make it easier for you to get your init file. Let's make it easier for you to test your init file and not fall apart when you miss a parenthesis and all things like that. Do we want to guide people that way?

      Philip: One question I think we should distinguish is the idea of a UI the problem or is it really... Because I personally I have a new Emacs configuration at my day job, and I do everything using Customize. I don't even care about using use-package or whatever. Just customize the stuff using... There's a big blob of user options which I've modified, and that goes through, and I don't care about it, but I claim to have some understanding of what's going on, and the rest of the function is just some defuns which I find convenient. But for me, it's okay, because I have some sort of intuition of how the Customize UI works. If there were a better UI for Customize, would you still say that if it were written in an intuitive way, say using Fido modes. So that's, it would use interactive narrowing and it would somehow work in a build on existing intuitions because the current customized, the Customize UI, the easy customization interface I think is a technical term to use is based around this widget library interface and sort of make replicating a TUI menu but not... And then you have to... And yeah, of course, the intuition... Like, if you click on things, it doesn't always behave the same thing you would expect from a regular settings menu, which is by the way also something that CUA specifies.

      54:41 CUA - Common User Access

      Philip: I recently looked into what CUA lists. Like, if you look at the Wikipedia page, CUA specifies that every application has to have these settings menu with tabs on the bottom on the top where it lists all the options you can specify and interestingly C-c and C-v is not listed as...

      55:00 ini file format? https://sdf.org/~pkal//blog/emacs/ini-init.html

      Philip: Apparently not CUA, but Shift Insert and Control Insert... I might be misunderstanding this, but this seems to be a misnomer.

      55:10 Emacs configuration generator

      image from video 00:55:45.367Philip: But if we had some sort of a UI like this CUA configuration UI, would that be something where you'd say as an intermediate stage for just setting options? Because that was part of my thought process with Emacs Configuration Generator. Just configuring Emacs is such a subset of Lisp as it's actually not programming Lisp. You can easily get by by just using add-hook, set up or setq, and add to list or stuff like that. But you don't really have to understand. It's just a peculiar syntax for how to program Lisp.

      55:54 INI-style configuration

      Philip: I'm not sure if either of you have seen, I wrote a blog post last March, no, not March, what's the name of the month? November, October or something, where I gave a prototype for a INI-like configuration syntax.

      Prot: I must have read it, but I don't remember it. You must have read it. Yeah, yeah, yeah, because I always read my feeds, but now it doesn't ring a bell.

      Philip: Exactly. You see there's this basically a simplified syntax, which should be... The idea was it should follow a conventional configuration-like format, and each of these lines gets translated directly to an Emacs Lisp expression. And due to this, I don't want to call it an isomorphism, but the easy translation in both directions, I think that the expectation of saying write Emacs Lisp... There has to be some defun or something if you're writing Emacs Lisp. That's to exaggerate. If you're just writing setq, set, add-hook, add-to-list, these common configuration patterns, which are well worth documenting in the manual, to understand what are the patterns that you have to use to configure a package, even understanding the signature... The distinction between add-to-list and add-hook is that hooks are lists which can have mode-local extensions but also inherit from global settings. Not obvious from the beginning to everyone. This is not list programming.

      Prot: Yeah, fair enough. Though even then, they start to see the parentheses, get used to the syntax. They have to remember to quote stuff. Even though it's not really programming, I see what you're saying. They put themselves in the situation.

      Philip: One of the ideas precisely in the config syntax is that if you have an option like set, you see the first line, set mode line compact long. Long is a symbol. I just use regular read to read this, and it's not evaluated. There's an option down there somewhere, I think, eval set, where the format expression is an S expression that's evaluated to a string. So you have to opt into evaluation. which seems more intuitive to me for a regular configuration when you're writing it, because all these things... Like, I have to think about quoting. Then there's the issue like with with-eval-after-load... Can I customize this variable before the package is loaded, after the package is loaded? If it has, like... If you're adding something to a list and the list has a default value that you don't want to set the value of the default, don't want to add it to the list because then it's not loaded, and it could trigger a undefined variable signal. So these are other inconveniences that I don't, I personally do not see any value in teaching people or having people to deal with these sorts of issues before they have any broader intuition. Which is a very idiosyncratic take perhaps, but...

      Prot: No, no, it's fair.

      Philip: What I'm trying to get at is this sort of any configuration syntax would be something that a UI could generate a lot easier and in a way that wouldn't have this artificial split between your own personal handcrafted configuration and the generated part of the configuration. Mechanically changing this, finding the section package avy, because it has all of these primitives which didn't exist early on in Emacs, like packages and features exist and so on. The sort of structure which use-package usually provides.

      Sacha: I have about one minute before the kiddo starts on lunch break, so I'm going to interrupt a little bit and do a quick summary. But the two of you are welcome to keep hanging out and chatting. I'll leave the Big Blue Button room open. And if you want, I can set it up so people can join you, depending on your time, et cetera, et cetera.

      1:00:21 Quick summary

      Sacha: But basically, what I'm getting for a quick summary of the conversation: Emacs 31: the newcomer presets is work in progress. People are definitely open to improvements, ideas, other suggestions for other features. The kiddo is just running out now. I will put the chat in the thing.

      Prot: Yeah, of course, of course. That's fun. So, what's happened?

      Sacha: Do you want me to open up the chat to everybody? Or do you have other things?

      Prot: Me, I can stay for another 20 minutes. Just to say I can stay for another 20 minutes because then I have to take the dog.

      Sacha: Yeah, and Phil? Oh, you have to leave.

      Philip: 20 minutes is fine. 20 minutes is fine for me as well.

      Sacha: Okay, okay. I will put the thing in the chat and people can continue because the kiddo was like, ah! Okay, yes.

      Prot: Okay, okay, okay. Good. So, yeah, of course, there is a chat going. Yeah, let's see. So, Sacha, you will link it there. Ah, nice.

      Philip: So, I presume there has been an idea of people watching this.

      Prot: So this is live.

      Sacha: And I can copy the chat thus far since we didn't even get to any other questions. Hang on a second. Where am I even?

      Prot: We're trying to deal with those, right? Yeah, yeah, yeah. Well, eventually to have a discussion and also take questions, eventually you need to have more time, I guess.

      Sacha: Yeah, yeah.

      Prot: But thank you all so much. Yeah, yeah, yeah. That's good. Yeah, yeah. Thank you, Sacha. Thank you very much. And of course, the kiddo overrides all.

      1:02:27 Continuing with INI

      Prot: That thing with the INI, I think it's very promising. I mean, if you flesh that out. Because the other thing is, yeah, yeah, with the INI configuration, because what would be, though, the fate of what is now added, you know, when you modify something and it adds this, you know, this has been set by custom, do not touch it kind of thing. You know what I'm talking about, right?

      Philip: Yeah, you mean the generated user glob. Well, my idea, or if I were, if I had the time /motivation/whatever to flesh this out, because currently it works... Currently it's an actually existing Elisp file which you could use, but I think it would be most interesting if it would be upstreamed. It would sort of be like, if you don't have a .el file, Emacs would look for it .ini file, or emacs.ini file or something like that. Then, of course, you can check, like, does the INI file exist or does the .el file exist? Probably there would be a user option to select into which it would inject the new options. And by default, it would select, for example, if the INI file exists, then it would use the INI file. But there is some controversy to this, because I totally understand the sentiment we're coming from with... You're using Emacs, so you have to learn Lisp. But for me, the bar is a bit higher than just the inconvenience of writing out this more or less. It's, as Joel Sussman referred to it, this ritualistic Lisp. You always have to repeat the same stuff all over again, like with eval, afterload, set. add-to-list, then you have to quote the option in one case. And if you change something in a map, then you don't have to add it. And of course, if you know Lisp, then you know that in one case, a keymap is a cons cell, so you're actually modifying the rest of the cons cell. That's why you don't need to quote it. But in the other case, you're accessing it via symbols, so you need to quote it. But this is all technical details. There's no necessity in it. It doesn't have to be that way.

      Prot: Yeah, yeah, yeah, that's fair, that's fair, of course.

      1:04:42 Motivation

      Philip: One thing I wanted to bring up in the discussion when we were talking about reverence was there is, I mean, one part of the thing that gave me the motivation to go through with learning Emacs, even though I didn't use the tutorial initially, was sort of a reputation I heard about Emacs. And the videos I saw, wow, you can do these cool things. And this motivation, this image I had of Emacs help me go through, but if you overshoot this approach, then people expect too much in the beginning and are disappointed in the end and don't pull through. There's this question of having, how's it called, the ??... How to motivate people enough to be interested in Emacs, to actually learn it, but not to oversell it. If you give some sort of a demo of using Emacs, which is simply not representative of how it actually works, then that's something which would backfire. But I guess we can take a look at the questions, right? Yeah, let's see. Let's see.

      Prot: Yeah, yeah, yeah. So yeah, I didn't read them.

      Philip: I had the chat open, but I didn't have the time to read them. Sorry? I'm not sure how to parse these. Is this from top to bottom?

      Prot: I guess from top to bottom is how they arrived in the chat. The top is the earliest.

      Philip: The usernames are mentioned below.

      Prot: I guess that's a copy-paste thing. Yeah, yeah, yeah. So there are some...

      Sacha: I gave the kiddo some packed lunch, so I'm back.

      Prot: Oh, hello there!

      Philip: We were just wondering about how to read the comments you posted. Maybe you have a better UI.

      Sacha: I pasted them into the chat. So in the Big Blue Button...

      Philip: But that's the order of occurrence?

      Sacha: That's order of occurrence. It's totally not very... It's just like a big paste.

      1:06:50 Politics and philosophy

      Prot: While you read it, let me... Yeah, there is a comment there from LC2000 about the splash screen having a lot of emphasis on the legal side, which is a fair comment. I think the legal side is important though, because of course, free software and all that, but of course, it could be rearranged. So maybe you don't want to have it at the top front and center, you want to have it further down. Maybe. I don't know. I don't have a strong opinion, but I think the legal side is it should be there at some point. I feel like it's a political minefield though.

      Sacha: Just leave that alone. 200 comments on emacs-devel. One of those really long threads.

      Philip: I cannot under-emphasize how surprised I was when my suggestion to add a checkbox on the splash screen just went through. Because I expected people to object, no, we can't add it there because of some system. It wouldn't look the way it should look and that would be confusing or whatever. But apparently change is possible. You have to be careful and be patient.

      Prot: And I guess here there is an assumption, right? There is also an assumption that people will attack you or be unreasonable. And I think this is not true. You mentioned it earlier as well. Eventually you have to get on the mailing list because people, if they don't hear the opinion, the counterpoint, they will never know what to do with it.

      Philip: but it's not entirely unreasonable because there are discussions that can be... There are people on emacs-devel, it's sad to admit it, but there are people who voice strong opinions, like strong opinions, with no power behind them, which can scare people away because there's no... There are no tags. There's no index of people on emacs-devel, so you don't know if some John Doe responding to your message, if he's actually responsible for this and makes ae decision, or if it's if Eli is sending a message and his decision on the discussion actually weighs a lot more than other matters.

      1:09:23 Experimenting with things outside core

      Sacha: I feel like sometimes experimenting with newbie-focused resources, like the unofficial ones that are around... At least we can try the ideas out and then say, hey, here's the patch and also here's what people have been using it for, so you can see it a bit more concretely, than dropping an idea into the discussion and then having the whole bike-shedding happening without as much data.

      Philip: That's seriously my main recommendation. If you want to propose something, add a prototype, add a patch, add something to narrow down the discussion. That's something people would take away from this discussion, from my experience.

      Prot: I 100% agree. I think that's the way to go. Just implement something so that it focuses the attention. Otherwise, you will get those endless discussions very quickly.

      Sacha: Or try it as a package first, and then it can be core.

      Philip: Excuse me?

      Sacha: Oh, I was thinking if it's possible to prototype something as a package, now that Emacs has made it a lot easier for people to install packages, then at least it can be tested before having all the conversations about whether it should be as part of core or part of the splash screen or everything else.

      1:10:42 Extending the core

      Philip: The counter tendency I feel obliged to mention is that many times proposing something as a package or as an extension to the core can actually simplify the implementation vastly. Especially if you need to make one or two twists upstream and you need something like an additional hook or something to exist upstream. If it's a package in the core, then it's a lot easier to explain why you have to make this change than having to deal with some sort of advice and changing a lot of things. There was a certain tendency during the mid-2010s, which I only know from history, was to re-implement a lot of stuff in logs, in packages, instead of working on them upstream. That created a lot of divergence between packages, and in my opinion, complicated things because it introduces this entire choice fatigue. Should I use Flymake? Should I use Flycheck? Should I use LSP mode? Should I use Eglot? Which is not a historically accurate example in the stats that I'm given, But I'm certainly in favor of at least considering upstream contributions.

      1:11:52 Guide to contributing to ELPA

      image from video 01:12:27.567Philip: Even like packages, of course, it's the way we recently published these guidelines, or not guidelines, this contribution guide to publishing packages on ELPA, which is on, if you want to open it in the browser, it's on the ELPA homepage, which lists sort of these hard criteria which we require from ELPA. Just elpa.gnu.org, yeah, it's... That's going to be a link to the page.

      Sacha: Yeah, this is pretty recent.

      Philip: This is recent, and then there's a list of suggestions. But this is getting off the actual point. I'm just saying that relating to the general point, my experience is that proposing something concrete but also be open to hearing the opinions of other people These are the two necessary but maybe not always sufficient ingredients to making the changing stuff. Because if you just say, I want this to be different but don't put in the work, then everyone's going to forget it. But if you propose something and then insist that it has to be exactly this way, then you're just creating social tension. Maybe missing out on interesting things.

      1:13:11 Making the newcomer experience better

      Sacha: And especially since people are using Emacs for so many different reasons and coming from so many different backgrounds, what you are very firmly committed to might very well work for one set of people, but will run into these issues for all these other people. So if we want to bring it back to this, you know, how do we make the newcomer experience better? It's great that in core, there's starting to be a little bit more infrastructure for supporting things like sets of reasonable defaults for people. And maybe we as a community need to figure out, all right, how do we write documentation around it? How do we make tutorial videos? How do we encapsulate, okay, this is what this typical newcomer experience is like for this set of people and maybe these options or packages or a glue code might be helpful for this group? Maybe.

      Prot: Maybe. Yeah like in theory you can imagine of something like if you are a Python developer, here is your Python presets theme. If you are doing Org or whatever, here is your LaTeX and friends, right, and you could also have extensions like that in the future.

      Philip: I mean nothing about the idea is... It could have been used as a package people can load otherwise.

      1:14:30 "user option themes" versus "appearance themes"

      Philip: And hopefully, as I said, there is certainly additional work which can be put in to support making user option themes better supported. I think one of the things that will be useful is actually referring to them just in nomenclature points as user option themes to distinguish them from.

      Sacha: From themes.

      Philip: From color themes, yeah. Color themes, yeah. We even introduced the distinction themes have kinds since like Emacs 20. 29, I think. 29. Yeah, yeah, yeah.

      Prot: I think you did that, right?

      Philip: I think I worked on a patch. But that was exactly, I mean, that was already where the seeds for the current theme were started, because we wanted to distinguish between these different kinds of things. Were there any other questions?

      Prot: I don't think so. But yeah, as we saw now with the find-library that Sacha did in the beginning, it would be nice to also eventually be able to find the theme or whatever. Maybe it's a different find-theme, if for whatever reason it cannot be find-library.

      Philip: That's actually no reason why that shouldn't be the case. I mean, you could just extend the logic to not only consider the load-list, but also the... Whatever the variable is for the list, then it should be able to find that as well, even though it's strictly speaking, that's a library. But that's a decision that someone has to make at some point or convince someone.

      Sacha: I think find-library does work for it. Like, find-library will find it only if it's loaded. And then since I can't, like, undo it...

      Prot: If it's a package.

      Sacha: Yeah, yeah.

      Prot: If you install it as a package, yes.

      Philip: Because then the theme is in a directory which package.el has added to a load list. I think the preset, if my memory serves me correct, then find library only looks through load-path.

      Sacha: I see, I see. And etc/themes is not in the load-path.

      Philip: Exactly. Because these aren't, this is, I don't know why. It's not...

      Sacha: Okay, all right. That's another message to emacs-devel.

      1:16:49 configuration generator in Emacs? maybe more wizards?

      Philip: It's the sort of annoyance which from my perspective is so inconvenient that I forget it every time and then you don't change it.

      1:16:59 Starter kits

      Sacha: @brongulus says the Doom Emacs module approach is very nice for beginners and entices them to get into things more. People interested in a certain common set of functionality can get an opinionated starting point in Emacs, rather than worrying about what to install. And someone else in the previous That's sort of like the theme approach, isn't it? Sort of, yeah. It's not just, hey, these are the packages and you can comment and uncomment lines that load the different modules, but also here's the glue to sort of start to make some of them work better together or to change them to reasonable defaults.

      1:17:39 Configuration generator in Emacs Lisp?

      Sacha: I was wondering, actually, along those lines, any thoughts about making your configuration generator type thing in Emacs?

      Philip: The reason I, in the configuration generator, did not implement it in Emacs was precisely due to if it were in Emacs and would use, for example, something like the widget library and there would be these fine UI discrepancies which people wouldn't expect to behave the way they do, then scrolling doesn't behave exactly the way they expect it to do. But there has been an idea, I think, when I mentioned the configuration generator the first time. It was the notion of having actually a shared file format behind it, just some S expression, which could be loaded by both the configuration generator and a generic configuration wizard, which could also be used like every package could define their own configuration wizard for asking the user selected options and configuring these.

      1:18:40 extending the archive format

      Philip: That's also another thing in Emacs 32 which I plan to work on, to extend the package archive format. Among other things, allowing for multiple packages to be listed in it, because GNU ELPA and NonGNU ELPA both store multiple versions of all packages, but you can only install the most recent one. That's why pinning doesn't work. Absolutely no technical reason why this shouldn't also list other versions as well. And then you could have pinning without having to use Git. Packages as well. And there are a few others. There was a thread I think earlier this year where I collected a number of these extensions for the archive formats which could be extended. And now I forgot my thread. Now I lost my thread of those.

      Prot: But basically extending package.el and the archive, yeah.

      Philip: Specifically the archive, so that

      Prot: Showing the previous versions which are already listed, like you said.

      Philip: Yeah, so that you could pin the version so you could install the version. I honestly do not remember what I was saying just a few seconds ago, which is embarrassing. Okay, that's another problem.

      Prot: Things happen, no worries.

      Philip: You were talking about Doom Emacs?

      Prot: There was a comment about the Doom Emacs and specifically the fact that there are these modules and you can load the module without thinking specifically about the packages. But then Sacha told you about your package configurator wizard.

      Philip: Package configurator wizard and then extending the metadata could also include this sort of configuration option. So that packages, in some sense, could specify what options the user would primarily be interested in and what order they should be traversed. And you could have some sort of dependency, of course. This is some effort which has to be put in, but it's not something that's unreasonable, from a technical perspective, from implementing this. And it would make, I think, it could make, if you have the infrastructure for that, that would make installing and using packages a lot nicer. It sounds very promising, for sure.

      1:20:56 User interfaces

      Philip: The UI question remains the thing. Do you want to reuse the Customize UI, which has its historical warts? Of course, can they be ironed out? That's a different question. Or do you reinvent something from scratch? And I'm usually not that big of a fan of reinventing the UI. I'm more in the reuse existing interfaces, just into the back end.

      Prot: Plus, if you were to invent a new UI, you wouldn't have this new feature already because you have too many things that you need to implement. Whereas just using custom UI allows you to just implement the feature and then the interface, maybe it's something that somebody else will work on or you work on at the latest.

      Philip: Yeah, but then, of course, that's... Even if that is the case, then you have to make sure that you don't make assumptions that depend on your own customizer in the future. It's a whole list of dependencies which is just complicated.

      Sacha: That sounds like a newcomers presets to un-wartify Customize, a reset theme to put the warts back on as needed, and then we can use the slightly more modern interface for the things that we had...

      Prot: I think just to say this, but of course everything we have covered thus far, always we have to state it. Newcomers with an asterisk, right? With the caveat that you still have to put in the work, read the manual, be patient, all that, right?

      Philip: Ideally, it would be nice if you could even start without it. I mean, I started without it, but it took me three or four years to actually write this one. I didn't want to write defun. I thought, what? I don't write my own functions. I just want to set options, which was wrong and appealing to this. That was the point from the beginning. But I think, Sacha, you wanted to close there.

      Sacha: Oh, I just wanted to acknowledge that we are coming up in the 20 minutes that you said you were available for. Yeah, yeah, yeah, I need to go. Yeah, yeah, the dogs and everything.

      Prot: Yeah, yeah, I have to take them for a walk because I have a meeting afterwards.

      Sacha: Right. I wanted to thank both of you. I really like this conversation and the heads up and the interesting things coming down the pipeline. So thank you for that. We're going to continue, I think, working on the user experience for newcomers. which will probably be a mix of documentation and packages and other experiments and occasional email to emacs-devel suggesting things like the find-user-init-file and whatever. But thank you so much to you and to everyone who's tuned in.

      Philip: You're welcome.

      Prot: Thank you. Thank you. Thank you.

      Philip: Take care.

      Prot: Take care. Bye-bye. Goodbye, goodbye. Where do we close from here?

      Philip: I'm just going to close the tab. Bye.

      Chat

      • protesilaos: โ€‹โ€‹Hello folks!
      • MichaelVash7886: โ€‹hi
      • protesilaos: โ€‹We still have a few more minutes. Looking forward to it!
      • MichaelVash7886: โ€‹ended up starting on doom and the nice thing is anything I want to try out is either in there or it's a simple tweak away. but it's several layers of abstractions to change certain things
      • MichaelVash7886: โ€‹for me to go from using doom to being able to program with a vanilla emacs I know it's going to be a journey to get things like completion, eglot, etc all setup
      • MichaelVash7886: โ€‹also looking at moving away from evil to using something like Meow and vanilla emacs binds
      • lc2000: โ€‹โ€‹Speaking of splash screen, there's still plenty of room, why not inline the GPL, and a small essay. Kidding of course, but what of slaying that sacred cow…?
      • lc2000: โ€‹(As it stands, it prioritizes ideology, laywer-mandated stuff from before case law, credits, funding via manual ordering… and if new users don't recoil some things they may actually need/want.)
      • takoverflow: โ€‹โ€‹Hello Prot, Sacha and Philip!
      • takoverflow: โ€‹Thanks for this discussion
      • RandCode: โ€‹โ€‹greetings, everyone!
      • RandCode: โ€‹โ€‹emacs has a place for chatting in all of irc, matrix, xmpp and telegram room! (also email)
      • lc2000: โ€‹โ€‹Packages are great at bundling functionalities, but Doom/Spacemacs/etc also fix the multi-package integration "glue", which technically could be packages (see all prior "config modules" attempts…).
      • sachactube: โ€‹โ€‹https://bbb.emacsverse.org/rooms/chat
      • protesilaos: โ€‹Come join us :)
      • lc2000: โ€‹Probably best to talk of modern de facto "standards" (vs full CUA as then-defined), e.g. if there's a "region" new users expect C-c (or C-c C-c in anger) to work, and idem C-x/etc - easy wins maybe.
      • brongulus: I do prefer the idosyncracies of with-eval-after-load and actually explicitly binding and creating hooks, rather than relying on use-package is that it tells me explicitly the order in which things would be evaluated. In contrast to use-package where I would have to know about defer and how to properly define the order of loading of different packages.
      • Protesilaos: @brongulus Fair point! I also like it. The thing with use-package is that you understand it better if you know what it does under the hood.
      • brongulus: This is where the doom emacs' module approach is very nice for beginners and entices them https://github.com/doomemacs/doomemacs/blob/master/modules/README.org
      • brongulus: People interested in a certain common set of functionality can get an opinionated starting point in emacs rather than worrying about what to install
      • brongulus: This is how it looks https://github.com/doomemacs/doomemacs/blob/master/static/init.example.el
      • brongulus: Thank you for the meeting o.

      Some types of new users to think about

      • Non-programmer interested in using Org Mode for notes and task management
      • Researcher interested in publishing, reproducible research, literate programming
      • Programmer interested in coding with Emacs
        • Coming from VSCode
        • Coming from Vi
      • Programmer still using a different IDE, just interested in Magit
      • Long-time Emacs user who hasn't explored Emacs Lisp

      Sketching out their learning journey

      • Install Emacs
      • Use Emacs via the menu bar and toolbar
      • Get a little overwhelmed
      • Use M-x to call commands by name
      • Learn how to set up completion
      • Use some keyboard shortcuts
      • Figure out how to learn and connect
      • Customize some options
      • Eureka!
      • Define their own keyboard shortcuts
        • Challenge: init file
      • Define their own functions
        • Challenge: Emacs Lisp

      Other notes

      Learning how to modify Emacs with Emacs Lisp can help people really appreciate its power. For example, you need Emacs Lisp to set your own keyboard shortcuts. You can't set them through the Options menu or the M-x customize interface. One challenge is that the Emacs Lisp configuration file that is loaded at the start of every Emacs session might be in one of several places, which means that in order for newbies to understand how to add something like:

      (bind-key "C-c r" 'org-capture)
      

      we need to either include a link to something like EmacsWiki: Init File, or repeat the instructions and the troubleshooting steps in beginner tutorials.

      • user-init-file defaults to .emacs for new users if none of ~/.emacs, ~/.emacs.el, ~/.emacs.d/init.el, and ~/.config/emacs/init.el exist.
      • After you select newcomer-presets from the splash screen, this is not persisted automatically. "Options > Save Options" doesn't save it either. Because people usually think of themes as cosmetic, they're not likely to find it under "Options > Customize Emacs > Custom Themes; newcomers-presets; Save Theme Settings." The "Options > Save Options" will save the change that newcomers-presets made to the tab bar, thus creating a ~/.emacs.
      • https://doc.emacsen.de/gallery.html - gallery of themes built into Emacs

      Some screenshots of a fresh Emacs

      2026-05-12_08-59-17.png
      Figure 1: The splash screen for a new Emacs
      2026-05-12_09-01-50.png
      Figure 2: File menu
      2026-05-12_09-02-43.png
      Figure 3: Customize menu
      2026-05-12_09-03-37.png
      Figure 4: Help menu

      Trying pkal's Emacs Configuration Generator

      Emacs Configuration Generator - old source code, site is no longer live

      sbcl --load ecg.lisp --eval "(ecg:start)"
      
      2026-05-13_21-36-30.png
      Figure 5: Web interface
      2026-05-13_21-37-11.png
      Figure 6: Theme preview, other options

      Sample generated configuration:

      ;;; Personal configuration -*- lexical-binding: t -*-
      
      ;; Save the contents of this file under ~/.emacs.d/init.el
      ;; Do not forget to use Emacs' built-in help system:
      ;; Use C-h C-h to get an overview of all help commands.  All you
      ;; need to know about Emacs (what commands exist, what functions do,
      ;; what variables specify), the help system can provide.
      
      ;; Load a custom theme
      (load-theme 'modus-operandi t)
      
      ;; Use whatever the default monospace font is
      (setq font-use-system-font t)
      
      ;; Miscellaneous options
      (setq-default major-mode
                    (lambda () ; guess major mode from file name
                      (unless buffer-file-name
                        (let ((buffer-file-name (buffer-name)))
                          (set-auto-mode)))))
      (setq confirm-kill-emacs #'yes-or-no-p)
      (setq window-resize-pixelwise t)
      (setq frame-resize-pixelwise t)
      (save-place-mode t)
      (savehist-mode t)
      (recentf-mode t)
      (defalias 'yes-or-no #'y-or-n-p)
      
      ;; Store automatic customisation options elsewhere
      (setq custom-file (locate-user-emacs-file "custom.el"))
      (when (file-exists-p custom-file)
        (load custom-file))
      

      You can e-mail me at sacha@sachachua.com.

    2. ๐Ÿ”— r/york Fulford Ings rss

      Fulford Ings | Lovely place to walk the dog. submitted by /u/DentistKitchen
      [link] [comments]
      ---|---

    3. ๐Ÿ”— r/Leeds I feel a bit cheeky asking rss

      But does anyone commute on here Sheffield on a weekly basis, who'd be happy to take a carpooler on?

      Fairly new job out of desperation, renting isn't an option, and the 2-3 hours lost to commuting is slowly killing me.

      Hope to hear something ๐Ÿ™

      submitted by /u/saltlampsandphotos
      [link] [comments]

    4. ๐Ÿ”— r/reverseengineering PE packer/crypter with random VM ISA per build rss
    5. ๐Ÿ”— r/york Comedy tonite at Brew York! PWYW! rss

      Comedy tonite at Brew York! PWYW! | Heiya all, Just the usual quick PSA, tonight there is the return of the fantastic Laughs on Draught comedy night at Brew York. We have an incredibly stacked line-up, all 3 of the founders performing AND a work in progress It's going to be great Come check it out tonight. You can reserve a seat for free if you find us on Eventbrite See you there! submitted by /u/emmesse37
      [link] [comments]
      ---|---

    6. ๐Ÿ”— Register Spill Joy & Curiosity #86 rss

      There it is: light at the end of the tunnel. After a week of scaling, tuning, and modifying our infrastructure, Amp Neo is now rolling out to more users. Update your Amp and watch out for a welcome screen that, some people say, "should be marked NSFW" because it's so sexy.

      Boy do I have stories to tell. Here's a very 2026 one. We were debugging database issues in production but could only see symptoms and not what caused them. Spike on this graph correlates with spike on that graph alright, but why? What causes it?

      If you've ever done any sort of investigation like this, you know that there are a lot of things you can check: are processes restarting? Is the rate of errors going up? Is a CPU pinned? What's the memory usage look like? And so on.

      But it's 2026, isn't it? So what ended up happening is that we'd send runbooks to each other. And runbook here means "prompt": a long Markdown document, created by an agent, that instructs the reading agent to check a series of metrics and data points. You'd take a prompt, paste it into Amp, Amp would go off and compile a report. It would say something like "this cluster looks healthy, except for the otel collectors which are OOMing, but that's benign for now, the smoking gun is the log messages that say โ€ฆ because those correlate with โ€ฆ showing up at the same time, which means โ€ฆ" And then you'd take that report and send it to a fresh Amp and that fresh Amp would say that yes, that's right, let's fix this, and you'd sit there and think that there's no way , no way that you would've dug through the logs and metrics at that speed with that precision, but it's 2026 so the agent did it for you.

      • antirez with a "short story of a long development": "Because I had AI, I took no compromises, and I decided to go the extra mile." This is a well-grounded, realistic portrayal of what it looks like to use agents in the first half of 2026. "For high quality system programming tasks you have to still be fully involved, but I ventured to a level of complexity that I would have otherwise skipped. AI provided the safety net for two things: certain massive tasks that are very tiring (like the 32 bit support that was added and tested later), and at the same time the virtual work force required to make sure there are no obvious bugs in complicated algorithms."

      • So, the Bun rewrite from Zig to Rust has been merged and not only did that add around a million lines of Rust code to the main branch, it also created a million hot takes. Most of them are silly ("there's unsafe {} in there"). But there are good ones: "if after the bun rust rewrite and 1M code merge in a few days you still think that software engineering hasn't changed massively idk what to tell you" It's an automated Zig-to-Rust rewrite of a million lines of code and all the tests pass and it took a week. Just as a reminder: this time last year we complained about models leaving "// Deleted this function" comments in code when deleting code.

      • "Complexity has to live somewhere. If you are lucky, it lives in well-defined places. In code where you decided a bit of complexity should go, in documentation that supports the code, in training sessions for your engineers. You give it a place without trying to hide all of it. You create ways to manage it. You know where to go to meet it when you need it. If you're unlucky and you just tried to pretend complexity could be avoided altogether, it has no place to go in this world. But it still doesn't stop existing."

      • matklad on Learning Software Architecture. Great read. And plus one thousand on the recommendation to read Pieter Hintjens and the importance of Conway's Law.

      • John Tromp's Binary Lambda Calculus universal machine. This is like reading a beautiful poem.

      • Sense of Urgency: "This week, I had the privilege of dining at The French Laundry (TFL). [โ€ฆ] Since the first Michelin Guide of San Francisco in 2007, TFL has received 3 Michelin stars every single year, and is one of the best restaurants in America. [โ€ฆ] Looking around, there were a few inescapable details, none more so than a clock placed in the center of a blank wall facing the kitchen, with a plaque below it that reads Sense of Urgency." I've been thinking about this clock for years now. Yes, I've considered getting a plaque like that. A post-it would do it, surely, but imagine having a plaque like that. No longer would people walk into my office, see the camera and the lights and go "are you a streamer?" but instead they'd ask "what does that mean?" and I'd tell them and-- okay, now thinking about it, the plaque would be too much.

      • Aperio is a new programming language and here is its pitch: "Every language designed before 2023 was optimized for a single tradeoff: minimize friction between human cognitive capacity and machine execution. Assembly to C to managed runtimes to DSLs were different points on the same line. In an LLM-driven workflow, those languages don't get cheaper to use -- they get more expensive. The cost just hides in the LLM's token count, its retry rate, and the latency it eats per turn. Pre-LLM languages are a hidden tax in the LLM era." I find this very interesting, the question of what a language optimized for LLMs would look like. Does it look like Aperio? Does it really introduce new terms and ideas, such as "locus" and "loci" here? Does a language need to be in the training data? Or can raw intelligence master it?

      • en.dev is "a one-person open source software company building mise & friends." I'm intrigued by this page. It's a very, very good page and I don't think I've seen a Sponsors section quite like that. I like it.

      • Amazing: ratty-term.org. That landingpage and video are great , but make sure to read the blog post too. It has some incredible hall-of-fame sentences. This one, for example: "your terminal cursor is a spinning rat". But fear not: "you can configure the cursor to be your dog".

      • Daniel Lemire: We see something that works, and then we understand it. "Both the linear theory and the waterfall model are forms of thinkism, a term I learned from Kevin Kelly. Thinkism sets aside practice and experience. It is the belief that given a problem, you should just think long and hard about it, and if you spend enough time thinking, you will solve it."

      • Geography is four-dimensional, by Derek Sivers.

      • This was fascinating: We don't know why Malawi is poor.

      • Googlebook looks really interesting. The hardware I don't care about, but the idea that you can have a self-modifying operating system: that 's interesting. It'll hinge on how much power Gemini will have, though. Right now I have Gemini in Gmail but every time I try to use it it feels like using Siri: sorry, I can't help you with that. But if they truly unleash Gemini and you can whip up widgets and apps and whatnot and it truly knows how you use the computer? Interesting. Also worth a quick read: their idea of solving "this and that" with the mouse pointer for the AI era.

      • Speaking of self-modifying operating systems: remember Emacs? Thomas Ptacek is wondering whether we're entering the era of The Emacsification of Software. In the Emacs world, it's common to fork & modify and never contribute back. You clone a bit of code into your emacs.d and then you personalize it there. Now, with agents, you can do that with a lot more software.

      • AI, the Shadow Prince: "In none of these instances does AI need to be 'alive' to wield power. It doesn't need to stage a violent revolution or hatch a takeover plan or develop desires. It need only be so efficient, so influential, and so deeply integrated into the loop of human decision-making that it effectively runs the show. We cede authority to AI ministers unwittingly, and out of convenience rather than fear."

      • When I was working at UPS I did a job pretty much close to this one, except you had to sort the packages into three to five lanes, depending on the zip code.

      • I spent my whole career building passive income. Here's what I got wrong: "The grass had been long for a while and every time I looked at it, I didn't like it. So I went out and mowed it. It took a couple of hours. It looked great when I was done. And I felt genuinely good afterward. That's the secret to living a happy life. Write when you don't feel like it. Work out when it's easier to skip. Do your taxes instead of postponing again. Go outside when you'd rather stay in."

      • Yes, I do like the new Spotify logo. Mark my words: Minimalism is dead, flashy is dead, pixel perfection is dead. What's alive and desired: graininess, details, rawness, honesty. In a world in which everything can be copied, the things that are truly unique will stand out.

      • Sean Goedecke provoking thoughts: Software engineering may no longer be a lifetime career. I mean, who knows? No one, as Sean admits. But incentives have shifted, massively, and it's unclear what'll come of that.

      • I'm typing this on a new Lofree Flow 2 keyboard that I got yesterday. So far, so good. I like the sounds a lot, but still need to get used to the typing.

      • Daniel Stenberg, author of curl, on Anthropic's Mythos: Mythos finds a curl vulnerability. Emphasis on "a" -- a single one. On one hand: yes, I'm skeptical, too. On the other: curl is a project that has had many eyeballs over the years. Not sure how much there's left to discover.

      • whatcable: "A small macOS menu bar app that tells you, in plain English, what each USB-C cable plugged into your Mac can actually do, and why your Mac might be charging slowly." Makes me want to check every cable I have. I might.

      • A History of IDEs at Google. Very, very interesting! Reading "Code Intelligence" and "Google" brings back a lot of memories.

      • "If you're in the business of building things that run on computers long enough, I think you will eventually acquire a favorite bug story. This is a short story about mine."

      • "This is the cart before the horse, surely. Who gives a fuck what people think they want to see at that moment? [...] They come to you, because they're interested in what you want to do. And if they don't like it, they can go elsewhere." This is going to sound incredibly naive, but I have to admit that for many, many years now, decades actually, I haven't considered the possibility of just ignoring the audience and building something that you want and still putting it in front of an audience. I've listened to this episode at the start of the week and I still think about that bit.

      Are you also using agents to dig through logs? You should subscribe:

    7. ๐Ÿ”— modem-dev/hunk v0.13.0-beta.0 release

      What's Changed

      New Contributors

      Full Changelog : v0.12.0...v0.13.0-beta.0

    8. ๐Ÿ”— r/reverseengineering A Tale of Two File Names rss
    9. ๐Ÿ”— r/reverseengineering PE reconstruction rss
    10. ๐Ÿ”— r/Yorkshire I made the Yorkshire White Rose coat of arms as a t-shirt rss
  2. May 16, 2026
    1. ๐Ÿ”— IDA Plugin Updates IDA Plugin Updates on 2026-05-16 rss

      IDA Plugin Updates on 2026-05-16

      Activity:

    2. ๐Ÿ”— r/Yorkshire Blood Wedding in Sheffield from 24-27 June [Theatre - Performing Arts] rss

      Blood Wedding in Sheffield from 24-27 June [Theatre - Performing Arts] | For any theatre and/or Federico Lorca fans who are in or near Sheffield, this local adaptation taking place next month might pique your interest: The Company presents Blood Wedding
      University Drama Studio , S10 2TD
      Wednesday, 24th June 2026 - Saturday, 27th June 2026
      Doors open at 7pm, show starts at 7:30pm Image Description: Promotional flyer for Blood Wedding featuring the actor playing The Bride facing forward with head garland of orange blossoms partially covering her left eye. Behind her, above here head, is the moon. In front of her are clouds that take the shape of a dress. The title of the play is in the foreground in the same colour orange that appears in a blood moon. With a knife.
      With a little knife.
      On a fateful day,
      Between two and three,
      Two men killed each other for love. A man driven to leave his wife and son by a passion that burns deep. A woman driven to leave her husband on their wedding day. In the heat of a Spanish summer, their fateful decision collides with a simmering family feud โ€ฆ the consequences of which are both brutal and deadly. This new interpretation explores Lorcaโ€™s world, foreshadowing the violence that would soon tear his beloved country apart and lead to his own tragic end. For tickets: https://www.ticketsource.com/thecompanysheffield/blood-wedding/e-bgpaoa CONTENT WARNING
      Please be aware that this production contains some depictions of violence. VENUE ACCESSIBILITY
      The Drama Studio's main entrance has step-only access. There is an accessible auditorium entrance located at the side of the building on Sherwood Road. There is ramped access (width: 120cm) to this entrance equipped with handrails where audience members will find a bell/buzzer (height: 120cm) and an intercom (height: 88cm). There is not a canopy or recess which provides weather protection at this entrance. Once inside the theatre, there are designated spaces for wheelchair users in the front row of the auditorium. The nearest accessible toilet is located 12m from the designated seating area. This venue does not provide audio described performances, but there is an infrared hearing assistance system which Drama Studio staff are trained to use. Assistance dogs are allowed in the auditorium. submitted by /u/Shake_Some_Dust
      [link] [comments]
      ---|---

    3. ๐Ÿ”— r/LocalLLaMA Local Qwen 3.6 vs frontier models on a coding primitive: single-file HTML canvas driving animation - results and GIFs rss

      Local Qwen 3.6 vs frontier models on a coding primitive: single-file HTML canvas driving animation - results and GIFs | Saw this post comparing Qwen 3.6 variants on coding primitives, so I wanted to see how local quants stack up against frontier models on a similar dense, single-file coding task. I ran the exact same prompt across local and web-based models accessed through my Perplexity subscription. The prompt "Write a single HTML file with a full-page canvas and no libraries. Simulate a realistic side-view of a moving car as the main subject. Keep the car visible in the foreground while the background landscape scrolls continuously to create the feeling that the car is driving forward. Use layered scenery for depth: nearby ground, roadside elements, trees, poles, and distant hills or mountains should move at different speeds for a natural parallax effect. Animate the wheels spinning realistically and add subtle body motion so the car feels connected to the road. Let the environment pass smoothly behind it, with repeating but varied scenery that makes the movement feel believable. Use cinematic lighting and a cohesive sky, such as sunset, dusk, or daylight, to enhance atmosphere. The overall motion should feel calm, immersive, and realistic, with a seamless looping animation." Models tested Frontier (web-based via Perplexity, tok/s not measured):

      • Claude sonnet 4.6 Thinking โ€” used internet for reasoning
      • Gemini 3.1 Pro Thinking
      • GPT 5.4 Thinking
      • Kimi k2.6 Thinking

      Local (Ryzen 5 5600, 24 GB DDR4-3200, RX 5700 XT 8GB):

      • Qwen3.5 9B Q4_K_M โ€” ~50 tok/s
      • Qwen3.6-27B (Claude-opus-reasoning-distilled) Q4_K_M โ€” 2.65 tok/s
      • Qwen3.6-27B Q4_K_M โ€” 2.70 tok/s
      • Qwen3.6-35B A3B Q4_K_M โ€” 12.13 tok/s
      • Gemma-4-31b-it โ€” 1.91 tok/s
      • Qwen3.5 4B Q8 โ€” 60 tok/s โ€” used internet for reasoning
      • Qwen3.5 4B Q4_K_M โ€” 80 tok/s โ€” used internet for reasoning

      What I looked for
      Realistic side-view driving animation: layered parallax scenery, spinning wheels, subtle chassis motion, cohesive sky and lighting, and seamless looping โ€” all vanilla JS/canvas, zero libraries. Subjective ranking for this specific task

      1. Kimi k2.6 Thinking โ€” cleanest overall visual result
      2. Qwen3.6-27B Q4_K_M (local) โ€” stronger than I expected; good parallax and road feel
      3. Qwen3.6-27B Claude-opus-reasoning-distilled โ€” close third

      The local 27B quant delivered more natural motion and layering than some frontier outputs for this specific visual primitive. I was expecting frontier models to do much better โ€” am I missing something? Outputs
      I only changed the HTML <title> tags to track which model generated which file. Iโ€™ll share all the output files and probably a few screenshots of the running animations so you can judge the visual quality yourself. If anyone wants to run the exact same prompt on their setup โ€” especially other MoE cuts or distills โ€” feel free to share your results. submitted by /u/Fragrant- Remove-9031
      [link] [comments]
      ---|---

    4. ๐Ÿ”— r/reverseengineering A File Format Uncracked for 20 Years: Part 2 rss
    5. ๐Ÿ”— r/Harrogate Wood burner rss

      Can anyone recommend a company to put in a wood burner?

      submitted by /u/EdgeObjective2307
      [link] [comments]

    6. ๐Ÿ”— r/york Great visit to York! rss

      Great visit to York! | Looking forward to returning to York. Went to The Ivy, that was a first, loved it. Visited York museum with Victorian Streets and a prison, even the cell Dick Turpin was held before he was (sadly) publicly hanged. submitted by /u/LesleeTheLego
      [link] [comments]
      ---|---

    7. ๐Ÿ”— r/wiesbaden New to Germany. Need some help with finding a place for myself. rss

      First, the context
      I'm a 23 y.o and we moved to Germany, Wiesbaden 2 years ago with my mother since she found a good working place here but after first year our Wohnung proved to be borderline suffocating so we decided that i should move out.
      In my first year i started attending Sprachschule because i don't want to feel like an outsider so currently i'm somewhere around A2.1.
      As time came by i saw that apartment market is really difficult here and i really don't know what i am doing anymore so i ask for a little bit of help.

      What is the proper process of finding an apartment here?
      I already sent more than 400 applications on websites like ImmoScout, ImmoWelt, Kleinanziegen. I have german bank account and phone number and all documents like SCHUFA and Personalausweis ready.

      Thing is, almost all of my applications are being ignored without proper response from the Vermieter. At this point i feel like i'm doing something fundamentally wrong.

      submitted by /u/Vovancheg31
      [link] [comments]

    8. ๐Ÿ”— r/Yorkshire Goslings galore at RSPB St Aidans. rss

      Goslings galore at RSPB St Aidans. | This really is a magical place. Something different every visit. Baby coot as well submitted by /u/DentistKitchen
      [link] [comments]
      ---|---

    9. ๐Ÿ”— r/wiesbaden Neu in Wiesbaden ๐Ÿ˜Š rss

      Hi,

      ich (M32) bin vor ein paar Monaten wegen dem Job nach Wiesbaden gezogen.

      Da ich hier leider noch kaum wen kenne, wollte ich fragen, was es fรผr Mรถglichkeiten (z.B. Run Clubs oder so) gibt, um hier neue Leute kennenzulernen ๐Ÿ™‚

      Ich gehe regelmรครŸig joggen, fahre hรคufig Rad und schaue gerne FuรŸball.

      submitted by /u/Al_Bendito
      [link] [comments]

    10. ๐Ÿ”— r/reverseengineering Resident Evil: Code Veronica X is able to use inventory and view files from the decompiled PS2 source! rss
    11. ๐Ÿ”— r/wiesbaden Klavierunterricht rss

      Hey, kennt jemand einen guten Klavierlehrer oder kann eine Musikschule in Wiesbaden empfehlen?

      submitted by /u/Willing_Market_2279
      [link] [comments]

    12. ๐Ÿ”— r/Leeds Leeds men in 30s rss

      Uodate - so seemingly more guys than I thought were up for this so I have set up a WhatsApp group. Drop me a dm for the link

      Hi guys. After lurking in some of these threads for a while it Seems to me there are a lot of men in their 30s out there who seem to have a common issue of not much of a social life outside of family/work.
      I know there are a lot of meet-up groups out there, but they arenโ€™t the right fit for me and I suspect this will be the same for others. And I have seen (my wife has joined them) that there are seemingly a lot of groups out there for women only - but other than Andyโ€™s Man Club I canโ€™t seem to find anything similar for men!
      So if there are any other guys out there in their 30s in a similar boat who want to meet up for the occassional pint in Leeds, talk shit, forget work, get away from the family in a no pressure environment then feel free to give me a shout! Hopefully we can get a group of us, then that way Iโ€™m sure there will always be an option for a pint even if some arenโ€™t available!

      submitted by /u/J87ckoFireBeard
      [link] [comments]

    13. ๐Ÿ”— r/wiesbaden Hi.. can anyone help me 420?๐Ÿฅฆ rss
    14. ๐Ÿ”— r/Yorkshire Olliver Duckett at Sunset, Richmond, Yorkshire. rss
    15. ๐Ÿ”— r/york The gargoyles of York Minster rss

      The gargoyles of York Minster | Quite the characters hanging around York Minster. submitted by /u/Weird-Positive-3874
      [link] [comments]
      ---|---

    16. ๐Ÿ”— r/york Heslington Hall and campus west rss
    17. ๐Ÿ”— BarutSRB/OmniWM OmniWM v0.4.9.1 release

      What's New Since 0.4.9

      • Fixed Quake Terminal Ghostty sizing overflow cases that could push the surface past valid dimensions.
      • Made quit termination more reliable so OmniWM shuts down cleanly when asked to exit.
      • Stabilized focused border ordering and frame selection so the visible focus border tracks the intended window more consistently.
      • Added missing sponsors and contributors to the project-facing surfaces.
      • Updated the release packaging path so official releases still run the no-Zig audit, build, and tests without being blocked by local SwiftFormat or SwiftLint drift.

      Release Integrity

      • OmniWM-v0.4.9.1.zip contains the Developer ID signed, notarized, and stapled OmniWM app.
      • OmniWM-v0.4.9.1.zip SHA-256: a44cdde396850bf31e3765dbc4fa4e32ba2e654c90f820ea052adcf2d45ae458
      • GhosttyKit.xcframework-v0.4.9.1.zip SHA-256: 49a2c9f14e3f6a5c31243ab4ad414168d263d5aa6938d332985d26694e42cd66
    18. ๐Ÿ”— HexRaysSA/plugin-repository commits sync repo: +1 plugin, +1 release rss
      sync repo: +1 plugin, +1 release
      
      ## New plugins
      - [ida-bochs-binaries](https://github.com/hexrayssa/ida-bochs-binaries) (1.0.0)
      
    19. ๐Ÿ”— r/LocalLLaMA MTP support merged into llama.cpp rss

      PR 22673 has been merged into master! ๐ŸŽ‰

      submitted by /u/tacticaltweaker
      [link] [comments]

    20. ๐Ÿ”— r/LocalLLaMA MTP PR Merged!!! rss

      MTP PR Merged!!! | Llamas, LFG!!! ๐ŸŽ‰๐ŸŽ‰๐ŸŽ‰ submitted by /u/Valuable_Touch5670
      [link] [comments]
      ---|---

    21. ๐Ÿ”— tomasz-tomczyk/crit v0.14.0 release

      What's Changed

      Organization support for sharing

      Reviews can now be shared under an organization. The --org and --visibility flags on crit share let you publish to an org with organization, unlisted, or public visibility. The share modal in the browser also gained an org picker with remember-choice persistence.

      Features

      Fixes

      Internal refactors

      New Contributors

      Full Changelog : v0.13.1...v0.14.0

    22. ๐Ÿ”— r/Yorkshire Best places to take 13 year old and his friends? rss

      Hello all ๐Ÿ‘‹๐Ÿผ

      My son is turning 13 at the end of the year and Iโ€™m trying to make a start on planning it so I can save up and have enough money for the day etc.

      I gave him two options for his birthday and he decided to go with a day out with his friends and this is where Iโ€™m struggling.

      I live in a village outside of Hull and Iโ€™ve opted not take him there as it would just feel like another day and not a special one. We live on the main rail line so we can get to most places but Iโ€™m struggling for ideas on where to take them.

      Travel wise, we can travel a maximum of 2 hours there and 2 back. It would potentially be 3-6 people (1-2 adults and 1-4 12/13 year olds).

      My son likes a variety of things so I am open to any and all suggestions on what to do with them and where to take them.

      Thank you in advance ๐Ÿ™๐Ÿผ

      submitted by /u/Correct-Succotash-47
      [link] [comments]

    23. ๐Ÿ”— r/LocalLLaMA That's a good news... rss

      That's a good news... | Looks like it finally happens... MTP getting approved for llama.cpp. Time to prepare for the update. submitted by /u/Pjotrs
      [link] [comments]
      ---|---

    24. ๐Ÿ”— r/Leeds Leeds United: mass transit agreement signed with mayor to boost Elland Road expansion rss
    25. ๐Ÿ”— r/wiesbaden Good spot to work with a good WiFi rss

      Hello everyone, I work remotely and Iโ€™m looking for a good coffee shop or a spot where I can work with decent WiFi. Anyone can recommend any good spots in the city? Danke!

      submitted by /u/Moroccan-Leo
      [link] [comments]

    26. ๐Ÿ”— r/york York weekend rss

      I went to university in York many years ago (in the 90s) and next weekend I'm visiting with my family (husband and teenage girls age 13 and 14). We did come up about 18 months ago, but I'm looking for some suggestions of places to go and what to do. So far we've booked the ghost bus tour.

      When I was at uni I absolutely loved a shop which I think was on Stonegate and I think was called Everything Changes (?) I bloody loved that shop, bought so many cool vintage clothes in there and face glitter. It's a bit of a loose brief, but can anyone recommend any shops like that? It was a sort of new age/vintage crystals and incense type place, if you haven't got a clue what I'm talking about.

      Last time we came they loved the Society of Alchemists, but they're a bit old for all the Harry Potter themed stuff now. Any suggestions welcome!

      submitted by /u/Top_Addition4317
      [link] [comments]

    27. ๐Ÿ”— r/reverseengineering [CrackMe] PyVMP v7 : The vault. Important info : the server is now live, take a look inside the gofile link. rss
    28. ๐Ÿ”— r/york Bus shelters going missing rss

      The bus shelter near the grand hotel has been missing for months and now one has been removed near YSJ, any one know if these are going to be replaced?

      submitted by /u/unfurlingjasminetea_
      [link] [comments]

    29. ๐Ÿ”— r/Yorkshire Now and Then Richmond rss
    30. ๐Ÿ”— r/reverseengineering Exploiting Toshiba Qiomem.sys vulnerable driver rss
    31. ๐Ÿ”— r/LocalLLaMA Qwen3.6-35B-A3B and 9B are officially on the public Terminal-Bench 2.0 leaderboard! rss

      Qwen3.6-35B-A3B and 9B are officially on the public Terminal-Bench 2.0 leaderboard!

      little-coder ร— Qwen3.6-35B-A3B hit 24.6% (ยฑ3.2), and now land above Gemini 2.5 Pro on Gemini CLI (19.6%) and Qwen3-Coder-480B on Terminus 2 (23.9%). I didnโ€™t expect the scaffold-model gap from Polyglot to hold on a benchmark this hard but it did!

      little-coder ร— Qwen3.5-9B came in at 9.2% which is more humble. Yet, it also shows again that sub-10B local models are now measurable on a hard agentic benchmark , not assumed unworthy of a slot.

      Just felt it was right to follow up here as you requested, and say a genuine thanks to this community. It really is the place currently driving innovation toward less compute, and this run exists there because you pushed for it.

      Now itโ€™s time to head for the top of the leaderboard ๐Ÿ‘€ letโ€™s go open source!

      Leaderboard: https://www.tbench.ai/leaderboard/terminal-bench/2.0

      https://github.com/itayinbarr/little-coder

      submitted by /u/Creative-Regular6799
      [link] [comments]

    32. ๐Ÿ”— r/reverseengineering HDD Firmware Hacking Part 1 rss
    33. ๐Ÿ”— r/reverseengineering Region-based binary diff tool for firmware analysis rss
    34. ๐Ÿ”— r/reverseengineering A 0-click exploit chain for the Pixel 10: When a Door Closes, a Window Opens rss
    35. ๐Ÿ”— r/reverseengineering เนเธเน‰เน„เธ‚เธ›เธฑเธเธซเธฒ Frida 17.9.10 เธšเธ™ Termux (Android ARM64) - เน„เธกเนˆเธกเธตเธ‚เน‰เธญเธœเธดเธ”เธžเธฅเธฒเธ” Toolchain 404 เนเธฅเธฐ _Py_NoneStruct เธญเธตเธเธ•เนˆเธญเน„เธ›! rss
    36. ๐Ÿ”— r/reverseengineering Brovan โ€” Open-source x86/x64 user-mode binary emulator written in C# rss
  3. May 15, 2026
    1. ๐Ÿ”— IDA Plugin Updates IDA Plugin Updates on 2026-05-15 rss

      IDA Plugin Updates on 2026-05-15

      Activity:

      • AI-Pentesting-Lab
        • 6135a628: add MCP environment portable bundle (31MB zip with setup script)
      • capa
        • bbe05043: remove redundant code related to cli loading (#3076)
        • 7e06ba0f: Sync capa rules submodule
        • d889085a: Sync capa rules submodule
        • cb5f56a0: Sync capa rules submodule
        • 5e8d8ac9: Sync capa rules submodule
      • dylib_dobby_hook
        • f40bd5e5: Add Codex hook workflow skill
      • hrtng
        • d64db09d: a few minor improvements of:
      • ida-agent-bridge
        • 016b928f: docs(SKILL.md): add output format examples for all REPL commands
        • 6886c903: refactor: migrate CLI to cyclopts, merge cli_syms, add init command
        • 9d9fd583: refactor: replace QUIT with !quit command
        • 595cf3bf: docs: ้‡ๅ†™ README๏ผŒdemo ๅ…ˆ่กŒ + ่ฎพ่ฎก็†ๅฟต้‡ๆž„
        • 52e33a6b: feat: ๆทปๅŠ  !ping ๅ‘ฝไปค๏ผŒๆ›ดๆ–ฐๆ–‡ๆกฃ
        • affce839: perf: ็งป้™ค warmup ้ข„ๅ็ผ–่ฏ‘ๅพช็Žฏ
        • a4d40fd5: perf: func_hash ๆ”น็”จ CRC32๏ผŒ้›†ไธญๅผ hash_index.json๏ผŒcompute_metrics ๅฏ้€‰
        • e9938f38: perf: func_hash ็”จ raw bytes ๆ›ฟไปฃ disassembly๏ผŒๆ้€Ÿ 14x (176ยตsโ†’12ยตs per func)
        • ecf82ff6: fix: ไฟฎๅคๆต‹่ฏ•ๅฅ—ไปถๅนถ้‡ๆž„ไธบ้›†ๆˆๆต‹่ฏ• - ๅˆ ้™ค test_server.py๏ผˆไพ่ต–ไธๅญ˜ๅœจ็š„ _dispatch ๅฏผๅ…ฅ๏ผ‰- ๆ–ฐๅขž testโ€ฆ
      • IDAPluginList
        • 59ad3fd3: chore: Auto update IDA plugins (Updated: 19, Cloned: 0, Failed: 0)
      • idawilli
      • reversing-mcp
        • e6718a9e: Initial commit โ€” MCP servers for IDA Pro and Ghidra
      • Rikugan
        • 4377c715: Merge pull request #52 from luckystars0612/feat/add-minimax-m2.7
        • 8418d59d: feat(providers): add MiniMax M2.7 models
      • tix-seven
        • eba002a9: Merge pull request #16 from ark1tech/fix-mosip-request
        • fcd97098: fix again
        • 0f9e4847: Merge pull request #15 from ark1tech/fix-mosip-request
        • 6ccd6a2c: fix put back retry + mock aws
        • 29837245: Merge pull request #14 from ark1tech/fix-mosip-request
        • c6ebc57a: fix
        • cee10712: Merge pull request #13 from ark1tech/fix-mosip-request
        • 89f52041: feat: implement fallback to mock server and stub MOSIP adapter on verโ€ฆ
        • bab8c618: debug: decouple from psut
        • c6cff7c9: Merge pull request #12 from ark1tech/fix-mosip-request
        • fa183905: change back auth
        • 8ae3b45d: Merge pull request #11 from ark1tech/fix-mosip-request
        • f73b7fb3: feat: refine mock server request by sending only scalar demographic fโ€ฆ
        • 894cfcdf: Merge pull request #10 from ark1tech/fix-mosip-request
        • 142f3e43: feat: improve handling of empty demographic fields in mock server reqโ€ฆ
        • 20d5206d: Merge pull request #9 from ark1tech/fix-mosip-request
        • b53af47e: feat: implement fallback to stub MOSIP adapter on mock server failure
        • 9943482d: Merge pull request #8 from ark1tech/fix-mosip-request
        • 5c22d234: feat: enhance logging for mock server responses in MOSIP adapter
        • 6e1991f0: Update README.md
    2. ๐Ÿ”— r/reverseengineering Brovan: Binary user-mode emulator for x86_64 rss
    3. ๐Ÿ”— r/LocalLLaMA Opencode you naughty minx rss

      Man, AI agents getting pretty crazy these days. :)

      (local, I just decided to try to get an orchestrator in there, when Qwen and Gemma aren't up to it.)

      submitted by /u/jrodder
      [link] [comments]

    4. ๐Ÿ”— r/york We loved York rss
    5. ๐Ÿ”— r/wiesbaden Suche Leute fรผr kleine Cybersecurity-/CTF-Gruppe ๐Ÿ‘พ rss

      Hey zusammen,

      ich suche ein paar entspannte Leute, die Bock auf Cybersecurity, Hacking, CTFs und generellen Austausch haben. Skill-Level ist komplett egal โ€” ob Anfรคnger oder schon tief drin im Rabbit Hole.

      Die Idee wรคre, eine kleine Gruppe aufzubauen, in der man:

      gemeinsam CTF-Challenges macht

      voneinander lernt

      Tools/Techniken ausprobiert

      sich รผber Security-News austauscht

      vielleicht auch kleine Projekte startet

      und einfach eine coole Community hat

      Also kein elitรคrer โ€ždu musst alles kรถnnenโ€œ-Vibe, sondern eher ein sympathischer kleiner Hackertrupp.

      Wenn irgendwer Interesse hat, kommentiert einfach oder schreib mir eine DM.

      Vielleicht machen wir dann erstmal einen Discord oder sowas auf.

      submitted by /u/AgeSalt2446
      [link] [comments]

    6. ๐Ÿ”— crosspoint-reader/crosspoint-reader v1.3.0 release

      Summary

      This release adds SD card fonts โ€” the most-requested feature since launch โ€” brings the X3 to first-class status, redesigns the on-screen keyboard, overhauls OPDS, and ships SD-card firmware updates. 145 changes from 53 contributors, 32 of whom are new to the project.

      ๐Ÿ”  SD Card Fonts
      Custom fonts are here. A complete font subsystem lets you install and use fonts beyond the three built-in families. A new .cpfont binary format packs multiple styles (regular, bold, italic, bold-italic) into a single file per size, with on-demand glyph loading from the SD card. A two-pass prewarm renderer bulk-reads glyphs per page, achieving near-flash performance for Latin text and viable CJK rendering. Fonts can be downloaded over WiFi directly from the device, uploaded via the web interface, or copied manually to the SD card. The build pipeline ships a 17-family font library (serif, sans, mono, accessibility) with CI distribution via a dedicated crosspoint- fonts repository. As a bonus, CJK characters no longer get spurious hyphens at line breaks, and an advance-table cache eliminates 30+ second stalls during CJK section indexing.

      ๐Ÿ“ฑ X3 Comes of Age
      The X3 graduates from initial bring-up to a proper target. Grayscale antialiasing is sharper, EPUB images render correctly, OTA updates work, and sleep screen dimensions are dialed in. The headline addition: gyroscope-based tilt page turning via the QMI8658 IMU โ€” tilt the device to turn pages hands- free. SD-card firmware update support and X3 bootloader compatibility mean users can update without a USB connection.

      โŒจ๏ธ Redesigned On-Screen Keyboard
      The keyboard has been completely redesigned with improved layout, better key feedback, and a fix for the space key barely moving the cursor. Text entry across WiFi setup, OPDS search, and KOSync login is noticeably smoother.

      ๐Ÿ‘๏ธ Focus Reading
      A new reading mode bolds the initial characters of each word (similar to Bionic Reading) to create artificial fixation points, helping improve reading speed and focus. The bolding ratio is 45%, with a minimum of 1 character and a maximum of 9, applied dynamically during indexing.

      ๐Ÿ“š OPDS Overhaul
      OPDS gains in-catalog search with next/prev page navigation, support for multiple servers, correct handling of relative paths and query parameters (fixing CopyParty compatibility), and KOReader-compatible download filenames.

      ๐Ÿ”ค Text Rendering Refinements
      Combining marks (diacritics) now use font metrics for positioning instead of heuristics, proportional numeral spacing is supported, and differential rounding eliminates uneven inter-glyph gaps. Hyphenation now recognizes ISO 639-2 language codes, nested block-level CSS styles are tracked correctly, and horizontal CSS insets are capped at 2em to prevent runaway margins. Bookerly has been replaced with Noto Serif for licensing reasons.

      ๐ŸŽจ New Theme: RoundedRaff
      A new rounded theme joins the theme picker, with fixes for sleep cover crop grid artifacts.

      ๐Ÿ”‹ Battery & Power
      Battery percentage smoothing on the X4 eliminates jittery readings. A short press on the power button can be set to trigger a manual screen refresh โ€” handy for clearing ghosting.

      ๐Ÿ“ถ WiFi & Networking
      WiFi connections now self-heal from transient drops without manual intervention, and a dBm signal strength indicator appears during web server sessions. WiFi networks can be edited directly from the web UI.

      ๐Ÿ”„ KOSync
      Reading position sync is significantly more accurate. The old character-offset approach frequently landed on the wrong paragraph after syncing between devices โ€” the new xpath-based mapping syncs at the paragraph level, matching KOReader's own behavior. A separate fix switches the HTTP layer to esp_http_client, and the reader now releases ~65KB of EPUB heap before the TLS handshake โ€” together these eliminate the out-of-memory crashes that plagued KOSync on large books.

      ๐Ÿ›ก๏ธ Stability
      Two memory leaks patched, a wild pointer crash in JPEGDEC MCU_SKIP handling fixed, boot loops with large XTC files eliminated, legacy XTC headers supported, the OTA updater now streams GitHub release JSON instead of buffering it in RAM, and a JPEG downscaler y-axis scale factor bug is corrected.

      ๐ŸŒ Languages
      Slovenian is new. Russian, Ukrainian, Swedish, Italian, and Spanish translations received significant updates.


      Also in this release: SD-card firmware updates without USB , file extensions in the file browser , full path bar navigation , end-of- book navigation improvements , XTC status bar , smarter "Cover + Custom" sleep screens , set sleep cover from the BMP viewer , orientation-aware popups , page turn buttons that follow orientation , long-press delete for directories , context-aware screenshot filenames with book title , crash reason displayed on boot , empty line rendering in the TXT reader , wallpaper recency buffer to prevent clustering , font family deletion from the device , next/prev labels in the BMP viewer , non-breaking space justification fix , README guidance for USB-locked third-party Xteink units , and a long tail of web UI polish, i18n memory optimizations, and code quality improvements.

      What's Changed

      Features

      Fixes

      Internal

      • refactor: redesign on-screen keyboard by @pablohc in #1644
      • refactor: replace picojpeg with JPEGDEC for cover art conversion by @jpirnay in #1517
      • refactor: Refactor drawArc / fillArc for faster execution by @jpirnay in #1540
      • perf: replace i18n pointer tables with offset tables, strip unused strings by @jpirnay in #1408
      • refactor: Store only unique localization strings in offset buffers by @znelson in #1802
      • refactor: Move language setting into JSON settings by @znelson in #1796
      • refactor: Use C++20 'requires' in ActivityResult constructor by @znelson in #1420
      • refactor: Use default member initializers for JpegContext and PngContext by @znelson in #1435
      • refactor: logPrintf and predefined log level strings by @CSCMe in #1546
      • refactor: RAII scoped open/close for ZipFile by @znelson in #1433
      • refactor: Deduplicated BMP header writing in Xtc by @znelson in #1439
      • refactor: Added shared XML parser teardown helper by @znelson in #1438
      • refactor: Removed redundant FsFile close() calls by @znelson in #1434
      • refactor: Deduplicate battery drawing code and fix Lyra charging indicator by @znelson in #1437
      • refactor: Deduplicate Roundraff battery drawing by @znelson in #1847
      • refactor: Simplify sort in GfxRenderer::fillPolygon by @znelson in #1817
      • refactor: Avoid vector for page turn rates list by @znelson in #1818
      • refactor: Use std::size instead of sizeof/sizeof by @znelson in #1819
      • refactor: Use fixed-size integers for BookMetadataCache data by @znelson in #1844
      • refactor: Simplify isReaderActivity bookkeeping by @znelson in #1838
      • refactor: Simplify XtcReaderActivity with detectPageTurn by @znelson in #1837
      • refactor: change ukrainian translation to adaptation and add missing lines by @KymAndriy in #1828
      • chore: drop JPEGDEC patch in favour of upstream fix by @martinbrook in #1465
      • chore: clang-format.fix.ps1 script: Add .venv to list of path exclusions by @jpirnay in #1515
      • chore: Updating sleep screen dimensions for X3 by @jensechu in #1688
      • chore: Clarify X3 RTC in SCOPE.md by @znelson in #1687
      • chore: Improved Italian translations by @znelson in #1685
      • chore: change ukrainian translation to adaptation by @KymAndriy in #1684
      • chore: Update spanish.yaml by @mvidelatraduc in #1717
      • chore: One Italian translation tweak by @znelson in #1718
      • chore: git pre-commit hook for format fix by @osteotek in #1730
      • chore: Update SDK to fork in CrossPoint org by @znelson in #1836
      • chore: Added RAM to firmware_size_history.py script by @znelson in #1830
      • chore: Updated docs to reflect DESTRUCTOR_CLOSES_FILE=1 by @znelson in #1878
      • feat: cap compressed group size at 64 KB by @jpirnay in #1913
      • fix: build-script bug fixes for fontconvert{,_sdcard}.py by @jpirnay in #1910
      • feat: include short SHA in CROSSPOINT_VERSION by @osteotek in #1728
      • feat: show long branch names by @steka in #1727
      • feat: enable pio build cache by @Uri-Tauber in #1769
      • style: put page name first in browser titles by @fain182 in #1703
      • style: unify page headers across web UI by @fain182 in #1702
      • style: move file type badges into Type column by @fain182 in #1793
      • style: align action buttons vertically with page title by @fain182 in #1795
      • docs: Update README with firmware flashing instructions by @ryneches in #1654
      • docs: fix typos by @kianmeng in #1705
      • docs: update README.md to reflect the current state of crosspoint by @Uri-Tauber in #1812
      • docs: Add documentation for USB-locked Xteink devices by @itsthisjustin in #1990
      • docs: expand first use of OPDS acronym and provide a wikipedia link by @sizezero in #1824
      • docs: fix KOReader sync guide link by @sabraman in #1930
      • docs: fix hyphenation updater script name by @sabraman in #1931
      • fix: sd font download urls in docs by @mcrosson in #1945
      • fix: sd font folder paths in documentation by @mcrosson in #1944
      • chore: Add verbose mode to build-sd-fonts.py by @znelson in #1923

      New Contributors

      Full Changelog : 1.2.0...release/1.3.0

    7. ๐Ÿ”— r/reverseengineering Understanding Stack Buffer Overflows Through Doom and C++ rss
    8. ๐Ÿ”— r/reverseengineering What is it Wednesdays: Episode 0001 rss
    9. ๐Ÿ”— r/LocalLLaMA Orthrus-Qwen3-8B : up to 7.8ร—tokens/forward on Qwen3-8B, frozen backbone, provably identical output distribution rss

      Orthrus-Qwen3-8B : up to 7.8ร—tokens/forward on Qwen3-8B, frozen backbone, provably identical output distribution |

      Idea: Inject a trainable diffusion attention module into each layer of a frozen AR Transformer. Both heads share one KV cache. Diffusion head projects K=32 tokens in parallel; AR head verifies in a second pass and accepts the longest matching prefix. Output distribution is provably identical to the base model. Results:

      • Up to 7.8ร— TPF, ~6ร— wall-clock on MATH-500.
      • 16% of params trained, <1B tokens, 24h on 8ร—H200.
      • vs. diffusion LMs (Dream, Fast-dLLM-v2, SDAR, Mercury, Gemini Diffusion): they modify base weights and lose accuracy (Fast-dLLM-v2: -11 pts on MATH-500). Orthrus freezes the backbone; accuracy matches Qwen3-8B exactly.
      • vs. Speculative Decoding (EAGLE-3, DFlash): No external drafter, no separate cache, and zero Time-To-First-Token (TTFT) penalty because we don't have to initialize and sync a separate drafter model. KV overhead is O(1) (~4.5 MiB flat). Acceptance length on MATH-500: 11.7 vs. 7.9 (DFlash) vs. 3.5 (EAGLE-3).
      • Single-step denoising beats multi-step (6.35 vs. 3.53 TPF). KL distillation beats CE on acceptance rate.

      Limitations: strictly bounded by the frozen base model (inherits its biases, hallucinations, knowledge gaps); Qwen3-only evaluation; greedy + rejection sampling only. submitted by /u/Franck_Dernoncourt
      [link] [comments]
      ---|---

    10. ๐Ÿ”— r/wiesbaden Morgen 40k 2k Punkte in Wiesbaden rss

      Gude allerseits. Ich hab gesehen dass hier ab und zu Warhammer relevante Sachen gepostet werden. Drรผcke morgen meinem Chef ein Gelben Schein rein und hรคtte Bock auf ne Runde 40k im Warhammer Store. Irgendjemand Interesse? (Ich fรผr meinen Teil Spiel Black Templar) Mir egal welche Armee ihr spielt.

      submitted by /u/DaK_Dash
      [link] [comments]

    11. ๐Ÿ”— r/LocalLLaMA Built a fully offline suitcase robot around a Jetson Orin NX SUPER 16GB. Gemma 4 E4B, ~200ms cached TTFT, 30+ sensors, no WiFi/BT/cellular. He has opinions. rss

      Built a fully offline suitcase robot around a Jetson Orin NX SUPER 16GB. Gemma 4 E4B, ~200ms cached TTFT, 30+ sensors, no WiFi/BT/cellular. He has opinions. | Sparky runs entirely on the Jetson. Gemma 4 E4B at Q4_K_M via llama.cpp with q8_0 KV cache and flash attention. 12K context, native system role, sampler defaults from the model card. Cached TTFT around 200ms, sustained 14-15 tok/s. SenseVoiceSmall for STT, Piper for TTS with 43Hz mouth sync, PixiJS face on the lid display. Vision and OCR are native to Gemma 4 now so the BLIP subprocess is gone. 30+ sensors fold into the prompt as natural language every turn. One of the biggest wins was prompt structure for cache stability. Persona and tools at the top, history in the middle, volatile sensor and vision data at the end of the latest user turn. Moving dynamic context out of the system block dropped cached TTFT from multi-second to ~200ms. Configurable entirely on-device via a button row, a joystick, and an analog encoder knob. No network interface at all. Curious if anyone else is running E4B on Orin-class hardware. I'd love to compare tok/s and how you're handling sensor or tool context without blowing your prefix cache. submitted by /u/CreativelyBankrupt
      [link] [comments]
      ---|---

    12. ๐Ÿ”— r/Leeds does anyone else think YappApp is ghastly or are my sensibilities too delicate? rss

      I understand the benefit of a local news source but the idea of having the worst day of your life and then some twat flying a drone over to take pictures of you to post on Facebook or zooming in for a better shot is madness

      submitted by /u/AdSlow973
      [link] [comments]

    13. ๐Ÿ”— r/reverseengineering Deep dive into the object creation flow in Windows - PART 3: Post-initialization and Name Lookup rss
    14. ๐Ÿ”— r/reverseengineering Deepdive into the object creation flow in Windows -PART 2 : access check internals rss
    15. ๐Ÿ”— r/reverseengineering Deep dive into the object creation flow in Windows -PART1 : Allocation and Pre-Initialization rss
    16. ๐Ÿ”— r/Yorkshire Yorkshire smokers offered free app to help them quit rss

      Yorkshire smokers offered free app to help them quit | submitted by /u/crabcakes110
      [link] [comments]
      ---|---

    17. ๐Ÿ”— r/Leeds Leeds By Drone rss
    18. ๐Ÿ”— r/wiesbaden Kurzfristig ein wenig Geld verdienen rss

      Ich muss mir die irgendwie รผbers Wochenende so 30 - 50โ‚ฌ verdienen. Ich kann einfache Gartenarbeit wie Rasenmรคhen, Beete sรคubern, Fugen von Unkraut befreien, etc. Botengรคnge oder รคhnliches mach ich auch gerne. Ich bin Fachinformatiker, kann also auch bei Problemen mit Computern helfen.

      Bei Interesse oder Mitleid bitte melden. Ich bin etwas verzweifelt.

      Edith sagt:

      Vielen Dank euch allen! Ich komme leider erst jetzt dazu mich wieder zu melden. Ich hab inzwischen was gefunden und bin bis zum Therapiestart in einem Monat erstmal versorgt. Vielen Dank nochmals an alle, die sich Gedanken gemacht haben

      submitted by /u/atzedanjo
      [link] [comments]

    19. ๐Ÿ”— r/reverseengineering [Tool] IOCX - deterministic static IOC extraction for PE binaries (17-second demo) rss
    20. ๐Ÿ”— r/york car hire in York (yes, I do need a car) rss

      Hi all, I am fairly dependent on having a car for work and life but mine has just been written off after a collision. I'll likely need to hire one for about a week or more while I find a replacement.

      Any recommendations for companies would be super, or indeed who to avoid!

      submitted by /u/CanRevolutionary1035
      [link] [comments]

    21. ๐Ÿ”— r/Yorkshire Just love this view, Richmond, Yorkshire. rss
    22. ๐Ÿ”— r/Harrogate Builder recommendations rss

      Can anyone recommend a builder for an extension? Cheers

      submitted by /u/LurkishEmpire
      [link] [comments]

    23. ๐Ÿ”— r/Harrogate Anyone else noticed the shift towards pre-loved jewellery lately? rss

      Anyone else noticed the shift towards pre-loved jewellery lately? | okay so maybe it's just me but has anyone else noticed how differently people talk about pre-loved jewellery now compared to even a few years ago? there used to be this weird stigma around it. like second hand meant lesser somehow and now it's completely flipped, people are actively hunting for it. harrogate feels like a town that gets this. has anyone else gone down the pre-loved route? submitted by /u/FogalandBarnes
      [link] [comments]
      ---|---

    24. ๐Ÿ”— r/Leeds My Child's Geography coursework rss

      Hi, all! I was wondering if you could fill out this short survey for my child's geography coursework. It's only three questions and won't take that long at all. It would really help them get a high result and grade. They're counting on a good grade for their coursework to get into university. Thank you all that will take it!

      Just copy this link into your web browser: https://www.smartsurvey.co.uk/t/HLQRVC/

      submitted by /u/WaveSuspicious9062
      [link] [comments]

    25. ๐Ÿ”— r/reverseengineering yarax_android: The first Android implementation of yara-x. Blazing fast pattern matching swiss knife running natively on Android. rss
    26. ๐Ÿ”— r/york Participants needed ๐Ÿ“š rss

      Hi everyone!

      Mods approved post

      I am currently recruiting participants for my MRes study exploring intimate partner violece and the influence on help-seeking behaviours.

      What is involved?๐Ÿค”
      Two surveys about the experience of intimate partner violence. And An optional interview for individuals who identify as LGBTQIA+.

      Who can take part?๐Ÿ’ฌ
      Part 1: Individuals 18+ and anyone with relevant lived experience. Participantion is voluntary, anonymous, and confidential.
      Part 2: same as above, but identify as LGBTQIA+

      If you or someone you know might want to take part, please follow this link: https://yorksj.eu.qualtrics.com/jfe/form/SV\_3QWo1FZxZ87xBEG?fbclid=PARlRTSARvHGdleHRuA2FlbQIxMABzcnRjBmFwcF9pZA8xMjQwMjQ1NzQyODc0MTQAAacsbZt\_yhRpzkzZVOvdXS28h0SSL1DVZFwkhM4sNcdCUqz1IZ86X0DuYK2M0A\_aem\_WGPGWLn8pSvGcuTj1tMLhQ

      submitted by /u/fattyfatsofatss
      [link] [comments]

    27. ๐Ÿ”— r/reverseengineering GitHub - jetnoir/metis: Automated binary vulnerability triage for macOS, Linux, and Windows targets rss
    28. ๐Ÿ”— r/reverseengineering GitHub - jetnoir/poppy: Dynamic XPC Observability & Fault Injection for macOS rss
    29. ๐Ÿ”— r/wiesbaden Al Petra Restaurant wieder auf? rss

      Hallo, google sagt zu, auf der Webseite steht sowas aber nicht, sollen am renovieren gewesen sein. Ist da jemand vor kurzem mal gewesen oder vorbei gekommen (Moritzstrasse 34) ?

      Komme von weiter her mal vorbei und wollte da mal wieder hin.

      Danke

      .

      submitted by /u/QRCodeART
      [link] [comments]

    30. ๐Ÿ”— r/reverseengineering Trafexia V2 - Mobile Traffic Interceptor Toolkit rss
    31. ๐Ÿ”— r/LocalLLaMA China modded GPU (eg. 4090 48gb) --> I'm gonna figure it out. IS THERE NO ONE ELSE CURIOUS?? rss

      There's a dearth of information (in the english world) about these cards.

      The good recent video is probably this one:
      https://www.youtube.com/watch?v=TcRGBeOENLg

      even in this subreddit, there's seems to be few reviews of these cards.

      Last couple of decent threads:
      https://www.reddit.com/r/LocalLLaMA/comments/1s62b23/bought_rtx4080_32gb_triple_fan_from_china/
      https://www.reddit.com/r/LocalLLaMA/comments/1nifajh/i_bought_a_modded_4090_48gb_in_shenzhen_this_is/

      Is there really NOONE else who has tried these?

      In particular

      1. Software / bios / quirks that make them NOT run as per unmodded card
      2. Short term consistency, does it run fast for a test, but hang / die when stressed?
      3. Long term reliability - does the whole thing fail within 2 months of regular usage?
      4. Are the benchmarks good? Where are the results??
      5. source and price?

      chinese video site blibli has ton of videos, and taobao (and other ecomm) sites also lots of sellers.

      If i can piece together enough research, i may also visit shenzhen to pick up a few.

      If you're interested in this space, DM me . hope to form a group to split up research efforts.

      Also any native chinese speakers who are familiar in this space also please join in.

      EDIT:
      Some downvotes going on. Unclear if its some larger suppression of this topic, or just angry people.

      submitted by /u/LeatherRub7248
      [link] [comments]

    32. ๐Ÿ”— BarutSRB/OmniWM OmniWM v0.4.9 release

      New and improved

      • Added clipboard history support in the command palette, including persistence and settings export coverage.
      • Continued the Swift-only runtime line after the old Zig-backed release branch, keeping the current app, IPC, and layout stack on main.
      • Refined canonical TOML settings handling and command palette behavior around the new clipboard workflow.

      Fixes

      • Fixed scratchpad reveal recovery and focus completion paths.
      • Improved reliability around app startup/settings wiring touched by the clipboard history work.

      Release verification

      • Built universal OmniWM and omniwmctl binaries for arm64 and x86_64.
      • Signed, notarized, stapled, and Gatekeeper-assessed the app bundle.
      • Verified packaged app version 0.4.9 build 47.
      • Skipped SwiftLint, SwiftFormat checker, and all tests by release instruction.

      Checksums

      • OmniWM-v0.4.9.zip: 187f35e57b2efa14f91ca448f859122d68bf2f2ba44682a9fcf337f1219c2d3b
      • GhosttyKit.xcframework-v0.4.9.zip: 6b897107225e63cd4a812d27bff8f4afc0ba308916d813313ad02066733cbc85
    33. ๐Ÿ”— backnotprop/plannotator v0.19.17 release

      Follow @plannotator on X for updates


      Missed recent releases? Release | Highlights
      ---|---
      v0.19.16 | Code navigation with peek view (Cmd/Ctrl+click tokens in diffs)
      v0.19.15 | Commit-based diff base, jj evolution diffs, GitLab reliability fixes, OpenCode command intercept fix
      v0.19.14 | Visual explainer skill update, PFM code-file hover previews, Graphviz, diff tab size and line bg intensity, hooks settings tab
      v0.19.11 | Jujutsu (jj) VCS backend, slimmer hunk separators, collapse viewed files, multi-line gutter selection fix
      v0.19.9 | OpenCode user-managed workflow, Pi model switch fix, Codex skill install, shimmer removal
      v0.19.8 | 49 themes with syntax highlighting, keyboard shortcut registry, smart code-file path validation, remote URL notifications
      v0.19.7 | Codex Stop-hook plan review, Codex skills, sidebar auto-close, file tree context menu
      v0.19.6 | Non-blocking Pi browser sessions, agent picker dropdown for OpenCode, annotate-last file resolution fix
      v0.19.5 | All-files diff view, clickable code file paths, server-side hide whitespace, non-ASCII path support
      v0.19.4 | All-files diff type, code file viewer, hide whitespace, quick-settings popover


      What's New in v0.19.17

      v0.19.17 reworks the goal setup skill from the ground up and adds a --version flag to the CLI.

      Reworked Goal Setup Skill

      The plannotator-setup-goal skill has been substantially rewritten. The previous version ran a rigid 5-document pipeline with sequential Plannotator review gates on a brief, plan, verification checklist, blockers list, and goal prompt. Each gate required a round trip through the UI before the agent could proceed, making the process slow and interruptive.

      The new version replaces all of that with an interview-driven flow. The agent rearticulates your objective, then asks targeted questions to surface constraints, dependencies, and acceptance criteria. The answers are distilled into a fact sheet, which is the single Plannotator review gate. Once you approve the facts, the agent drafts the plan and produces the /goal prompt. Five gates become one; the Python scaffold script is gone; the agent writes files directly.

      The result is a faster, more conversational process that produces better goal packages. The interview phase captures context that the old brief-writing step often missed, and reviewing a fact sheet is more concrete than reviewing a plan outline.

      CLI Version Flag

      plannotator --version (or -v) now prints the version and exits. The version is injected at compile time from package.json via Bun's --define flag in the release workflow, so compiled binaries report the exact release version. Uncompiled dev runs show plannotator dev.


      Install / Update

      macOS / Linux:

      curl -fsSL https://plannotator.ai/install.sh | bash
      

      Windows:

      irm https://plannotator.ai/install.ps1 | iex
      

      Claude Code Plugin: Run /plugin in Claude Code, find plannotator , and click "Update now".

      OpenCode: Clear cache and restart:

      rm -rf ~/.bun/install/cache/@plannotator
      

      Then in opencode.json:

      {
        "plugin": ["@plannotator/opencode@latest"]
      }
      

      Pi: Install or update the extension:

      pi install npm:@plannotator/pi-extension
      

      What's Changed

      Full Changelog : v0.19.16...v0.19.17

    34. ๐Ÿ”— Drew DeVault's blog Add an LLM policy for rust-lang/rust rss

      No comment on this PR may mention the following topics:

      • Long-term social or economic impact of LLMs
      • The environmental impact of LLMs
      • Anything to do with the copyright status of LLM output
      • Moral judgements about people who use LLMs

      We have asked the moderation team to help us enforce these rules.

      โ€“ Add an LLM policy for rust-lang/rust, GitHub

    35. ๐Ÿ”— Julia Evans Moving away from Tailwind, and learning to structure my CSS rss

      Hello! 8 years ago, I wrote excitedly about discovering Tailwind.

      At that time I really had no idea how to structure my CSS code and given the choice between a pile of complete chaos and Tailwind, I was really happy to choose Tailwind. It helped me make a lot of tiny sites!

      I spent the last week or so migrating a couple of sites away from Tailwind and towards more semantic HTML + vanilla CSS, and it was SO fun and SO interesting, so here are some things I learned!

      As usual I'm not a full-time frontend developer and so all of my CSS learning has happened in fits and starts over many years.

      it turns out Tailwind taught me a lot

      When I started thinking about structuring CSS, I was intimidated at first: I'm not very good at structuring my CSS! But then I started reading blog posts talking about how to structure CSS (like A whole cascade of layers or How I write CSS in 2024) and I realized a couple of things:

      1. Every CSS code base has a bunch of different things going on (layouts! fonts! colours! common components!)
      2. It's extremely useful to have systems or guidelines to manage each of those things, otherwise things descend into chaos
      3. Tailwind has systems for some of these, and I already know those systems! Maybe I can imitate the systems I like!

      For example, Tailwind has:

      the systems I'm going to talk about

      I'm going to talk about a few aspects of my CSS codebase and my thoughts so far what kind of rules I want to impose on the codebase for each one. Some of them are copied from Tailwind and some aren't.

      1. reset
      2. components
      3. colours
      4. font sizes
      5. utility classes
      6. the base
      7. spacing
      8. responsive design
      9. the build system

      1. reset

      I just copied Tailwind's "preflight styles" by going into tailwind.css and copying the first 200 lines or so.

      I noticed that I've developed a relationship with Tailwind's CSS reset over time, for example Tailwind sets box-sizing: border-box on every element (which means that an element's width includes its padding):

      * { box-sizing: border-box; }
      

      I think it would be a real adjustment for me to switch to writing CSS without these, and I'm sure there are lots of other things in the Tailwind reset (like html {line-height: 1.5;}) that I'm subconsciously used to and don't even realize are there.

      2. components

      This next part is the bulk of the CSS!

      The idea here is to organize CSS by "components", in a way that's spiritually related to Vue or React components. (though there might not actually be any Javascript at all in the site)

      Basically the idea is that:

      1. Each "component" has a unique class
      2. The CSS for one component never overrides the CSS for any other component
      3. Each component has its own CSS file

      So editing the CSS for one component won't mysteriously break something in another component. And probably like 80% of the CSS that I would actually want to change is in various component files, so if I'm editing a 100-line component, I just have to think about those 100 lines. It's way easier for me to think about.

      For example, this HTML might be the .zine "component".

      <figure class="zine horizontal">
          <img src="whatever.jpg">
      &lt;/figure&gt;
      

      And the CSS looks something like this, using nested selectors:

      .zine {
        ...
        &.horizontal {
          ...
        }
        &.vertical {
          ...
        }
        &:hover {
          ...
        }
      }
      

      I haven't done anything programmatic (like web components or @scope) that ensures that components won't interfere with each other, but just having a convention and trying my best already feels like a big improvement.

      Next: conventions to maintain some consistency across the site and keep these components in line with each other!

      3. colours

      colours.css has a bunch of variables like this which I can use as necessary. Colour is really hard and I didn't want to revisit my use of colour in this refactor, so I left this alone.

      The only guideline I'm trying to enforce here is that all colours used in the site are listed in this file.

      :root {
        --pink: #fea0c2;
        --pink-light: #F9B9B9;
        --red: #f91a55;
        --orange: rgb(222, 117, 31);
        ...
      }
      

      4. font sizes

      One thing I appreciated about Tailwind was that if I wanted to set a font size, I could just think "hm, I want the text to be big", write text-lg, and be done with it! And maybe if it's not big enough I'd use xl or 2xl instead. No trying to remember whether I'm using em or px or rem.

      So I defined a bunch of variables, taken from Tailwind, like this:

        --size-xs: 0.75rem;
        --line-height-xs: 1rem;
      
        --size-sm: 0.875rem;
        --line-height-sm: 1.25rem;
      

      Then if I want to set a font size, I can do it like this. It's a little more verbose than Tailwind but I'm happy with it for now.

      h3 {
        font-size: var(--size-lg);
        line-height: var(--line-height-lg);
      }
      

      5. utilities

      There are some things like buttons that appear in many different components. I'm calling these "utilities".

      I copied some utility classes from Tailwind (like .sr-only for things that should only appear for screenreader users).

      This section is pretty small and I try to be careful about making changes here.

      6. the base

      "base" styles are styles that apply across the whole site that I chose myself. I have to keep this section really small because I'm not confident enough to enforce a lot of styles across the whole site. These are the only two I feel okay about right now, and I might change the &lt;section&gt; one:

      /* put a 950px column in the middle of each &lt;section&gt; */
      section {
        --inner-width: 950px;
        padding: 3rem max(1rem, (100% - var(--inner-width))/2);
      }
      
      a {
        color: var(--orange);
      }
      

      I think for the base styles it's going to be easiest for me to work kind of bottom up - first start with almost nothing in the base styles, and then move some styles from the components into base styles as I identify common things I want.

      7. spacing

      I haven't completely worked out an approach to managing padding and margins yet. I'm definitely trying to be more principled than how I was doing it in Tailwind though, where I would just haphazardly put padding and margins everywhere until it looked the way I wanted.

      Right now I'm working towards making the outer layout components in charge of spacing as much as possible. For example if I have a &lt;section&gt; with a bunch of children that I want to have space between them, I might use this to space the children evenly:

      section > *+* {
        margin-top: 1rem;
      }
      

      Some inspiration blog posts:

      8. responsive design: use more grid!

      The way I was doing responsive design in Tailwind was to use a lot of media queries. Tailwind has this md:text-xl syntax that means "apply the text-xl style at sizes md or larger".

      I'm trying something pretty different now, which is to make more flexible CSS grid layouts that don't need as many breakpoints. This is hard but it's really interesting to learn about what's possible with grid, and it's a good example of something that I don't think is possible with Tailwind.

      For example, I've been learning about how to use auto-fit to automatically use 2 columns on a big screen and 1 column on a small screen like this:

        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), max-content));
        justify-content: center;
      

      I also used grid-template-areas a lot which is an amazing feature that I don't think you can use with Tailwind.

      Some inspiration:

      9. the build system: esbuild

      In development, I don't need a build system: CSS now has both built in import statements, like this:

      @import "reset.css";
      @import "typography.css";
      @import "colors.css";
      

      and built in nested selectors, like this:

      .page {
        h2 { ...}
      }
      

      If I want, I can use esbuild to bundle the CSS file for production. That looks something like this.

      esbuild style.css --bundle --loader:.svg=dataurl  --loader:.woff2=file --outfile=/tmp/out.css
      

      Even though I usually avoid using CSS and JS build systems, I don't mind using esbuild (which I wrote about in 2021 here) because it's based on web standards and because it's a static Go binary.

      why migrate away from Tailwind?

      A few people asked why I was migrating away from Tailwind. A few factors that contributed are:

      • Tailwind has become much more reliant on a build system since 2018, I think it's impossible (?) to use newer versions of Tailwind without using a build system. So I've been using Tailwind v2 for years. (there's also litewind apparently)
      • It's always been true that you're supposed to use Tailwind with a build system, but I've never really done that, so I have 2.8MB tailwind.min.css files (270K gzipped) in a lot of my projects and it feels a little silly.
      • I'm a lot better at CSS than I was when I started using Tailwind
      • Ultimately Tailwind is limiting: if you want to do Weird Stuff in your CSS, it's not always possible with Tailwind. Those limits can be extremely useful (a lot of this post is about me reimplementing some of Tailwind's limits!) but at this point I'd like to be able to pick and choose.
      • I ended up with sites that mixed both vanilla CSS and Tailwind in the same project and that was not fun to maintain
      • I got curious about what writing more semantic HTML would feel like.

      CSS features I'm curious about

      While doing this I learned about a lot of CSS features that I didn't use but am curious about learning about one day:

      one last reason I moved away from Tailwind

      I've been talking a lot in this post about what I learned from using Tailwind, and that's all true.

      But I read this post 3 years ago called Tailwind and the Femininity of CSS that really stuck with me. I honestly probably started out with an attitude towards CSS a little like that post describes:

      Theyโ€™ve heard itโ€™s simple, so they assume itโ€™s easy. But then when they try to use it, it doesnโ€™t work. It must be the fault of the language, because they know that they are smart, and this is supposed to be easy.

      But in the last 10 years I've learned to really love and respect CSS as a technology.

      So I decided years ago that I wanted to react to "CSS is hard" by getting better at CSS and taking it seriously as a technology, instead of devaluing it. Doing that changed everything for me: I learned that so many of my frustrations ("centering is impossible") had been addressed in CSS a long time ago, and that also what "centering" means is not always straightforward and it makes sense that there are many ways to do it. CSS is hard because it's solving a hard problem!

      I've been so impressed by the new CSS features that have been built in the last 10-15 years (some of which I've talked about in this post!) and how they make it easier to use CSS, and spending the time to improve my CSS skills has been a really cool experience.

      And that post made me feel like Tailwind contributes to the devaluing of CSS expertise, and like that's not something I want to be a part of, even if Tailwind has been a useful tool for me personally. Especially in this time of LLMs where it feels more important than ever to value humans' expertise.

      Another blog post criticizing Tailwind that influenced me:

      that's all for now!

      Thanks to Melody Starling who originally designed and wrote the CSS for wizardzines.com, everything cool and fun about the site is thanks to Melody.

      Also I read so many incredible blog posts about CSS while working on this (from CSS Tricks, Smashing Magazine, and more), I've tried to link some of them throughout this post and I really appreciate how much folks in the CSS community share their practices.

  4. May 14, 2026
    1. ๐Ÿ”— IDA Plugin Updates IDA Plugin Updates on 2026-05-14 rss

      IDA Plugin Updates on 2026-05-14

      Activity:

    2. ๐Ÿ”— tomasz-tomczyk/crit v0.13.1 release

      What's Changed

      Features

      • feat: add resolve/unresolve button to sidebar comment cards by @Amwam in #532 - Thank you!
      • feat: add copy-path buttons to file headers and navbar by @tomasz-tomczyk in #538 - Thank you @menzenski for suggesting!
      • feat(frontend): redesign waiting modal with collapsed prompt and usage tips by @tomasz-tomczyk in #539
      • feat: add HEEx syntax highlighting for .heex/.leex files by @tomasz-tomczyk in #542

      Fixes

      Internal

      Full Changelog : v0.13.0...v0.13.1

      What's Changed

      Full Changelog : v0.13.0...v0.13.1

    3. ๐Ÿ”— r/york Looking for people to attend pride with! rss

      Hi! I really wanna go to York pride on May 30th, and I realise this may sound silly, but I'm hesitating a bit bc I have absolutely no one to attend with. I don't have any queer friends here and nobody really who would go with me. It would be the first pride I attend. So basically just wondering if anyone would be down to buddy up or group up etc to go to pride? I'm a lesbian in her late twenties, if that matters.

      If anyone's interested, send a message or reply!

      submitted by /u/meetmeinthewind
      [link] [comments]

    4. ๐Ÿ”— modem-dev/hunk v0.12.1 release

      What's Changed

      Fixed

      • Included the bundled Hunk review skill in standalone prebuilt release archives so hunk skill path works after extracting a tarball or installing via Homebrew (#302 by @benvinegar).

      Full Changelog : v0.12.0...v0.12.1

    5. ๐Ÿ”— r/LocalLLaMA NVIDIA Reportedly Prepares RTX 5090 Price Hike Amid Rising GDDR7 Costs (maybe RTX 50 and PRO series as well) rss

      NVIDIA Reportedly Prepares RTX 5090 Price Hike Amid Rising GDDR7 Costs (maybe RTX 50 and PRO series as well) | submitted by /u/panchovix
      [link] [comments]
      ---|---

    6. ๐Ÿ”— r/york The destruction has begun rss

      The destruction has begun | Two days ago three beautiful elegant silver birch trees stood here, within the grounds of Bootham Park Hospital. This morning I was horrified to see they had been cut down. How many more trees will be destroyed as the developersโ€™ bulldozers move in on the park?
      The entire area is within a conservation area and as such permission should be sought before and work on trees. I have made a report to the council. submitted by /u/dawnriser
      [link] [comments]
      ---|---

    7. ๐Ÿ”— r/LocalLLaMA The RTX 5000 PRO (48GB) arrived and it is better than I expected. rss

      I posted here about buying it a few days ago: https://www.reddit.com/r/LocalLLaMA/comments/1t2slmw/first_time_gpu_buyer_got_a_rtx_5000_pro_was_it_a/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button

      Before pulling the trigger I was leaning more towards a Mac Studio. But the the prompt processing speeds I was reading about were giving me pause. The budget was $5000/6000. So the 256GB was out of the question.
      I gambled and bought the RTX 5000 Pro. With ZERO experience with PCs, how to build them, what parts to buy... It was a good deal. I paid $4300 for the gpu including taxes (in the post I wrote 4700 in the comments, but I was mistaken, I checked the receipt) and had to buy everything else for the computer. It ended up costing $5600 in total with 64 gb of RAM.

      Assembling the thing was not easy for me as a total novice, but thankfully we have LLMs to guide us through these things.
      Then came Linux and vLLM... Honestly I was totally lost. without Claude Code it would have been impossible. Also what settings to use to run Qwen3.6-27B-FP8 with full precision cache. Thankfully this guy posted everything I needed to know to tell Claude what to do: https://www.reddit.com/r/LocalLLaMA/comments/1t46klu/qwen36_27b_fp8_runs_with_200k_tokens_of_bf16_kv/

      After burning through 50% of my Claude Code Max 20x weekly limits the thing now works, and I have to say... I made the right call. This thing rocks.
      I'm getting up to 80 ts in TG (more like 50/60 for very big prompts) which is phenomenal. But most importantly I'm getting 4400 tokens per second in PP!

      The full precision cache fits only 200k tokens, but It is totally ok for me.

      I honestly don't know why people are not talking about this gpu more. It costs just 1000$ more than an RTX 5090, it can fit 27B at 8FP and 200k of context at full precision. It draws half the electricity... Sure it is slightly less performant, but the numbers I'm getting are way more than I was expecting. Two 5090s would definitely beat this. But it would cost significantly more, it would be crazy noisy and tear a hole in my pocket in electricity bills.

      submitted by /u/Valuable-Run2129
      [link] [comments]

    8. ๐Ÿ”— The Pragmatic Engineer The Pulse: Did capacity shortages turn Anthropic hostile to devs? rss

      Hi, this is Gergely with a bonus, free issue of the Pragmatic Engineer Newsletter. In every issue, I cover Big Tech and startups through the lens of senior engineers and engineering leaders. Today, we cover one out of five topics from last week 's The Pulse issue. Full subscribers received the article below seven days ago. If you 've been forwarded this email, you can subscribe here .

      Last week, we reported on Anthropic seemingly being on a speed run to break devs' goodwill by silently "nerfing" Claude Code, banning corporate accounts without warning, and a weird growth experiment involving revoking Claude Code and then restoring it. This week, a dev on the $20/month Pro plan had Claude Code removed just days into their subscription:

      altClaude Code turned out to be a trial for seven days for some paying customers. Source:Jaime Geiger

      This week, Anthropic announced a big data center expansion, and relaxing previous usage limitations, while**** Elon Musk's SpaceX / xAI ( a single company after a merger) is renting its complete Colossus 1 data center to Anthropic. From the announcement:

      "Colossus 1 features over 220,000 NVIDIA GPUs, including dense deployments of H100, H200, and next-generation GB200 accelerators. The cluster delivers extreme parallel performance for large language models, multimodal systems, scientific simulations, and generative AI at frontier scale.

      Anthropic plans to use this additional compute to directly improve capacity for Claude Pro and Claude Max subscribers."

      In parallel with this release, Anthropic announced:

      • Doubling Claude Code's current 5-hour limits for Pro, Max, Team, and seat-based Enterprise plans
      • Removing peak hours limit reduction on Claude Code for Pro and Max plans
      • Substantially raising API rate limits for Opus models

      Is it possible that capacity issues are what led Anthropic to make Claude worse? It's confirmed the company has struggled with capacity for months. Conveniently, Claude Code being "nerfed" led to lower compute load, while removing Claude Code access from cheap plans could look like rate limiting. Even the banning of corporate accounts could be seen as scaling back at a time when the business has struggled to serve existing growth. Yesterday, (6 May), at the Code with Claude event hosted by Anthropic, CEO, Dario Amodei, said:

      "We originally planned for 10x growth, and we've seen something more like 80x growth in revenue and usage over the last period of time."

      SpaceX / xAI renting a good chunk of its capacity to Anthropic is ironic, considering that xAI (Musk's AI startup) builds Grok, a frontier model and direct rival of Claude, and also in January, Anthropic banned xAI developers from Claude. As covered at the time:

      "It's common for an AI lab to not allow another AI lab to use its model, like at OpenAI, Anthropic, and Google. On the other side, there's also the pertinent question of why a leading AI lab would even want to use a rival for its own day-to-day work?

      Turns out, xAI (Elon Musk's AI lab) was relying on Cursor to write code, which we know because they got cut off."

      Anthropic likely banned xAI to stop Claude from being potentially distilled while it tried to improve Grok's coding capability. Meanwhile, Musk called Anthropic "misanthropic and evil" earlier this year, and said the new tenant "hates Western civilization". But both parties seem happy to put that behind them and strike a deal, so perhaps there's something else at play.

      Could SpaceX / xAI be checking out of the frontier-AI model wars? Leasing a good chunk of its data center capacity might suggest that.**** SpaceX / xAI has two data centers: Colossus 1 and Colossus 2. Colossus 1 represents somewhere around 45% of current SpaceX / xAI capacity, and 20-25% of planned total capacity.

      Giving up as much capacity as this might indicate a lack of demand, or capacity sitting idle. It also means Grok is losing out in market share to Claude, ChatGPT, and other leading models. In February 's AI tooling survey we found scarce mention of Grok, which lagged in usage behind open models like DeepSeek and Qwen.

      To be fair, unlike Anthropic and OpenAI, Grok never had a B2C nor B2B business that took off. The biggest consumer use case for Grok seems to be its integration into the social media platform, X; at least, I don't know of any tech company using the model for serious work.

      " The enemy of my enemy is my friend", says the maxim, and if there's one company Musk hates, it's OpenAI. He is currently suing OpenAI, claiming it betrayed its founding nonprofit mission to develop safe AGI for humanity's benefit by shifting to a profit-driven model backed by Microsoft. Musk also claims that despite investing about $40M, he has no ownership of the company.

      He wants $150B in damages, the removal of Sam Altman and Greg Brockman, and for OpenAI to return to a full nonprofit, as per when he invested in the company. We covered more about OpenAI 's own ethical challenges between nonprofit and for-profit right after the firing of Sam Altman in 2023, in the deepdive What is OpenAI, really?

      Similarly, Anthropic may well have an issue with OpenAI, if CEO Dario Amodei's failure to join hands with Sam Altman while sharing a stage with the Prime Minister of India earlier this year is anything to go by.

      alt(Most) AI leaders join hands at the AI Impact Summit with India 's Prime Minister. Source: Fortune

      Capacity issues hurting Anthropic would benefit OpenAI, and so by offering significant capacity to Anthropic, Musk is making it harder for OpenAI to win the market. That would be ironic, given he's a former investor.

      Read the full issue of last week 's The Pulse , or check out this week 's The Pulse . This week 's issue covers:

      1. Forward deployed engineering heats up again. Massive demand for the role at Google, OpenAI, and Anthropic. The latest version of the FDE role looks like the consultant / solution architect role done by many early-junior engineers.
      2. Why are layoffs spiking? Tech job cuts are higher than since early 2023 for various reasons: smaller teams prompt reorgs and reduce the need for middle management. Meanwhile, poorly performing companies make layoffs without the influence of AI.
      3. New trend: self-reporting 100% AI generated code at Microsoft. With mid-year performance reviews looming, some managers advise their reports to claim they use AI for everything.
      4. Industry Pulse. Tokenmaxxing at Amazon, too, SaaS companies grow faster than before - perhaps partly due to AI, Bun rewritten in Rust with AI works well, Anthropic overtakes OpenAI in enterprise spend, and more.
      5. Vibe coding & agentic engineering get uncomfortably close. A relatable observation by software engineer, Simon Willison, about reviewing AI agents' code less than would be ideal.
    9. ๐Ÿ”— r/Leeds Dirt Dyke Dive - worth going??? rss

      Hi all - I recently came out as lesbian, and iโ€™m 25(late side i know). I donโ€™t have any queer friends at all, so i donโ€™t know much about queer spaces etc. I heard about the Dirt Dyke Dive events at wharf chambers and it looks like a great opportunity to meet people but the thought of going alone and standing in a corner is so scary lol. do people turn up alone? or is that really weird? I just wanna meet people whether it be friends or more but any advice is appreciated:)

      submitted by /u/AggressiveWinner6401
      [link] [comments]

    10. ๐Ÿ”— r/reverseengineering VELVET CHOLLIMA Infostealer Campaign Using Trading App as Lure rss
    11. ๐Ÿ”— r/york Wondering what year is this? rss

      Wondering what year is this? | submitted by /u/ScrollAndThink
      [link] [comments]
      ---|---

    12. ๐Ÿ”— r/reverseengineering Ghidra 12.1 has been released! rss
    13. ๐Ÿ”— r/Yorkshire โ€˜Abandonedโ€™ Yorkshire airport begins path to reopening after loan agreement rss

      โ€˜Abandonedโ€™ Yorkshire airport begins path to reopening after loan agreement | submitted by /u/JOE_Media
      [link] [comments]
      ---|---

    14. ๐Ÿ”— r/Yorkshire A trip through Standedge Tunnel โ€“ the longest canal tunnel in the UK rss

      A trip through Standedge Tunnel โ€“ the longest canal tunnel in the UK | The trip takes around three hours, led by Canal & River Trust employees. Tickets start from ยฃ10 for 30 minute journeys and ยฃ50 per adult for the 3-hour through trip. submitted by /u/Yorkshire-List
      [link] [comments]
      ---|---

    15. ๐Ÿ”— r/Leeds I'm 16 I've applied for around 450 jobs I just need something rss

      I've checked every damm website of the big chains and companies in Leeds (The fast food places mainly) and I've applied for 379 jobs on Indeed and I've only gotten 2 interviews which both failed

      I just need something, anything I'll work any damm position for less than minimum wage if anyone knows of anything please god tell me

      submitted by /u/SevenVoidDrills2
      [link] [comments]

    16. ๐Ÿ”— r/LocalLLaMA Multi-Token Prediction (MTP) for Qwen on LLaMA.cpp + TurboQuant rss

      Multi-Token Prediction (MTP) for Qwen on LLaMA.cpp + TurboQuant | Implemented Multi-Token Prediction for QWEN on LLaMA.cpp with TurboQuant. +40% performance! 90% acceptance rate. Running locally on a MacBook Pro M5 Max 64GB RAM. Outputs:
      LLaMA.cpp + TurboQuant: 21 tokens/s
      LLaMA.cpp + TurboQuant + MTP: 34 tokens/s Patched LLaMA.cpp with MTP and TurboQuant: https://github.com/AtomicBot-ai/atomic-llama-cpp-turboquant Quantized Qwen 3.6 27B (and 35B) into GGUF with MTP: https://huggingface.co/collections/AtomicChat/qwen-36-udt-mtp Local Ai Models App: Atomic.Chat submitted by /u/gladkos
      [link] [comments]
      ---|---

    17. ๐Ÿ”— matklad Catch Flakes On Main rss

      Catch Flakes On Main

      May 14, 2026

      A small Mechanical Habit today:

      When using not rocket science rule / merge queue, continue to redundantly run the full test suite on main. Maintain an easily accessible list of recent main failures โ€” these are the flaky tests to eradicate.

      For an example, see the โ€œFlakesโ€ link on https://devhub.tigerbeetle.com

      Flaky tests are tests that fail intermittently, once in a thousand runs. This might be due to a genuine bug (assumptions about scheduling that mostly hold) or due to instability of underlying infrastructure (e.g., inability to download a release from GitHub, or to delete a folder on Windows). In either case, flaky tests are a huge productivity drain โ€” as the size and complexity of test suite grows, more and more CI runs fail spuriously, even as each individual test almost always passes.

      Flaky tests are challenging to deal with โ€” if you are working on landing a PR and your CI fails due to an obvious flake, the temptation to just re-run the test suite is enormous, especially if thereโ€™s a certain background dissatisfaction with infrastructure stability.

      If you are of a mind to do some flake squashing, then your PRs will be green just to spite you! And working off of othersโ€™ PRs would require first to separate flakes from genuine failures.

      This is why the merge queue is powerful: if thereโ€™s a guarantee that every commit on the main branch passes the tests, then every failure on main is a flake, by definition. Collecting all such failures into a single list compresses time, allows to prioritize the most impactful sources of instability, and reveals correlations between failures.

    18. ๐Ÿ”— Console.dev newsletter boring rss

      Description: SSH tunnel manager.

      What we like: Makes it easy to open, persist, and list SSH tunnels. No need to remember SSH argument ordering. Supports TCP and sockets, including a reverse SOCKS5 proxy. Configurable via TOML.

      What we dislike: Nothing - does the job well.

    19. ๐Ÿ”— Console.dev newsletter Datatype rss

      Description: Charts as a font.

      What we like: Render charts using a font so it doesnโ€™t require any other dependencies (no JS, no images). Available via Google Fonts or as a self-hosted font. Font appears in-line with text. Variable font so you can configure density and weight - resizes like any normal font.

      What we dislike: Only supports bar charts, sparklines, and pie charts.

    20. ๐Ÿ”— Ampcode News npm Package Changes rss

      We're now shipping the Amp CLI as a single-file executable (compiled by Bun) instead of as a JavaScript source package. This makes Amp faster and more compatible across platforms and runtimes, and it's necessary to support Amp plugins.

      If you're using the recommended direct installation, nothing changes for you. You've been using this single-file executable for several months. You can stop reading here.

      If you've installed Amp via npm, you should switch to direct installation:

      npm uninstall -g @sourcegraph/amp
      curl -fsSL https://ampcode.com/install.sh | bash
      

      (See all installation methods.)

      If you need to keep using npm to install Amp, usually because your company has an internal npm mirror/archive, be aware of some changes:

      The old package names are aliases but will be removed on June 15, 2026.