{
  "episodeId": "SLP607",
  "speakers": {
    "stephan": {
      "name": "Stephan Livera",
      "role": "host",
      "tag": "STEPHAN"
    },
    "fabian_jahr": {
      "name": "Fabian Jahr",
      "role": "guest",
      "tag": "FABIAN"
    },
    "gloria_zhao": {
      "name": "Gloria Zhao",
      "role": "guest",
      "tag": "GLORIA"
    }
  },
  "segments": [
    {
      "speaker": "stephan",
      "time": "00:11",
      "start": 11.17,
      "text": "Hi everyone, and welcome back to Stephan Livera podcast, brought to you by Bold, the best place to buy, sell, or store your Bitcoin over at getbold.io for the American listeners. Now rejoining me on the show today, Gloria Zhao and Fabian Jahr. Welcome back to the show, Gloria and Fabian."
    },
    {
      "speaker": "fabian_jahr",
      "time": "00:27",
      "start": 26.78,
      "text": "Thanks for having us."
    },
    {
      "speaker": "gloria_zhao",
      "time": "00:28",
      "start": 28.5,
      "text": "Thank you."
    },
    {
      "speaker": "stephan",
      "time": "00:30",
      "start": 29.64,
      "text": "Great. So, yeah, let's just start with, you know, where things are going in Bitcoin Core. As I understand, we've got version twenty-eight coming out soon, right?"
    },
    {
      "speaker": "fabian_jahr",
      "time": "00:40",
      "start": 39.82,
      "text": "Yeah, I think we're on RC two. So, assuming no hiccups, in one or two weeks, you'll be able to run twenty-eight dot zero from bitcoincore dot org. Well, you can test out the release candidates today if you want to, that would be helpful. But yeah, it's got some pretty exciting new features in it."
    },
    {
      "speaker": "stephan",
      "time": "00:58",
      "start": 57.58,
      "text": "Great. And so, I guess- For listeners who are just trying to get an idea of what's going on with some of these things, maybe they may not, not all of them will directly run Bitcoin Core themselves. Maybe they're running like a Raspiblitz or an Umbrel or a Minote or something like that, and that is what's running, you know, Bitcoin Core underlying it. and so maybe- If we can explain for listeners a little bit about what are some of the typical changes that come through in Bitcoin Core, and maybe explain a little bit about what are some of the, maybe, with some examples, what are some small changes that might come through in a new version of Bitcoin Core, and what are some of the big changes and the big projects that might come through?"
    },
    {
      "speaker": "gloria_zhao",
      "time": "01:42",
      "start": 101.67,
      "text": "Well, I thought Bitcoin Core doesn't, doesn't, do it, do anything at all. I thought it was just completely stuck. That's what I heard. I don't know if you said there's some"
    },
    {
      "speaker": "fabian_jahr",
      "time": "01:52",
      "start": 112.11,
      "text": "Yeah, well, so every, every day or every week at least, we're pushing kind of bug fixes, really minor code quality updates, that's some of the work. A lot of it is maintenance. Recently, we just upgraded the build system, which isn't user facing at all, but it does make development a lot more efficient and cleaner and, and all those things, and it, and it re-removes some of the cruff. we're always adding tests, you know, these are the minor things that make up, the majority of the work that's done on Bitcoin Core, and it's very, very important. It helps make sure that we, we push the security bar higher and higher as the stakes for Bitcoin get higher, as the price becomes, as Bitcoins become more valuable. but in terms of features, a lot of them are related to, so assuming TXO is a great example where a user might actually be interested in that, where you might be able to use your node immediately without having to wait until the syncing is finished, package relay and all the mempool policies that I'm working on may be a little bit less user facing, but it might be what's going on under the hood with your lightning transactions, for example, and hopefully, if we, if and as we see lightning start to adopt those things, it just c-- it makes the fee bumping experience much much more, smooth, and it also smoothes out some of the kind of security guarantees where it's like, \"Oh, you know, it's all safe unless this fee spike, this fee spike happens,\" that kind of caveat goes away, and so you no longer have to overestimate, et cetera, and hopefully over time that means that as a Lightning user, it becomes cheaper for you to participate in your Lightning channels and, and all your payments are, easier. And so, so that I just named two of the features, package, yeah, package relay trucks, basically a lot of my kind of mempool policy proposals are in this, In this release, so Trux, sibling eviction, package RBF, a-along with package relay. And then Fabian, if you wanna talk about some of yours?"
    },
    {
      "speaker": "gloria_zhao",
      "time": "04:09",
      "start": 249.42,
      "text": "Yeah, w-within this release, kind of the, the, the reason why I'm here, is that, SumiTX, there was already mentioned that we have that in the release and that's something that was kind of stuck in a limbo of, being somewhat merged but not available on mainnet, previously. and so I was involved in kind of getting that across the finish line, and then also Testnet four, is where, I, implemented, this, new Testnet, it was a single poll request and then some follow-ups, but, yeah, these, these were the two ones that, that we have in there right now that, I was involved in pretty heavily."
    },
    {
      "speaker": "stephan",
      "time": "04:50",
      "start": 290.07,
      "text": "Yeah, okay. So, maybe one thing to zoom out a little bit, touching on this idea of, you know, there are some changes that are just small and maybe under the hood that people won't notice, and others there are kind of big projects that are landing. And so, I think there's probably the, the listener who's maybe not following as closely might have two sort of concerns. One is the one you mentioned, which is kind of like, You know, does Bitcoin even-- does Bitcoin Core even do anything like the, you know, but I guess that could al-- you could also ask the question, should there be these big projects, right? There might be some who are- You know, not quite being an ossifier per se, but they might be sort of saying, \"No, I just want like, I just want this kind of stable thing.\" And then maybe on the other side, there might be some people who are saying, \"No, no, I do want things, and I want them faster.\" You know, the-- you know, that I-- that they, you know, that they have this perception that, Look how quickly other software projects are moving, not necessarily like, you know, old coins, but just software in general. The, the, there's maybe a perception that about the pace of change. So I'm curious if you have any thoughts you guys wanna add in there about the pace of change."
    },
    {
      "speaker": "fabian_jahr",
      "time": "05:59",
      "start": 359.07,
      "text": "Sure. I think most of us fall, well, not to speak on ha-- on, on behalf of anybody else, but I would say I'm on the more conservative side when it comes to software engineering in general and maybe even within Bitcoin Core. but that doesn't mean that there are, like, we should just not do anything, right? And I myself have made lots of proposals. And I think a really good example here is the mempool policy stuff, because it is, I think, an example of something that Satoshi created that wasn't perfect. So- Satoshi did a lot of amazing things. I named my dog after Satoshi, but he wrote some imperfect code, sorry. and over the years, we've kind of run up against all the limitations there and that kind of demands that we make a change or at least refine on the trade-offs that we made so that they are safer. so for example, Satoshi made it so that you could spend unconfirmed outputs like as much as you want, right? So you create a transaction And it hasn't confirmed yet, you can spend the outputs of that transaction immediately. However, he didn't make any kind of limitation, so originally it was infinite. Originally the mempool was infinite, and these are all very, very much not DOS resistant, trade-offs to make. And so over the years, we've kind of added limitations. We added, oh, you can only have twenty five descendants, you can only have twenty five ancestors. But then we found that that means you can have an infinite cluster size, and that we run into all kinds of pinning- problems and like the mining code is kind of hampered and slowed down by the fact that there's all this complexity, et cetera, et cetera. And so, like, part of what Truc does, Truc is a limited topology, it says you can only have one parent and one child. Most use cases, are perfectly happy to only have the, these restrictions, and within the world of one parent, one child topology, we can do it perfectly, and it's like super lightning fast To like assess all these things, we can perfectly calculate the mining scores, et cetera, et cetera. and so that's one of those projects where, yes, we eventually do need to figure this out because we started from a place that wasn't, you know, again, I'm not trying to knock on Satoshi, it just wasn't ideal and it doesn't really work for the use cases that we have today. and it's really not like, I, I think people get really scared about touching protocol code, but that doesn't mean we shouldn't touch-- Like we're not blindly merging things and we're not blindly like deciding things. it's, yeah, that's my advocate, that's me advocating for like we should get things done, but of course, I totally agree with the people that the security bar is really high, a lot is at stake, and we should be proceeding with a lot of caution."
    },
    {
      "speaker": "stephan",
      "time": "08:48",
      "start": 528.25,
      "text": "Yeah, Fabian, anything to add there?"
    },
    {
      "speaker": "gloria_zhao",
      "time": "08:50",
      "start": 530.11,
      "text": "Yeah, I think it's hard for me to put it into like a framework or so to really formalize it, but I would say in, in general, like of course, we have a lot of, maintenance and like smaller improvements. I think anyone who is a software engineer, can relate to that and, and has a hard time, imagining any project that is maintained without maintenance, like it's just, that's just, just the nature of it basically. and, then I think like in terms of feedback Features or, or like bigger changes that we add, I, at least to me, I would say that's always like the, the bar is we want to overall just always make it safer and easier to use, and, so anything that like fulfills both or at least one of them without like trading one for the other, these are worthwhile changes and, as always with our review, bar that, that we're setting, several people- People have to agree that, that this is actually a good idea and, and like doesn't, doesn't trade off one for the other or so. and so yeah, then when enough people think that it's worthwhile, then, we get behind it and, and try to implement it and get it, included."
    },
    {
      "speaker": "stephan",
      "time": "10:03",
      "start": 602.84,
      "text": "So I, I wanna focus in on the comment around enough people think it's worthwhile, and, you know, I think, I think you're right, but it might be useful just to explain for people because, as Gloria pointed out, you know, as it's well acknowledged, you know, Bitcoin Core, bit-- back then it was, you know, not even on Bitcoin, it wasn't even called Bitcoin Core, but it wasn't perfect from day one. There were changes and things that were necessary over time, and we could even say that As the system grows over time, maybe I'm kind of paraphrasing and putting it loosely, but the system is gonna hit a certain level of load that you sort of need more optimization or more things to kind of help you deal with a certain level of transaction that's happening on Bitcoin. And that's why maybe you ne- you know, you need this kind of mempool, this more advanced way of dealing with the mempool and more advanced way of dealing with the ancestry of the transactions and so on. And even from an assume UTXO point of view, right? Like, as the blockchain grows, we For people to be able to quickly onboard and start and run their own Bitcoin node and these kinds of things, but it necessitates, you know, h-harder engineering trade-off conversations because you can't, you know, there's no free lunch, there's always a trade-off with something. So how, how do you sort of, what are the main ways people decide, okay, this is a worthwhile project or this isn't a worthwhile project?"
    },
    {
      "speaker": "fabian_jahr",
      "time": "11:20",
      "start": 679.67,
      "text": "I think I'll echo what Fabian said that there is no formalized formula or equation or check- List that is out there for you to, you know, go down the boxes and make it happen. And I think it's different for each project. I think there's a, again, you said a trade-off between what's the risk and what's the potential benefit. like, you know, certain soft forks that can cause people to fall off the chain. and, you know, if it, if it doesn't give us anything, then, yeah, that's maybe not something that we wanna go for. whereas, like, I, I don't know, I think a lot of these mempool things are pretty no-brainer, where they're really useful and not very risky. well, they are risky, but less so than a, than a soft fork. But I think, yeah, a lot of people-- So I don't have a good answer for you. we can maybe talk about what the process looks like for trying to get buy-in from the right people, because I have seen, I think, a lot of- People championing certain projects that have, that fall into these, like these pitfalls of seeking buy-in from the wrong people. Like they're looking, essentially they're looking for Twitter likes instead of code review, for example. and like, there's kind of this, at different points in the project, you'll want buy-in from different people, right? So conceptual feedback should be first, right? is this a, is this a good idea? Like, have you talked to the potential- Users, who are the potential users? And then later when you move on, eventually you have to get to approach and code review because everybody could think it's a good idea, but if literally nobody has looked at the code and nobody on Twitter is looking at your code, then this is, this is hit a dead end. And then as the code matures, then you have to go back to the people who might use it and you ask them to test out your, your pull request and you kind of have this cycle of, of feedback that hopefully reinforces itself and gains Momentum until you kind of have a lot of eyes on what it is that you're working on, a-and, and eventually it makes it in. yeah, I, I think that's my-- that I'll put that out there."
    },
    {
      "speaker": "stephan",
      "time": "13:40",
      "start": 819.85,
      "text": "Sure. So when it comes to different projects being championed, sometimes it can take a long time to, for them to land. as I recall, assuming UTXO, as-- I mean, you guys correct me if I'm wrong, I believe that was James Oburn, right? James Oburn in maybe twenty nineteen? Something like that. It was, it was like this idea was-- I mean, here we are, September 2024, that's five years ago. so maybe if you guys could help explain why it is, some projects, you know, especially for the listeners who aren't as, you know, involved in the world of software development, why does it seem like, you know, five years for a project to land? W-why, why is that?"
    },
    {
      "speaker": "gloria_zhao",
      "time": "14:19",
      "start": 858.97,
      "text": "Yeah, I think that's, that's for me. So, twenty nineteen is correct, I, I remember that very well because that's when I basically got started contributing and I also met James Obrien pretty early, around that time, and I was working on this CoinStats index, Stephan, we did an episode about that probably four or five years ago, but yeah, exactly. and so that, like, there were, there were quite a, a bit of overlap in terms of like the code we touched. to, assume it takes over, and that's, that's why I got interested in it very early, and that's why I also already, already care about this project basically since then. and so James was working on this and, and was working on, on, on some other things as well, and like kind of, I think was, was, doing pretty much all the right things, but, maybe not, All of them, or p-- maybe it was a bit too early, or maybe people didn't care enough about it, so it's kind of hard for me why it didn't get that much buy-in from people. but it, it was, it was just kind of like dragging along, and people in general had a idea that it was, or said it was a good idea, but maybe there were just at the moment other things that they, that they found were more important or so. so, it took quite a long time, and I think over time James also got a"
    },
    {
      "speaker": "gloria_zhao",
      "time": "15:43",
      "start": 943.46,
      "text": "I can say that because I think he's also voiced that on, on Twitter and so on. and, so he, he still like provided code, but, wasn't really that interested in going down rabbit holes and, and doing bike shedding anymore. and so kind of the, the, the compromise, I guess, we can call it was, that, over a year ago, basically the last pro request that implemented the feature fully was merged But it wasn't enabled on mainnet, it was just enabled on Signet and, on, Regtest of course, but also, on testnet, and, so people could basically test it out but not really use it. I mean, this is really a feature for, syncing the node, making, making, getting started with mainnet easier. So it was kind of a cop-out, I would say. so the idea was that, okay, we, we merged the code now, like, otherwise you have other problems like Request, rots over time, like you have to keep rebasing it, especially when it's a big thing that touches a lot of, a lot of parts of the codebase, because other things change all the time as well. and so the code was in there and like kind of, I- I think, like, I'm not sure if it was ever said explicitly, but kind of my understanding, and I think from everyone, the understanding was that we let it lay there with signet and testnet for, one release, and then in the next release, we'll, we'll enable it for mainnet. and, at this time, then James was kind of like, \"Okay, I need, I need a break.\" so James wasn't really after, getting, getting that done and like getting few people feel comfortable with, with the and so there were, in particular, one improvement, was opened at the time and one bug that was kind of, deemed, important, were, were open, but like there wasn't really any work on it, getting done. Like it was, it-- they were kind of, laying there but not getting merged. And, I kind of, when the next release came around, six months ago, I joined the meeting and kind of realized that we hadn't joined, we hadn't merged Which these mainnet parameters for SumbitXO yet, and so I, I, I kind of like opened the poll request, but I actually had missed that, that Troy had already had a poll request for it, but I was really surprised that I kind of like, I hadn't seen these other poll requests, I kind of lost track of, of it myself, and so I guess kind of everyone had lost track of like what, what there was still, was needed to do for SumbitXO, and so everyone was just busy on, working on"
    },
    {
      "speaker": "gloria_zhao",
      "time": "18:29",
      "start": 1109.04,
      "text": "The result was that in the last release, there was no asymmetric own minute parameters. and so I kind of set that as, as one of my goals for, for the work for the next six months to, to get it ready. and my go-to tool for that was I, I just opened a tracking issue. That is just an issue where, you kind of lay out what, what are the things that need to be done and, yeah, just kind of g-give people kind of a point to see what the work, what, what is One at a time for a specific feature, and, where they can go to, to contribute, and so that, that grew quite a bit, so, aside from all of the stuff, that was there before that was known, that was, interesting to be addressed, there was a lot of, additional test coverage that was added over the last six months, the, these, issues that I mentioned were, merged, but also a few other issues were, discovered and also merged. So I think overall, like by the time this release came around, and we merged the mainnet parameters finally for this release, I think there was like seventeen, eighteen pull requests, that were tracked in this, in this tracking issue, so really a lot of work has been done on, on this ZOOMTXO, project. And so I think that's also kind of symptomatic of like people kind of lost track of it and weren't really paying attention to it and not looking for issues, and that on the other hand- That kind of gave many people the feeling of that they aren't one hundred percent comfortable with this feature being available on mainnet, and so both the transparency and like seeing that actually there's a lot of more work gone into it then made people comfortable and say, \"Okay, it's fine to, to, to enable it on mainnet.\" so that's kind of the, the journey from, assuming it's all, I guess, also, right up to this release and, and it being included in this release."
    },
    {
      "speaker": "stephan",
      "time": "20:26",
      "start": 1225.82,
      "text": "Right. And, just, look aware, they've probably heard it mentioned a few times, but if you could just give the simple kind of thirty second explanation or one minute explanation, what is a Seumi UTXO, just for-- just to make sure everyone can follow along?"
    },
    {
      "speaker": "gloria_zhao",
      "time": "20:41",
      "start": 1240.67,
      "text": "Yeah. So, when you, when you sync the chain, when you start your, your node for the first time, you're, you're synchronizing the whole chain, you're loading all of the historical blocks, and, only when you're done with that, you can, you can use the node,"
    },
    {
      "speaker": "gloria_zhao",
      "time": "20:59",
      "start": 1258.9,
      "text": "UTXO set, which, tracks all of the coins that are unspent, that's unspent transaction output. and so what, assume UTXO allows you to do is it allows you to load a UTXO set that is from much more recent, so in, in this case now we use the last halving block, and you load that and then you sync from that point and you assume that this UTXO set is valid, that is additionally, the security, that you have there is that XO set is included in the code. That is, that is exactly the thing that we just talked about that needed to be merged for mainnet. And so you, you sync from that, UTXO set, to the tip, which is a lot less work to do, and then you get st- can get started with, with using the node, and then the, the, in the background, you still do the full sync with all of the rest of the blocks, for additional security, and if you, if you It allows you get, started with using your full node much quicker than it was before."
    },
    {
      "speaker": "stephan",
      "time": "22:04",
      "start": 1323.8,
      "text": "Back to the show in a moment. This show brought to you by CoinKite dot com, the creators of the best Bitcoin hardware security devices such as the Coldcard Mark IV and the new Coldcard Q. Now, we use Bitcoin hardware security devices to keep our keys offline, our private keys offline. Now, the way these work is you can do that setup, write down your twelve or twenty-four words on those, the seed word cards and Keep that secure. Now you can use this device to interact with the Bitcoin network using software such as Sparrow Wallet, Electrum, or Bextra Desktop or Nunchuk as a few examples. Now you have a range of security features that you can use with these devices, such as passphrase, you can use seed x or, or my favorite is multi-signature. Now if you're starting in a basic way, just start with the device and the USB-C cable, plug it directly to the computer and use it that way, and then later improve Your setup, but I believe these devices are great at helping secure your coins, especially as you start to migrate up into multi-signature security. But don't be disheartened or don't be, scared away. They are accessible, and I think you actually do learn about Bitcoin in the process. So to get yours, go to coinkite dot com, use code Livera to get a discount on your cold card. The lead sponsor of this show is Bold, the best place to buy, sell, and save Bitcoin. For listeners in the US, Bold lets you secure your financial future with complete peace of mind by integrating a low fee Bitcoin only brokerage with next gen multisig vaults. With Bold, you can smash buy Bitcoin or set a DCA plan for only zero point nine nine percent fees and seamlessly deposit the Bitcoin direct to your Bold Vault. The Bold Vault is a two or three collaborative multisig where you hold two keys and Bold holds one as a redundant backup protecting against loss or theft. You can use Trezor, Ledger or Coldcard hardware wallets to spin up a Bold Vault in just a few minutes and the Bold Vault Is the only collaborative custody vault available with zero monthly fees. They're also offering zero fees on your first ten thousand dollars of Bitcoin buys and twenty-five dollars of free Bitcoin when you buy a hundred dollars of Bitcoin or more. Try Bold today and upgrade your stacking experience over at getbold dot io. And now, back to the show. Gotcha. Yeah, so let me just paraphrase that again, 'cause that was a lot, just for listeners who maybe aren't as familiar. The idea is, when you want to participate in Bitcoin as a, let's go, as a first class Bitcoin user, you on your Bitcoin node. This is a, a piece of technology that allows you to quickly bootstrap your full node with some certain trust assumptions, and the idea is you're taking, let's say, a snapshot of the UTXO set and you're kind of trusting it from here, but also in the background, your Bitcoin node is gonna download the blocks and, you know, a-and is able to verify all the way through to prove that that particular hash that you started with was correct. That's kind of the, you know, the s-the short form I would say. but what's the implication The implication of this means that with a suMTXO, it's now a lot easier for people to actually run their Bitcoin Core node because now you can be up and running really quickly, whereas historically those users might have just used either a custodial platform, right? That's the elephant in the room, they just got their coins on, you know, Coinbase or whatever, or they might be using an, an Electrum-style wallet that's calling out to a server, or they may just be using a, Bitcoin wallet where you're trusting the creator of that wallet to give you the correct answer. And so in this version, if you're using your own Bitcoin Core with a sum of UTXO, you can be sort of up and running faster. So I guess that's the implication, and it might make it easier, if this were to be built into other things, as an example, BTC Pay Server, I know you were, talking a bit about that, Fabian, or I, I believe you have been looking at that."
    },
    {
      "speaker": "gloria_zhao",
      "time": "25:48",
      "start": 1547.98,
      "text": "Yeah, BTC Pay Server has their own solution for this, where you, I think they call it Fast Sync. and of course, it's fine if you, if you wanna trust BTC Pay Server, and, and, and get kind of a solution from them, I think it's a great project. But you always al-also trust, Bitcoin Core in the background anyway. and so, wouldn't it be better if you didn't have to trust both of them, but you just have to trust Core, which,"
    },
    {
      "speaker": "gloria_zhao",
      "time": "26:18",
      "start": 1577.7,
      "text": "On a limb, but I think it has more attention on it, and more review, and, so yeah, and I think it should also be more performant the feature, doing it with Bitcoin Core. So I think it's an upside and also, for BTPayServer, the project, they don't have to do this maintenance of this feature anymore in the future, so I think it's a win for, for everyone."
    },
    {
      "speaker": "stephan",
      "time": "26:41",
      "start": 1601.18,
      "text": "Yeah. And then if we zoom out, like, my, my intention here isn't to sort of point the finger of blame and say, \"Oh, see, why didn't it come in five years or whatever?\" Like, my point is more about kind of broadly, just so people understand, this is like an open source system. There's no top-down controller saying, \"Okay, today, today Gloria, you're working on this, and today Fabian, you're working on that, and we need to get this done.\" It's not like, a, a software company where there's, you Lies a bit more on this kind of decentralized, nature of, of, contributors, and I guess that's where one element of it is, and maybe another element is around the funding, right? That, that having developer funding and things like that has evolved a lot since twenty nineteen, and so maybe that's also part of it. I'm curious if you guys have any other thoughts on that, just kind of more broadly and not just kind of assuming it's so specific."
    },
    {
      "speaker": "fabian_jahr",
      "time": "27:39",
      "start": 1659.0,
      "text": "The funding thing, I have seen some criticisms where people say like, \"Oh, developers who are funded by a specific company or thing will work on things that have interest to that company.\" I, of course, can't speak for all of them, but I would say that there's a yes, like my answer to that is yes and no, where no, as in the vast majority of the places out there, like- Like Chaincode and Blockstream and Spiral and Brink, of course, I think operate on a no strings attached model where it's like, we just wanna see you doing work and like, we're not going to tell you you have to work on X, Y, Z project, and I think that's really important and we have to maintain that and protect that, and but on the other hand, I think, There is a lot of maybe internalized and somewhat external pressure on developers where when they apply for grants, they want to come up with this like sexy project proposal. and of course, like we said, like the answer might be no, it might not be a good idea, it might take a really long time, and the most impactful thing that you might be doing might be just writing tests and doing code review and helping with maintenance, and that is, I think, a little people- Think that that looks less attractive on a grant application, and I think that's somewhat on the, on the people giving the grants as well as the people applying for grants for like having this conception. and that is something that we want to fight because it isn't helpful for everybody to be getting grants to like work on their own proposal and they're just kind of, if you imagine this huge tug of war in this decentralized network, everybody's tugging in their own direction and then obviously you don't go anywhere. it, it's much more important that- We focus on what matters and work together to do that. So, I just wanted to throw that out there 'cause I've seen a lot of that kind of discussion. but in general, yeah, the decentralized decision making thing is really hard for people to grok because a lot of people imagine that-- I, I think a lot of people have this mindset of like, there's this committee, like you're going on Shark Tank, and there's a panel of judges, like the maintainers are a panel of judges, and you like present your work that you worked really hard on And then they say like, \"You know, I'm in, I'm out,\" and, but that's not at all how it is. Usually it's, you worked really hard on this project, and there's no judges, there's no one to present to, nobody's reviewing your work because there are a million other ideas, and like today, there's probably three hundred something pull requests open on Bitcoin Core, and it's not like it was a yes or a no. I think people feel more rejected because nobody said anything, or the answer is unclear, and that really, really that's the nature of working on open source and, and a decentralized project."
    },
    {
      "speaker": "stephan",
      "time": "30:35",
      "start": 1835.06,
      "text": "one other area I'd love for you guys to touch on, because, again, elephant in the room, Bitcoin Core is the most popular implementation of Bitcoin, you know, it's not even close, right? But there are other implementations, right? There's, BTCd, Libbitcoin, m-maybe a few others, Bitcoin Knots, right? There's a few others out there. How do-- How does the existence of other- Other competing implementations, you know, apply here. Like, let's say there's a big project, but, you know, would those big projects not really happen in other implementations or, you know, maybe they just have other focus, right? They might have, you know, as an example, BTCD, as I understand, w- you know, was kind of because some of the guys who wanted to code with Go and things like this, so maybe they have different focus or they have a different focus. So, I, I'm curious, how does that play into it, the"
    },
    {
      "speaker": "fabian_jahr",
      "time": "31:30",
      "start": 1890.09,
      "text": "It makes backward compatibility a, a big question. as you know, every BIP will have a backward compatibility section, and compatibility with other nodes, particularly in peer-to-peer protocol stuff, like wtxid relay, for example, is something that BTCd doesn't implement. And I'm not trying to criticize or anything, but that means that, you know, that's not granted. You can't just be like, \"Oh, assuming all nodes do this, then transactions will propagate.\" because I guess that's not really, you can't rely on that. It, it would mean that like all the BTCd nodes, users, their transactions wouldn't propagate and you'd be breaking their use case if you, like, if you change protocol to, to rely on that. And I, I wouldn't say that that, maybe it makes things a little more complicated, but it's, it's good in the long run that there are multiple implementations. I think ideally we would share A kernel, like we would, like not to name yet another Bitcoin Core project, but there are a lot of consensus issues with multiple implementations, and we've seen historically, just even in the past two years, we've seen a few bugs happen there, and I think also security issues. I'm not going to, like- I, I'm not trying to criticize, but I, I truly do think that Bitcoin Core has a much higher bar for security than probably any other project that I've ever seen, software-wise. and, and I think sometimes, you know, you aren't always able to meet the bar 'cause there's a different amount of maintainers that are, and reviewers that are looking at the code there."
    },
    {
      "speaker": "stephan",
      "time": "33:12",
      "start": 1991.62,
      "text": "And I guess just to explain that aspect you were saying about consensus, obviously in Bitcoin, it's very important that we stay on the same chain, right? Or that you at least are on the chain chain that you want to be on, if you want to split off, let's say. But, that can be really important because then if there's different implemen- implementations and then they're actually falling out of consensus with each other, that's gonna be a big problem if we're trying to transact with each other and we're on different chains, right?"
    },
    {
      "speaker": "fabian_jahr",
      "time": "33:37",
      "start": 2016.66,
      "text": "Yeah, yeah, especially unintentionally when we do want to be on the same chain, we should try to, yeah. but it would be great if a lot of the non, non-core- Or like node running things were different, like, you know, the Bitcoin Core wallet is very much attached to the Bitcoin Core node, and like we even have a GUI, famously. But like a lot of the, I'd say auxiliary kind of features and components of Core don't need to be common across every single node, and it would be actually really great if there were competitors per se trying to make better versions of those features. provided that the internal consensus engine is the same and meets the same bar for security, of course. I-- the-- and that's really, really important. That's more important than any of the other things that I listed."
    },
    {
      "speaker": "stephan",
      "time": "34:36",
      "start": 2075.59,
      "text": "I see, yeah. So, I guess, what's the, let's say, looking at big projects and things, what are some of the concerns? What are some of the considerations that come up when somebody wants to, you know, engage in one of these, let's say, big projects that's not kind of a-- it's not something that you can just kind of go by and just do this one pull request and it's in and that's it. It's now more like you're dealing with maybe different areas of the code, you're having to kind of do it, do things in stages That would be useful to explain what is that process, what does it require, what does it sort of take to kind of get it over the line in a, in a big project?"
    },
    {
      "speaker": "fabian_jahr",
      "time": "35:14",
      "start": 2113.59,
      "text": "Yeah, build iteratively, build iteratively is, I think, a really big point here where, you're not gonna open a pull request with a hundred thousand lines of code changed and then just, like, you're like, \"Alright, cool, like, when, when is this gonna get in?\" I do think that breaking it up into small chunks is, is really, really important. that's kind of why, like, all the anti-pinning and better RBF ideas, like, those are the titles of my mailing list posts, and they've turned into like five or six different proposals. One's truck, one's sibling eviction, one's package RBF, one's one P one C, you know, like all these things. Like, in this release we get huge gains, and then in the next release, hopefully, we get another huge gain, and then in each release we get more and more features. That's, I think, very important. I'll pass it to Fabian for the, for the next pro tip."
    },
    {
      "speaker": "gloria_zhao",
      "time": "36:08",
      "start": 2168.31,
      "text": "Yeah, I think, that kind of going along the same lines, I think in involving people early, that's something that I, that I learned in another project that, I kind of took over, the ASMap, stuff. So, ASMap is another thing where the feature, in this case, was merged and was also available on mainnet, so, I think, many people would have said like, \"There's, there's not Do, but the problem is that, that you always need to have a map that you actually, use for this feature, otherwise it doesn't work and, you kind of wanna have a map that is up to date and also that is ideally of the highest quality possible, and so into that particular problem there was just not a lot of thought, that had gone into that and, the feature originally was implemented by GLAB, and Peter was also heavily involved and so- this, this was another thing that was implemented, but like, kind of, it wasn't really widely used, as far as we know, and, part of that was that there were just not these maps available, and you needed to find the map somewhere, but since you didn't find it, you had to run some, tool that was in some other repository, that was either just a pull request or it was some Rust, stuff. And so, sorry, Fabian,"
    },
    {
      "speaker": "stephan",
      "time": "37:30",
      "start": 2249.74,
      "text": "just before we go further, could you just explain, kind of What's the ASMAP project and then, yeah, and then go into it, yeah. yeah."
    },
    {
      "speaker": "gloria_zhao",
      "time": "37:37",
      "start": 2257.31,
      "text": "So, as you run your Bitcoin Core node, you connect to, peers, and ideally you want these peers to be as diverse as possible, right? Because, if they all come, like, if they're all, let's say, within your house, if your house goes down, then, like, I mean, you, you yourself go down, but if they were all in the same data center, let's say, in that eclipsed and, and, anything can happen to your node. So, ideally, you would want maybe one of them to be your neighbor, but then somebody in El Salvador and somebody in, in the US and somebody in Australia or whatever, to, just to make it geographically,"
    },
    {
      "speaker": "gloria_zhao",
      "time": "38:20",
      "start": 2300.14,
      "text": "interesting, let's say."
    },
    {
      "speaker": "stephan",
      "time": "38:21",
      "start": 2301.12,
      "text": "Right. And I guess the reason for that is, you know, not for kind of lefty woke DEI reasons, it's for genuine security reasons, right? It's like you want to make sure that you're not being eclipsed Had wrong data and incorrectly assume you're on the right chain and actually you're on some false chain and, you know, that and somebody's stealing from you, that kind of thing."
    },
    {
      "speaker": "gloria_zhao",
      "time": "38:44",
      "start": 2323.63,
      "text": "Exactly. Yeah. And so, the, something that is quite apparent, like that, that many people know, but maybe some also don't, is that there's quite a lot of nodes being hosted in these, cloud service providers, so AWS, Hetzner, they, they are responsible for hosting. large parts of the network. and so it wouldn't be ideal if you're just connected to a lot of AWS nodes or just like, I think it would be feasible that, that just by chance you would be connected to just AWS, Hetzner, and, and Google Cloud, I mean, it's, it's still unlikely, but, at least it's, it's, it's in realm of possibility. and so you want to have some diversity, and so you ideally just want to have one, node at, at AWS, one peer at, Who lives in the woods, in, in, I don't know, Connecticut or whatever. so, that's, that, that would be ideal, right? Like that's, that's a diverse set of peers. And, to get this diversity, you need to have this knowledge, right? You need to know if, this is somebody who is hosted in a data center, at AWS or if it's somebody who is hosted somewhere that is completely remote and it's just a small ISP in, I don't know. Uruguay or whatever. and so, in order to get this diversity, you need to have knowledge, and this knowledge is this map. So this map basically shows you which IPs are controlled by which, autonomous systems. That's a very technical, just-- it's an entity that controls, IP networks, basically. So and with this knowledge, be-because it's constantly changes, this is basically just a map of the internet, like the-- all of the internet traffic is routed, also with this information. so this is constantly changing, but also not changing that much, that, like that substantially, that it's, that it's not fine to have this map and like run it for several months or even years. but still, you, as we said, we want to have the highest quality possible. You don't want to have somebody to feed you Precious map, and, yeah, fresher is also better. Right. Yeah. So,"
    },
    {
      "speaker": "stephan",
      "time": "40:58",
      "start": 2457.56,
      "text": "when it comes to, these larger, projects, so as we mentioned, there's a few of these that are kind of landing in this next release, version twenty-eight, so a c m u t x o, the a s map you mentioned, and Gloria, some of your mempool, projects are landing in this as well. is there any, is there any other ones that we haven't covered yet?"
    },
    {
      "speaker": "fabian_jahr",
      "time": "41:20",
      "start": 2479.71,
      "text": "Yes, Testnet 4. I think, like, I credit Fabian for making that happen because I think, in terms of making it happen, I would say there was not that much code to be written. I think Fabian's really great at, like, coming in and being like, \"Ah, this is missing a champion,\" and like, going and getting the buy-in and making sure that the questions are answered and, like, coming to the ERC meeting and being like, \"We've already answered these questions. What's next to get this merged?\" You know? that makes sense. Sound very demanding, but like that is often what's missing, that's the missing ingredient. I'm very happy Testnet 4 is done."
    },
    {
      "speaker": "gloria_zhao",
      "time": "41:57",
      "start": 2517.34,
      "text": "Yeah, I think that, that's also another interesting journey. I mean, like I, I basically just saw, Jameson Laps, mailing list posts about, that we needed to, to reset Testnet, and I thought like, I've never done a new network, I've never mined a genesis block, how about I just try that out and, and yeah, I did that, and it, it But it was initially just, I don't know, half a day or so, we just put it out there and said like, \"Okay, this is like another point where we can discuss this kind of, and so yeah, a lot of discussion came in, and that was, that was the biggest piece of the work then, I think, not, not so much writing the code and addressing the issues, but then kind of keeping the bike shedding at bay and kind of like always like Trying to get people to converge on, on something, on, on, on, on an idea, because like in general people agreed, okay, we, we, we should just reset it, and there were, there was just really just, just really the, the, the minor details were being discussed, but in, in general, I think, yeah, my, my underlying belief was always that, there's a lot of people that think this is a good idea, and there's no reason why it shouldn't be in the next release,"
    },
    {
      "speaker": "gloria_zhao",
      "time": "43:11",
      "start": 2591.14,
      "text": "and then kind of, use my touch points on the IC meetings and so on to say like, okay, we have another couple of weeks, I will come in again and remind people that this is, that this is still going and, yeah, just to, to, to ask if people still have thoughts on it and if there's still anything missing. I mean, ini-initially, for example, I didn't even write the Bibb, and then somebody requested a Bibb, so I provided a Bibb for it, and so all of was helpful, but yeah, the overall it wasn't that much work to be done, it just really needed to, to kind of, get towards the finish line and like I just really tried to get it into release because there was just no No reason not to do it."
    },
    {
      "speaker": "fabian_jahr",
      "time": "43:57",
      "start": 2636.81,
      "text": "O- other than like trying to deal with comments and, and I think people shy away from that sometimes. I think another, sorry, I'm going to keep, giving Fabian compliments. I think he's really good at, so every big project needs lots of people working on it. Like there's no big project that you're gonna get done as one person. You, you at least need three, like someone to write the code, someone to review it, someone to merge it. but really, usually it takes Village, right? and I think one thing that I really appreciated about the ASMAP project was I remember was how easy it was to help generate the ASMAP. Like Fabian created this tool, Carstograph, I think, where it was just like, you run these two commands, we all do it at the same time, you know, two PM UTC on this day, and like we'll help create this, this hash. and so you didn't need to know anything about ASMAP to run that, but if you were excited about the idea of creating this ASMAP and like avoiding eclipse attacks and whatnot, you could be one of the, you know, six to eight people who like did this together, and like you didn't need to learn everything about ISPs and autonomous systems and all those things, And like, I think that, I, I saw that in Package Relay as well, where there are people who really like Package Relay, but they have spent zero time looking at the transaction relay code. And everybody, I found like, nobody wants to review mempool code. And so it was like, okay, I'm gonna split this project into like two tracks. There's a mempool track and the peer-to-peer track. And then there's like big PRs and there's like small PRs where I'm like, oh, move these things around, add some tests, like anybody can review that PR And then I would like announce in the IRC meeting, like, \"Hey, I have this really easy PR, if you like Package Relay, but you haven't, you know, spent the time reading the pages and pages and pages of background, and you aren't a mempool expert, you can review this code.\" And those tended to be really popular, and I found like, \"Oh, actually, I have more fri- like Package Relay has more friends than I actually realized, and most people are intimidated by the amount of complex information that there is.\" And so you need people at every level, like, And you also need the like more meaty, like, \"Hey, here's like all the background, please understand all of this before you try to review this code.\" and so- Yeah, like I, there, you, you have people in, in both groups. So there's, there's another tip for"
    },
    {
      "speaker": "stephan",
      "time": "46:24",
      "start": 2784.36,
      "text": "people."
    },
    {
      "speaker": "gloria_zhao",
      "time": "46:25",
      "start": 2785.36,
      "text": "Yeah. Maybe to add to that, go on. yeah, I think that I, I also, and with ASMap, I also put out lots of writings, that were going a lot, into a lot of detail about all of the, the learnings that I had and all of the thought I put into it. But yeah, that was, not getting as much traction as I'd hoped. And so, but Engage people with it and like let, just let them run it and, and see how it works. I think that's a much easier, way to get people involved. so for example, I, I gave a workshop at Tapcon last year, that was a bit too early, it didn't fully work, at the time yet. but then, yeah, this year, when I was sitting with Gloria and some other Brinkies, we, used that as a, as a session to, to run it as"
    },
    {
      "speaker": "gloria_zhao",
      "time": "47:19",
      "start": 2839.08,
      "text": "to, to demo it. So that's also like, use, use the chances when, when you are with people to, to show it to them and give them opportunity to participate, I think that, that really helps to engage people. Yeah."
    },
    {
      "speaker": "fabian_jahr",
      "time": "47:33",
      "start": 2853.34,
      "text": "Oh, sorry. I just wanted, what, very quickly, I, I had the same experience where, I think one thing is because a lot of people haven't looked at the code that you might be touching in a really long time, you might actually just have to create lots of educational material about the code itself, like as it is today, as well as your own proposal. And I remember I've written just so much stuff, and I always, I made, I like meticulously made it really easy to follow and all these like- Things, and I was like, \"Why is nobody reading this? \" 'cause people just don't have enough time. but it is still important because some people will read it, like Greg, who I work with very closely now. he went through all of it, and now I, you know, he's a extremely key person in like making all of this happen, and it wouldn't be re- like, it, we wouldn't be getting all this done without Greg. so it's, it's very important to have that person, but you're not you're probably gonna have ten people who are willing to run the two commands that you post though."
    },
    {
      "speaker": "stephan",
      "time": "48:37",
      "start": 2916.52,
      "text": "This show brought to you by mempool dot space, the world's leading Bitcoin visualizer, and now they've got an accelerator program. So if you have a transaction that you sent at a fee that was too low to get confirmed, now you can fix this at, with the mempool accelerator. The way it works, you can go and search your transaction, scroll down, click accelerator, and you don't need an account, you can pay with lightning, and then it'll show you it's now And after a few minutes, it's confirmed. And so this is a great way to help you out if you are stuck, and this can happen where maybe your wallet doesn't have RBF or CPFP, or it might help you in situations where it's impractical to go and re-sign. So for example, multi-sig with keys in different locations. And thirdly, even in some Lightning scenarios, perhaps a forced close, you might not be able to use RBF. And so in this case, the mempool accelerator can help you out. So keep it in mind, and you can find out"
    },
    {
      "speaker": "stephan",
      "time": "49:31",
      "start": 2971.42,
      "text": "And now back to the show. Yeah. And, it's interesting you say, like, because at one level, it, it, it's, it's, it's meant to be objective, it's meant to be a technical sort of a, a aspect of, you know, what, what gets in and what doesn't. But it, it is interesting that there are, there is a human element of it also, right? That you actually have to, you know, be skilled at interpersonal, you know, interpersonal skills to get people to care about your project, so that you"
    },
    {
      "speaker": "gloria_zhao",
      "time": "50:01",
      "start": 3001.0,
      "text": "point for me to, to hook in and s-say something that I, that I, just, yeah, just recently, just when I thought about this championing stuff, also just like, what that I realized is that, I mean, some people have this conception that there are some people that have like certain powers or so in the developer community that have higher power than others, that they're the only ones that ca-can, can get stuff done, and I think what people don't realize is that while some people- People are, maybe more capable than others, and some people have been there longer than others. I think the people that get stuff done, they always put in a lot of work into this communication part as well, Producing writings, delving Bitcoin posts, making this posts, going on podcasts, giving talks, I don't think anyone who has ever gotten a big project, done has, has not done any of these things. and I don't think anyone will ever get anything done without doing these things. so, yeah, just, I mean, when, when you, when you see somebody getting something done, also pay attention to how they are communicating and, What effort they put into the communication part as well?"
    },
    {
      "speaker": "fabian_jahr",
      "time": "51:16",
      "start": 3076.05,
      "text": "Yeah, and I think it's a good thing, not a bad thing, that you have to be able to code and explain your ideas. I think it's, people like we are, we're hoping for this meritocracy, right? Like the best ideas are the ones that move forward, and people are used to in a company, like somebody else who's really good at the talking is calling the shots and deciding what the engineers are going to be building. and that's, I, I don't enjoy that at all, Core, I think some people struggle with the idea that, like, oh, like my work should speak for itself, but there is nowhere on, on the planet where, where that is, like, you can just write crappy code with no comments and not explain any of it, and like lots of people will, you know, it is humans that comprise this meritocracy, right? And humans have a limited amount of time and a limited amount of attention, and so like doing just the basics of, like, explaining what your ideas are, Like, nobody's asking you to like, make this, you know, like this, this crazy flowery like presentation. It's just like, you have to be able to explain your ideas to another human being who is going to review your work. so I, I wouldn't be turned off by the idea that interpersonal communication skills is a huge component of getting things done. I think it's more of a, of an asset, like it's more an advantage. It's a good thing that you have the full- amount of power and authority to get other people onto your team, rather than like hoping that some person high up who actually has power is going to pay attention to your project and decide to command other people to do it with you. I think this is like, this is as close to a meritoc- like an actual meritocracy as I've ever seen. obviously, you know, I'm not, you know, I haven't, I haven't worked at like a million companies, but I think this is better than, than, than anything else."
    },
    {
      "speaker": "stephan",
      "time": "53:13",
      "start": 3193.23,
      "text": "Yeah, I think maybe-- And I think one perception, maybe it's the wrong perception to be clear, but, it seems that-- there seems to be the perception of, you know, oh, if this idea was championed by- You know, pick your name, some senior, super senior, well-known Bitcoin developer, then it would get through, and otherwise it's not gonna get through. And that's the, you know, this, the re- and so then people sort of start to- Say, \"Oh, look, see, if this idea was proposed by that person, oh, it would have gone through, but because it wasn't, therefore, you know, it's not-- you know, this person isn't as popular or whatever, and now that's why this idea is languishing, right? That, that seems to be a perception. I'm not saying it's the right perception, but I'm sure you guys have seen that perception. I'm curious if you have any thoughts on that.\""
    },
    {
      "speaker": "gloria_zhao",
      "time": "53:59",
      "start": 3238.95,
      "text": "Yeah, I mean, that's, that was kind of the point I was trying to make previously. I mean, of course, doing, doing this, communication work doesn't-- isn't a guarantee that things will get merged, but, as I said, it's, it's, it's a pre-work with it, to, to get something done, I think that is, that is a bigger project, and, yeah, like, I don't think there's any, any magic or, or hidden cabal"
    },
    {
      "speaker": "gloria_zhao",
      "time": "54:28",
      "start": 3268.47,
      "text": "Like, prioritized access or so, to, to get things done, I think, nobody gets, gets pushed to the side or so. and, and another point that I wanted to make that, like, ideally, of course, the person can communicate stuff well and can, can code, right? But even if you're not comfortable with, like, doing part of that work, that is an ideal scenario for when you then would have a team of somebody who does the implementation stuff. stuff and somebody who does the, communication stuff. Like, I mean, the, the communicator probably would also need to do some coding, otherwise it's, not, not, not, so, but I mean, that's basically the same scenario as with AS, as Sumitix, or just that there was a timing difference, right? Like the, the main implementation was written by James, and then I later came in and did mostly like this communication and coordination and, and Like doing, like, providing transparency basically with a, with a tracking issue and so on. So, and, and for example, also with,"
    },
    {
      "speaker": "gloria_zhao",
      "time": "55:35",
      "start": 3335.23,
      "text": "with some other stuff wh-what I'm, that I'm working on, the cross-input signature aggregation stuff, for example, I won't be able to make it to Tapcon this year, but, they, they were interested in having a talk about it, and so then we, they, they do the stuff where they put out an issue, and people- So can, can kind of apply to do a talk, and so I basically said in there like, I can't be there, but I can help you if you want to make a talk on it, like, we can, we can talk about it, and I've produced this website, you can use this website to give a talk, and we can, we can talk about it, and, and then somebody who I've never met, who I don't know, said, okay, I'm interested in giving this talk,"
    },
    {
      "speaker": "gloria_zhao",
      "time": "56:19",
      "start": 3379.12,
      "text": "and so now we are, I mean We at TechConf, right? and so, yeah, there's, there's always other people can step up and like the ideal scenario is where you kind of form a team, of, like for example, I, I perceive Gloria and Greg now to be, to be a great team, where both of them are capable to go on both on a podcast and, and code, everything, but also like the roles can, can, can be different, right? And, and so, yeah, that's, that's, that's always openings for contributing as a champion, and it also doesn't have to be one person that is only the champion. you can always jump in, like also like on our weekly IRC meetings just when we, when we asked for like an update or so, and then the person that was championing couldn't be there, then somebody else who's been just doing some stuff recently can, can give an update. So, yeah, just also we shouldn't put like, there's not-- we, we talk about one champion basically or a per- a person Championing, but it also doesn't have to be just one person and it's like, not like this person cannot be touched or something like that."
    },
    {
      "speaker": "fabian_jahr",
      "time": "57:31",
      "start": 3450.9,
      "text": "Yeah, and sometimes like your relation to other projects can also come into play. Like, I actually haven't talked much about this before, but my original idea was to gun for like BIP three thirty one package relay, and then I would start thinking about things like Trunk, at the time it was just called V three, and then when Cluster mempool Came around, like that was the plan. I was like, \"Oh, we'll just get package relay done, and then we'll do cluster mempool, and then we'll do truck.\" and then we actually figured out that truck is like a really good stepping stone for cluster mempool, and like we can hit two birds with one stone basically, and like basically refactor the project around all three, so that we do one P one C package relay, truck, et cetera, et cetera, and then cluster mempool, and then all the package relay stuff"
    },
    {
      "speaker": "fabian_jahr",
      "time": "58:24",
      "start": 3504.02,
      "text": "the things that I wanted to work on because, like, I mean, it wasn't that we had competing projects, but like code-wise, they conflict with each other, right? but actually they work really well together and like there's a way to get these things done where they all actually build on top of each other and make it easier to get the other things merged. Like, we got the fee rate histogram stuff of Cluster Mempool done in our Package RBF project and like kind of teasing out this timeline and like, I don't know, re-braiding it, I guess. If that's a good visualization, was also a part of like this kind of working group thing, and like I would consider Suhas and Peter like really close collaborators on the, on the truck stuff. and I think this, I would maybe contrast this with Some of what I feel like Covenant proposals are doing, where they almost look like they're competing with one, one another. And, anecdotally, like I, I had a talk with someone who said like, \"Oh, I haven't really read the other Covenant proposals yet.\" And I'm like, \"But you're trying to achieve the same thing. Like ideally, you can come together with one proposal.\" And, a-and I kind of attribute this again to maybe some of the grant appli- Application stuff where like you gotta have a brand name to put on your grant proposal, and you wanna work on your own stuff that you authored, not somebody else's stuff. and again, I'm not like blaming anybody, but I can, I can, you can kind of naturally, you can understand why people naturally have this instinct of like, \"Oh, on my grant application, I should have my thing, and it has a name, and it has a bit, and it has like all these cool things, and it would be really cool if I got this done.\" but I Sometimes we compete when we should collaborate."
    },
    {
      "speaker": "stephan",
      "time": "01:00:13",
      "start": 3613.61,
      "text": "Okay. Well, look, I think that's about all we've got time for, but, I guess, you know, any last, messages you guys have, or maybe just, any thoughts on what are some of the projects coming up that you think, you know, are, are coming in future versions?"
    },
    {
      "speaker": "gloria_zhao",
      "time": "01:00:35",
      "start": 3635.68,
      "text": "Yeah, ASMap, is, also kind of something where we still have, one thing to get done is to embed, a default ASMap into the code so, it's even easier to use it, like you don't need to get the, the, the map, anywhere else at all, and, so, yeah, that, that's a single pro request, but still, of course, this, process of producing Using the map that, that I've put a lot of work and thought into, that is going to be still, even more, under focus, once, once we get there, once this is, considered to be merged, so yeah, that's something to look forward to potentially for, for the next release at least. I will, i-it is ready for that, if it will get merged, we don't know. but yeah, that's, that's part of the work, and, I And especially producing the maps now, that, that group has grown quite a bit, and, there's somebody else who's going to join Julian, who is going to work primarily on, AS Map and, is working on a website for it, and, and that's another tip that I can give, like it, it sounds kind of stupid, but, having a website can be quite powerful, if you can just people give, can people give people just a URL, that is easy to share, that they can Like even if you just, just throw it at em at, at a conference that they can remember, like that, that, that's really helpful, I think. and so it, it also, it also just, even if it's just easier for you, like for example, for cross-integration, I'm just now pointing people always to the website where I say like, everything is linked there, like, if you, if you, if you, want to learn it all, like it's, it's, it's all, like, you should get everything all from I believe to be the, the state of things and, yeah, and then also give people a good, intro to contribute themselves. right."
    },
    {
      "speaker": "stephan",
      "time": "01:02:40",
      "start": 3760.59,
      "text": "Okay. Well, yeah, look, I think that's a great spot to finish up. Thanks, guys, for joining me. And, yes, I'll put some links in the show notes for listeners who are interested to learn a bit more about these things. And, yeah, thanks for joining me, guys."
    },
    {
      "speaker": "fabian_jahr",
      "time": "01:02:51",
      "start": 3771.6,
      "text": "Thank you for having us."
    },
    {
      "speaker": "gloria_zhao",
      "time": "01:02:53",
      "start": 3773.03,
      "text": "Thank you, Stefan."
    }
  ]
}
