POPULARITY
Categories
SANS Internet Stormcenter Daily Network/Cyber Security and Information Security Stormcast
YARA-X 1.14.0 Release https://isc.sans.edu/diary/YARA-X%201.14.0%20Release/32774 INTERPLAY BETWEEN IRANIAN TARGETING OF IP CAMERAS AND PHYSICAL WARFARE IN THE MIDDLE EAST https://research.checkpoint.com/2026/interplay-between-iranian-targeting-of-ip-cameras-and-physical-warfare-in-the-middle-east/ Announcing the Node.js LTS Upgrade and Modernization Program https://openjsf.org/blog/nodejs-lts-upgrade-program nginx UI Vulnerability https://github.com/0xJacky/nginx-ui/security/advisories/GHSA-g9w5-qffc-6762
Chris, Andrew, and David welcome special guest Jeff Dickey (jdx), creator of mise, discussing his background rewriting the Heroku CLI from Ruby to Node due to Ruby distribution/sandboxing issues. The conversation digs into why language CLIs are hard to distribute, the tradeoffs between shims vs PATH-based version switching, why tasks can be the “clean” solution, and Jeff's Rust-first tooling philosophy. They also dive into his other projects: usage (CLI docs/completions), Pitchfork (dev daemon runner that starts/stops services by directory), and fnox/Fort Knox (secrets management with encrypted files or remote stores like 1Password), and a big upcoming shift: pre-compiled (portable) Rubies becoming the default in mise. Press download now!LinksJudoscale- Remote Ruby listener giftJeff Dickey XJeff Dickey (jdx) Blueskymisefnox--usagePitchforkcommuniquéCasey Neistat: NYC's Worst Blizzard in a Decade, hour by hour (YouTube) Chris Oliver X/Twitter Andrew Mason X/Twitter Jason Charnes X/Twitter
Mike on LinkedIn Coder Radio on Discord Mike's Oryx Review Alice Alice Jumpstart Offer
Discover the Spec5 Relay from SpecFive – a powerful solar-powered Meshtastic LoRa relay node built for true off-grid, long-range communication. This autonomous repeater extends your Meshtastic mesh network dramatically, acting as a permanent, hands-free station to connect distant nodes without relying on cell service, Wi-Fi, or constant maintenance. In this video, we dive deep into the SpecFive Relay features:Get the SpecFive Relay here - https://geni.us/YYBer4SBecome a supporter of this podcast: https://www.spreaker.com/podcast/ham-radio-2-0--2042782/support.
「ヘッドホンファンに使ってほしい!小型ストリーマーBluesound「NODE(N132)」の実力を徹底チェック」 音楽ストリーミングサービスを手軽に楽しめるネットワークストリーマーを多数開発するBluesound。代表モデルとなる「NODE」の新作、「NODE(N132)」が2025年秋に登場した。実はヘッドホンファンにこそ使ってほしい「ストリーマー」であるNODE(N132)の実力を、生形三郎氏に徹底チェックしてもらった。
Bryan Cantrill is the co-founder and CTO of Oxide Computer Company. We discuss why the biggest cloud providers don't use off the shelf hardware, how scaling data centers at samsung's scale exposed problems with hard drive firmware, how the values of NodeJS are in conflict with robust systems, choosing Rust, and the benefits of Oxide Computer's rack scale approach. This is an extended version of an interview posted on Software Engineering Radio. Related links Oxide Computer Oxide and Friends Illumos Platform as a Reflection of Values RFD 26 bhyve CockroachDB Heterogeneous Computing with Raja Koduri Transcript You can help correct transcripts on GitHub. Intro [00:00:00] Jeremy: Today I am talking to Bryan Cantrill. He's the co-founder and CTO of Oxide computer company, and he was previously the CTO of Joyent and he also co-authored the DTrace Tracing framework while he was at Sun Microsystems. [00:00:14] Jeremy: Bryan, welcome to Software Engineering radio. [00:00:17] Bryan: Uh, awesome. Thanks for having me. It's great to be here. [00:00:20] Jeremy: You're the CTO of a company that makes computers. But I think before we get into that, a lot of people who built software, now that the actual computer is abstracted away, they're using AWS or they're using some kind of cloud service. So I thought we could start by talking about, data centers. [00:00:41] Jeremy: 'cause you were. Previously working at Joyent, and I believe you got bought by Samsung and you've previously talked about how you had to figure out, how do I run things at Samsung's scale. So how, how, how was your experience with that? What, what were the challenges there? Samsung scale and migrating off the cloud [00:01:01] Bryan: Yeah, I mean, so at Joyent, and so Joyent was a cloud computing pioneer. Uh, we competed with the likes of AWS and then later GCP and Azure. Uh, and we, I mean, we were operating at a scale, right? We had a bunch of machines, a bunch of dcs, but ultimately we know we were a VC backed company and, you know, a small company by the standards of, certainly by Samsung standards. [00:01:25] Bryan: And so when, when Samsung bought the company, I mean, the reason by the way that Samsung bought Joyent is Samsung's. Cloud Bill was, uh, let's just say it was extremely large. They were spending an enormous amount of money every year on, on the public cloud. And they realized that in order to secure their fate economically, they had to be running on their own infrastructure. [00:01:51] Bryan: It did not make sense. And there's not, was not really a product that Samsung could go buy that would give them that on-prem cloud. Uh, I mean in that, in that regard, like the state of the market was really no different. And so they went looking for a company, uh, and bought, bought Joyent. And when we were on the inside of Samsung. [00:02:11] Bryan: That we learned about Samsung scale. And Samsung loves to talk about Samsung scale. And I gotta tell you, it is more than just chest thumping. Like Samsung Scale really is, I mean, just the, the sheer, the number of devices, the number of customers, just this absolute size. they really wanted to take us out to, to levels of scale, certainly that we had not seen. [00:02:31] Bryan: The reason for buying Joyent was to be able to stand up on their own infrastructure so that we were gonna go buy, we did go buy a bunch of hardware. Problems with server hardware at scale [00:02:40] Bryan: And I remember just thinking, God, I hope Dell is somehow magically better. I hope the problems that we have seen in the small, we just. You know, I just remember hoping and hope is hope. It was of course, a terrible strategy and it was a terrible strategy here too. Uh, and the we that the problems that we saw at the large were, and when you scale out the problems that you see kind of once or twice, you now see all the time and they become absolutely debilitating. [00:03:12] Bryan: And we saw a whole series of really debilitating problems. I mean, many ways, like comically debilitating, uh, in terms of, of showing just how bad the state-of-the-art. Yes. And we had, I mean, it should be said, we had great software and great software expertise, um, and we were controlling our own system software. [00:03:35] Bryan: But even controlling your own system software, your own host OS, your own control plane, which is what we had at Joyent, ultimately, you're pretty limited. You go, I mean, you got the problems that you can obviously solve, the ones that are in your own software, but the problems that are beneath you, the, the problems that are in the hardware platform, the problems that are in the componentry beneath you become the problems that are in the firmware. IO latency due to hard drive firmware [00:04:00] Bryan: Those problems become unresolvable and they are deeply, deeply frustrating. Um, and we just saw a bunch of 'em again, they were. Comical in retrospect, and I'll give you like a, a couple of concrete examples just to give, give you an idea of what kinda what you're looking at. one of the, our data centers had really pathological IO latency. [00:04:23] Bryan: we had a very, uh, database heavy workload. And this was kind of right at the period where you were still deploying on rotating media on hard drives. So this is like, so. An all flash buy did not make economic sense when we did this in, in 2016. This probably, it'd be interesting to know like when was the, the kind of the last time that that actual hard drives made sense? [00:04:50] Bryan: 'cause I feel this was close to it. So we had a, a bunch of, of a pathological IO problems, but we had one data center in which the outliers were actually quite a bit worse and there was so much going on in that system. It took us a long time to figure out like why. And because when, when you, when you're io when you're seeing worse io I mean you're naturally, you wanna understand like what's the workload doing? [00:05:14] Bryan: You're trying to take a first principles approach. What's the workload doing? So this is a very intensive database workload to support the, the object storage system that we had built called Manta. And that the, the metadata tier was stored and uh, was we were using Postgres for that. And that was just getting absolutely slaughtered. [00:05:34] Bryan: Um, and ultimately very IO bound with these kind of pathological IO latencies. Uh, and as we, you know, trying to like peel away the layers to figure out what was going on. And I finally had this thing. So it's like, okay, we are seeing at the, at the device layer, at the at, at the disc layer, we are seeing pathological outliers in this data center that we're not seeing anywhere else. [00:06:00] Bryan: And that does not make any sense. And the thought occurred to me. I'm like, well, maybe we are. Do we have like different. Different rev of firmware on our HGST drives, HGST. Now part of WD Western Digital were the drives that we had everywhere. And, um, so maybe we had a different, maybe I had a firmware bug. [00:06:20] Bryan: I, this would not be the first time in my life at all that I would have a drive firmware issue. Uh, and I went to go pull the firmware, rev, and I'm like, Toshiba makes hard drives? So we had, I mean. I had no idea that Toshiba even made hard drives, let alone that they were our, they were in our data center. [00:06:38] Bryan: I'm like, what is this? And as it turns out, and this is, you know, part of the, the challenge when you don't have an integrated system, which not to pick on them, but Dell doesn't, and what Dell would routinely put just sub make substitutes, and they make substitutes that they, you know, it's kind of like you're going to like, I don't know, Instacart or whatever, and they're out of the thing that you want. [00:07:03] Bryan: So, you know, you're, someone makes a substitute and like sometimes that's okay, but it's really not okay in a data center. And you really want to develop and validate a, an end-to-end integrated system. And in this case, like Toshiba doesn't, I mean, Toshiba does make hard drives, but they are a, or the data they did, uh, they basically were, uh, not competitive and they were not competitive in part for the reasons that we were discovering. [00:07:29] Bryan: They had really serious firmware issues. So the, these were drives that would just simply stop a, a stop acknowledging any reads from the order of 2,700 milliseconds. Long time, 2.7 seconds. Um. And that was a, it was a drive firmware issue, but it was highlighted like a much deeper issue, which was the simple lack of control that we had over our own destiny. [00:07:53] Bryan: Um, and it's an, it's, it's an example among many where Dell is making a decision. That lowers the cost of what they are providing you marginally, but it is then giving you a system that they shouldn't have any confidence in because it's not one that they've actually designed and they leave it to the customer, the end user, to make these discoveries. [00:08:18] Bryan: And these things happen up and down the stack. And for every, for whether it's, and, and not just to pick on Dell because it's, it's true for HPE, it's true for super micro, uh, it's true for your switch vendors. It's, it's true for storage vendors where the, the, the, the one that is left actually integrating these things and trying to make the the whole thing work is the end user sitting in their data center. AWS / Google are not buying off the shelf hardware but you can't use it [00:08:42] Bryan: There's not a product that they can buy that gives them elastic infrastructure, a cloud in their own DC The, the product that you buy is the public cloud. Like when you go in the public cloud, you don't worry about the stuff because that it's, it's AWS's issue or it's GCP's issue. And they are the ones that get this to ground. [00:09:02] Bryan: And they, and this was kind of, you know, the eye-opening moment. Not a surprise. Uh, they are not Dell customers. They're not HPE customers. They're not super micro customers. They have designed their own machines. And to varying degrees, depending on which one you're looking at. But they've taken the clean sheet of paper and the frustration that we had kind of at Joyent and beginning to wonder and then Samsung and kind of wondering what was next, uh, is that, that what they built was not available for purchase in the data center. [00:09:35] Bryan: You could only rent it in the public cloud. And our big belief is that public cloud computing is a really important revolution in infrastructure. Doesn't feel like a different, a deep thought, but cloud computing is a really important revolution. It shouldn't only be available to rent. You should be able to actually buy it. [00:09:53] Bryan: And there are a bunch of reasons for doing that. Uh, one in the one we we saw at Samsung is economics, which I think is still the dominant reason where it just does not make sense to rent all of your compute in perpetuity. But there are other reasons too. There's security, there's risk management, there's latency. [00:10:07] Bryan: There are a bunch of reasons why one might wanna to own one's own infrastructure. But, uh, that was very much the, the, so the, the genesis for oxide was coming out of this very painful experience and a painful experience that, because, I mean, a long answer to your question about like what was it like to be at Samsung scale? [00:10:27] Bryan: Those are the kinds of things that we, I mean, in our other data centers, we didn't have Toshiba drives. We only had the HDSC drives, but it's only when you get to this larger scale that you begin to see some of these pathologies. But these pathologies then are really debilitating in terms of those who are trying to develop a service on top of them. [00:10:45] Bryan: So it was, it was very educational in, in that regard. And you're very grateful for the experience at Samsung in terms of opening our eyes to the challenge of running at that kind of scale. [00:10:57] Jeremy: Yeah, because I, I think as software engineers, a lot of times we, we treat the hardware as a, as a given where, [00:11:08] Bryan: Yeah. [00:11:08] Bryan: Yeah. There's software in chard drives [00:11:09] Jeremy: It sounds like in, in this case, I mean, maybe the issue is not so much that. Dell or HP as a company doesn't own every single piece that they're providing you, but rather the fact that they're swapping pieces in and out without advertising them, and then when it becomes a problem, they're not necessarily willing to, to deal with the, the consequences of that. [00:11:34] Bryan: They just don't know. I mean, I think they just genuinely don't know. I mean, I think that they, it's not like they're making a deliberate decision to kind of ship garbage. It's just that they are making, I mean, I think it's exactly what you said about like, not thinking about the hardware. It's like, what's a hard drive? [00:11:47] Bryan: Like what's it, I mean, it's a hard drive. It's got the same specs as this other hard drive and Intel. You know, it's a little bit cheaper, so why not? It's like, well, like there's some reasons why not, and one of the reasons why not is like, uh, even a hard drive, whether it's rotating media or, or flash, like that's not just hardware. [00:12:05] Bryan: There's software in there. And that the software's like not the same. I mean, there are components where it's like, there's actually, whether, you know, if, if you're looking at like a resistor or a capacitor or something like this Yeah. If you've got two, two parts that are within the same tolerance. Yeah. [00:12:19] Bryan: Like sure. Maybe, although even the EEs I think would be, would be, uh, objecting that a little bit. But the, the, the more complicated you get, and certainly once you get to the, the, the, the kind of the hardware that we think of like a, a, a microprocessor, a a network interface card, a a, a hard driver, an NVME drive. [00:12:38] Bryan: Those things are super complicated and there's a whole bunch of software inside of those things, the firmware, and that's the stuff that, that you can't, I mean, you say that software engineers don't think about that. It's like you, no one can really think about that because it's proprietary that's kinda welded shut and you've got this abstraction into it. [00:12:55] Bryan: But the, the way that thing operates is very core to how the thing in aggregate will behave. And I think that you, the, the kind of, the, the fundamental difference between Oxide's approach and the approach that you get at a Dell HP Supermicro, wherever, is really thinking holistically in terms of hardware and software together in a system that, that ultimately delivers cloud computing to a user. [00:13:22] Bryan: And there's a lot of software at many, many, many, many different layers. And it's very important to think about, about that software and that hardware holistically as a single system. [00:13:34] Jeremy: And during that time at Joyent, when you experienced some of these issues, was it more of a case of you didn't have enough servers experiencing this? So if it would happen, you might say like, well, this one's not working, so maybe we'll just replace the hardware. What, what was the thought process when you were working at that smaller scale and, and how did these issues affect you? UEFI / Baseboard Management Controller [00:13:58] Bryan: Yeah, at the smaller scale, you, uh, you see fewer of them, right? You just see it's like, okay, we, you know, what you might see is like, that's weird. We kinda saw this in one machine versus seeing it in a hundred or a thousand or 10,000. Um, so you just, you just see them, uh, less frequently as a result, they are less debilitating. [00:14:16] Bryan: Um, I, I think that it's, when you go to that larger scale, those things that become, that were unusual now become routine and they become debilitating. Um, so it, it really is in many regards a function of scale. Uh, and then I think it was also, you know, it was a little bit dispiriting that kind of the substrate we were building on really had not improved. [00:14:39] Bryan: Um, and if you look at, you know, the, if you buy a computer server, buy an x86 server. There is a very low layer of firmware, the BIOS, the basic input output system, the UEFI BIOS, and this is like an abstraction layer that has, has existed since the eighties and hasn't really meaningfully improved. Um, the, the kind of the transition to UEFI happened with, I mean, I, I ironically with Itanium, um, you know, two decades ago. [00:15:08] Bryan: but beyond that, like this low layer, this lowest layer of platform enablement software is really only impeding the operability of the system. Um, you look at the baseboard management controller, which is the kind of the computer within the computer, there is a, uh, there is an element in the machine that needs to handle environmentals, that needs to handle, uh, operate the fans and so on. [00:15:31] Bryan: Uh, and that traditionally has this, the space board management controller, and that architecturally just hasn't improved in the last two decades. And, you know, that's, it's a proprietary piece of silicon. Generally from a company that no one's ever heard of called a Speed, uh, which has to be, is written all on caps, so I guess it needs to be screamed. [00:15:50] Bryan: Um, a speed has a proprietary part that has a, there is a root password infamously there, is there, the root password is encoded effectively in silicon. So, uh, which is just, and for, um, anyone who kind of goes deep into these things, like, oh my God, are you kidding me? Um, when we first started oxide, the wifi password was a fraction of the a speed root password for the bmc. [00:16:16] Bryan: It's kinda like a little, little BMC humor. Um, but those things, it was just dispiriting that, that the, the state-of-the-art was still basically personal computers running in the data center. Um, and that's part of what, what was the motivation for doing something new? [00:16:32] Jeremy: And for the people using these systems, whether it's the baseboard management controller or it's the The BIOS or UF UEFI component, what are the actual problems that people are seeing seen? Security vulnerabilities and poor practices in the BMC [00:16:51] Bryan: Oh man, I, the, you are going to have like some fraction of your listeners, maybe a big fraction where like, yeah, like what are the problems? That's a good question. And then you're gonna have the people that actually deal with these things who are, did like their heads already hit the desk being like, what are the problems? [00:17:06] Bryan: Like what are the non problems? Like what, what works? Actually, that's like a shorter answer. Um, I mean, there are so many problems and a lot of it is just like, I mean, there are problems just architecturally these things are just so, I mean, and you could, they're the problems spread to the horizon, so you can kind of start wherever you want. [00:17:24] Bryan: But I mean, as like, as a really concrete example. Okay, so the, the BMCs that, that the computer within the computer that needs to be on its own network. So you now have like not one network, you got two networks that, and that network, by the way, it, that's the network that you're gonna log into to like reset the machine when it's otherwise unresponsive. [00:17:44] Bryan: So that going into the BMC, you can are, you're able to control the entire machine. Well it's like, alright, so now I've got a second net network that I need to manage. What is running on the BMC? Well, it's running some. Ancient, ancient version of Linux it that you got. It's like, well how do I, how do I patch that? [00:18:02] Bryan: How do I like manage the vulnerabilities with that? Because if someone is able to root your BMC, they control the system. So it's like, this is not you've, and now you've gotta go deal with all of the operational hair around that. How do you upgrade that system updating the BMC? I mean, it's like you've got this like second shadow bad infrastructure that you have to go manage. [00:18:23] Bryan: Generally not open source. There's something called open BMC, um, which, um, you people use to varying degrees, but you're generally stuck with the proprietary BMC, so you're generally stuck with, with iLO from HPE or iDRAC from Dell or, or, uh, the, uh, su super micros, BMC, that H-P-B-M-C, and you are, uh, it is just excruciating pain. [00:18:49] Bryan: Um, and that this is assuming that by the way, that everything is behaving correctly. The, the problem is that these things often don't behave correctly, and then the consequence of them not behaving correctly. It's really dire because it's at that lowest layer of the system. So, I mean, I'll give you a concrete example. [00:19:07] Bryan: a customer of theirs reported to me, so I won't disclose the vendor, but let's just say that a well-known vendor had an issue with their, their temperature sensors were broken. Um, and the thing would always read basically the wrong value. So it was the BMC that had to like, invent its own ki a different kind of thermal control loop. [00:19:28] Bryan: And it would index on the, on the, the, the, the actual inrush current. It would, they would look at that at the current that's going into the CPU to adjust the fan speed. That's a great example of something like that's a, that's an interesting idea. That doesn't work. 'cause that's actually not the temperature. [00:19:45] Bryan: So like that software would crank the fans whenever you had an inrush of current and this customer had a workload that would spike the current and by it, when it would spike the current, the, the, the fans would kick up and then they would slowly degrade over time. Well, this workload was spiking the current faster than the fans would degrade, but not fast enough to actually heat up the part. [00:20:08] Bryan: And ultimately over a very long time, in a very painful investigation, it's customer determined that like my fans are cranked in my data center for no reason. We're blowing cold air. And it's like that, this is on the order of like a hundred watts, a server of, of energy that you shouldn't be spending and like that ultimately what that go comes down to this kind of broken software hardware interface at the lowest layer that has real meaningful consequence, uh, in terms of hundreds of kilowatts, um, across a data center. So this stuff has, has very, very, very real consequence and it's such a shadowy world. Part of the reason that, that your listeners that have dealt with this, that our heads will hit the desk is because it is really aggravating to deal with problems with this layer. [00:21:01] Bryan: You, you feel powerless. You don't control or really see the software that's on them. It's generally proprietary. You are relying on your vendor. Your vendor is telling you that like, boy, I don't know. You're the only customer seeing this. I mean, the number of times I have heard that for, and I, I have pledged that we're, we're not gonna say that at oxide because it's such an unaskable thing to say like, you're the only customer saying this. [00:21:25] Bryan: It's like, it feels like, are you blaming me for my problem? Feels like you're blaming me for my problem? Um, and what you begin to realize is that to a degree, these folks are speaking their own truth because the, the folks that are running at real scale at Hyperscale, those folks aren't Dell, HP super micro customers. [00:21:46] Bryan: They're actually, they've done their own thing. So it's like, yeah, Dell's not seeing that problem, um, because they're not running at the same scale. Um, but when you do run, you only have to run at modest scale before these things just become. Overwhelming in terms of the, the headwind that they present to people that wanna deploy infrastructure. The problem is felt with just a few racks [00:22:05] Jeremy: Yeah, so maybe to help people get some perspective at, at what point do you think that people start noticing or start feeling these problems? Because I imagine that if you're just have a few racks or [00:22:22] Bryan: do you have a couple racks or the, or do you wonder or just wondering because No, no, no. I would think, I think anyone who deploys any number of servers, especially now, especially if your experience is only in the cloud, you're gonna be like, what the hell is this? I mean, just again, just to get this thing working at all. [00:22:39] Bryan: It is so it, it's so hairy and so congealed, right? It's not designed. Um, and it, it, it, it's accreted it and it's so obviously accreted that you are, I mean, nobody who is setting up a rack of servers is gonna think to themselves like, yes, this is the right way to go do it. This all makes sense because it's, it's just not, it, I, it feels like the kit, I mean, kit car's almost too generous because it implies that there's like a set of plans to work to in the end. [00:23:08] Bryan: Uh, I mean, it, it, it's a bag of bolts. It's a bunch of parts that you're putting together. And so even at the smallest scales, that stuff is painful. Just architecturally, it's painful at the small scale then, but at least you can get it working. I think the stuff that then becomes debilitating at larger scale are the things that are, are worse than just like, I can't, like this thing is a mess to get working. [00:23:31] Bryan: It's like the, the, the fan issue that, um, where you are now seeing this over, you know, hundreds of machines or thousands of machines. Um, so I, it is painful at more or less all levels of scale. There's, there is no level at which the, the, the pc, which is really what this is, this is a, the, the personal computer architecture from the 1980s and there is really no level of scale where that's the right unit. Running elastic infrastructure is the hardware but also, hypervisor, distributed database, api, etc [00:23:57] Bryan: I mean, where that's the right thing to go deploy, especially if what you are trying to run. Is elastic infrastructure, a cloud. Because the other thing is like we, we've kinda been talking a lot about that hardware layer. Like hardware is, is just the start. Like you actually gotta go put software on that and actually run that as elastic infrastructure. [00:24:16] Bryan: So you need a hypervisor. Yes. But you need a lot more than that. You, you need to actually, you, you need a distributed database, you need web endpoints. You need, you need a CLI, you need all the stuff that you need to actually go run an actual service of compute or networking or storage. I mean, and for, for compute, even for compute, there's a ton of work to be done. [00:24:39] Bryan: And compute is by far, I would say the simplest of the, of the three. When you look at like networks, network services, storage services, there's a whole bunch of stuff that you need to go build in terms of distributed systems to actually offer that as a cloud. So it, I mean, it is painful at more or less every LE level if you are trying to deploy cloud computing on. What's a control plane? [00:25:00] Jeremy: And for someone who doesn't have experience building or working with this type of infrastructure, when you talk about a control plane, what, what does that do in the context of this system? [00:25:16] Bryan: So control plane is the thing that is, that is everything between your API request and that infrastructure actually being acted upon. So you go say, Hey, I, I want a provision, a vm. Okay, great. We've got a whole bunch of things we're gonna provision with that. We're gonna provision a vm, we're gonna get some storage that's gonna go along with that, that's got a network storage service that's gonna come out of, uh, we've got a virtual network that we're gonna either create or attach to. [00:25:39] Bryan: We've got a, a whole bunch of things we need to go do for that. For all of these things, there are metadata components that need, we need to keep track of this thing that, beyond the actual infrastructure that we create. And then we need to go actually, like act on the actual compute elements, the hostos, what have you, the switches, what have you, and actually go. [00:25:56] Bryan: Create these underlying things and then connect them. And there's of course, the challenge of just getting that working is a big challenge. Um, but getting that working robustly, getting that working is, you know, when you go to provision of vm, um, the, all the, the, the steps that need to happen and what happens if one of those steps fails along the way? [00:26:17] Bryan: What happens if, you know, one thing we're very mindful of is these kind of, you get these long tails of like, why, you know, generally our VM provisioning happened within this time, but we get these long tails where it takes much longer. What's going on? What, where in this process are we, are we actually spending time? [00:26:33] Bryan: Uh, and there's a whole lot of complexity that you need to go deal with that. There's a lot of complexity that you need to go deal with this effectively, this workflow that's gonna go create these things and manage them. Um, we use a, a pattern that we call, that are called sagas, actually is a, is a database pattern from the eighties. [00:26:51] Bryan: Uh, Katie McCaffrey is a, is a database reCrcher who, who, uh, I, I think, uh, reintroduce the idea of, of sagas, um, in the last kind of decade. Um, and this is something that we picked up, um, and I've done a lot of really interesting things with, um, to allow for, to this kind of, these workflows to be, to be managed and done so robustly in a way that you can restart them and so on. [00:27:16] Bryan: Uh, and then you guys, you get this whole distributed system that can do all this. That whole distributed system, that itself needs to be reliable and available. So if you, you know, you need to be able to, what happens if you, if you pull a sled or if a sled fails, how does the system deal with that? [00:27:33] Bryan: How does the system deal with getting an another sled added to the system? Like how do you actually grow this distributed system? And then how do you update it? How do you actually go from one version to the next? And all of that has to happen across an air gap where this is gonna run as part of the computer. [00:27:49] Bryan: So there are, it, it is fractally complicated. There, there is a lot of complexity here in, in software, in the software system and all of that. We kind of, we call the control plane. Um, and it, this is the what exists at AWS at GCP, at Azure. When you are hitting an endpoint that's provisioning an EC2 instance for you. [00:28:10] Bryan: There is an AWS control plane that is, is doing all of this and has, uh, some of these similar aspects and certainly some of these similar challenges. Are vSphere / Proxmox / Hyper-V in the same category? [00:28:20] Jeremy: And for people who have run their own servers with something like say VMware or Hyper V or Proxmox, are those in the same category? [00:28:32] Bryan: Yeah, I mean a little bit. I mean, it kind of like vSphere Yes. Via VMware. No. So it's like you, uh, VMware ESX is, is kind of a key building block upon which you can build something that is a more meaningful distributed system. When it's just like a machine that you're provisioning VMs on, it's like, okay, well that's actually, you as the human might be the control plane. [00:28:52] Bryan: Like, that's, that, that's, that's a much easier problem. Um, but when you've got, you know, tens, hundreds, thousands of machines, you need to do it robustly. You need something to coordinate that activity and you know, you need to pick which sled you land on. You need to be able to move these things. You need to be able to update that whole system. [00:29:06] Bryan: That's when you're getting into a control plane. So, you know, some of these things have kind of edged into a control plane, certainly VMware. Um, now Broadcom, um, has delivered something that's kind of cloudish. Um, I think that for folks that are truly born on the cloud, it, it still feels somewhat, uh, like you're going backwards in time when you, when you look at these kind of on-prem offerings. [00:29:29] Bryan: Um, but, but it, it, it's got these aspects to it for sure. Um, and I think that we're, um, some of these other things when you're just looking at KVM or just looks looking at Proxmox you kind of need to, to connect it to other broader things to turn it into something that really looks like manageable infrastructure. [00:29:47] Bryan: And then many of those projects are really, they're either proprietary projects, uh, proprietary products like vSphere, um, or you are really dealing with open source projects that are. Not necessarily aimed at the same level of scale. Um, you know, you look at a, again, Proxmox or, uh, um, you'll get an OpenStack. [00:30:05] Bryan: Um, and you know, OpenStack is just a lot of things, right? I mean, OpenStack has got so many, the OpenStack was kind of a, a free for all, for every infrastructure vendor. Um, and I, you know, there was a time people were like, don't you, aren't you worried about all these companies together that, you know, are coming together for OpenStack? [00:30:24] Bryan: I'm like, haven't you ever worked for like a company? Like, companies don't get along. By the way, it's like having multiple companies work together on a thing that's bad news, not good news. And I think, you know, one of the things that OpenStack has definitely struggled with, kind of with what, actually the, the, there's so many different kind of vendor elements in there that it's, it's very much not a product, it's a project that you're trying to run. [00:30:47] Bryan: But that's, but that very much is in, I mean, that's, that's similar certainly in spirit. [00:30:53] Jeremy: And so I think this is kind of like you're alluding to earlier, the piece that allows you to allocate, compute, storage, manage networking, gives you that experience of I can go to a web console or I can use an API and I can spin up machines, get them all connected. At the end of the day, the control plane. Is allowing you to do that in hopefully a user-friendly way. [00:31:21] Bryan: That's right. Yep. And in the, I mean, in order to do that in a modern way, it's not just like a user-friendly way. You really need to have a CLI and a web UI and an API. Those all need to be drawn from the same kind of single ground truth. Like you don't wanna have any of those be an afterthought for the other. [00:31:39] Bryan: You wanna have the same way of generating all of those different endpoints and, and entries into the system. Building a control plane now has better tools (Rust, CockroachDB) [00:31:46] Jeremy: And if you take your time at Joyent as an example. What kind of tools existed for that versus how much did you have to build in-house for as far as the hypervisor and managing the compute and all that? [00:32:02] Bryan: Yeah, so we built more or less everything in house. I mean, what you have is, um, and I think, you know, over time we've gotten slightly better tools. Um, I think, and, and maybe it's a little bit easier to talk about the, kind of the tools we started at Oxide because we kind of started with a, with a clean sheet of paper at oxide. [00:32:16] Bryan: We wanted to, knew we wanted to go build a control plane, but we were able to kind of go revisit some of the components. So actually, and maybe I'll, I'll talk about some of those changes. So when we, at, For example, at Joyent, when we were building a cloud at Joyent, there wasn't really a good distributed database. [00:32:34] Bryan: Um, so we were using Postgres as our database for metadata and there were a lot of challenges. And Postgres is not a distributed database. It's running. With a primary secondary architecture, and there's a bunch of issues there, many of which we discovered the hard way. Um, when we were coming to oxide, you have much better options to pick from in terms of distributed databases. [00:32:57] Bryan: You know, we, there was a period that now seems maybe potentially brief in hindsight, but of a really high quality open source distributed databases. So there were really some good ones to, to pick from. Um, we, we built on CockroachDB on CRDB. Um, so that was a really important component. That we had at oxide that we didn't have at Joyent. [00:33:19] Bryan: Um, so we were, I wouldn't say we were rolling our own distributed database, we were just using Postgres and uh, and, and dealing with an enormous amount of pain there in terms of the surround. Um, on top of that, and, and, you know, a, a control plane is much more than a database, obviously. Uh, and you've gotta deal with, uh, there's a whole bunch of software that you need to go, right. [00:33:40] Bryan: Um, to be able to, to transform these kind of API requests into something that is reliable infrastructure, right? And there, there's a lot to that. Uh, especially when networking gets in the mix, when storage gets in the mix, uh, there are a whole bunch of like complicated steps that need to be done, um, at Joyent. [00:33:59] Bryan: Um, we, in part because of the history of the company and like, look. This, this just is not gonna sound good, but it just is what it is and I'm just gonna own it. We did it all in Node, um, at Joyent, which I, I, I know it sounds really right now, just sounds like, well, you, you built it with Tinker Toys. You Okay. [00:34:18] Bryan: Uh, did, did you think it was, you built the skyscraper with Tinker Toys? Uh, it's like, well, okay. We actually, we had greater aspirations for the Tinker Toys once upon a time, and it was better than, you know, than Twisted Python and Event Machine from Ruby, and we weren't gonna do it in Java. All right. [00:34:32] Bryan: So, but let's just say that that experiment, uh, that experiment did ultimately end in a predictable fashion. Um, and, uh, we, we decided that maybe Node was not gonna be the best decision long term. Um, Joyent was the company behind node js. Uh, back in the day, Ryan Dahl worked for Joyent. Uh, and then, uh, then we, we, we. [00:34:53] Bryan: Uh, landed that in a foundation in about, uh, what, 2015, something like that. Um, and began to consider our world beyond, uh, beyond Node. Rust at Oxide [00:35:04] Bryan: A big tool that we had in the arsenal when we started Oxide is Rust. Um, and so indeed the name of the company is, is a tip of the hat to the language that we were pretty sure we were gonna be building a lot of stuff in. [00:35:16] Bryan: Namely Rust. And, uh, rust is, uh, has been huge for us, a very important revolution in programming languages. you know, there, there, there have been different people kind of coming in at different times and I kinda came to Rust in what I, I think is like this big kind of second expansion of rust in 2018 when a lot of technologists were think, uh, sick of Node and also sick of Go. [00:35:43] Bryan: And, uh, also sick of C++. And wondering is there gonna be something that gives me the, the, the performance, of that I get outta C. The, the robustness that I can get out of a C program but is is often difficult to achieve. but can I get that with kind of some, some of the velocity of development, although I hate that term, some of the speed of development that you get out of a more interpreted language. [00:36:08] Bryan: Um, and then by the way, can I actually have types, I think types would be a good idea? Uh, and rust obviously hits the sweet spot of all of that. Um, it has been absolutely huge for us. I mean, we knew when we started the company again, oxide, uh, we were gonna be using rust in, in quite a, quite a. Few places, but we weren't doing it by fiat. [00:36:27] Bryan: Um, we wanted to actually make sure we're making the right decision, um, at, at every different, at every layer. Uh, I think what has been surprising is the sheer number of layers at which we use rust in terms of, we've done our own embedded firmware in rust. We've done, um, in, in the host operating system, which is still largely in C, but very big components are in rust. [00:36:47] Bryan: The hypervisor Propolis is all in rust. Uh, and then of course the control plane, that distributed system on that is all in rust. So that was a very important thing that we very much did not need to build ourselves. We were able to really leverage, uh, a terrific community. Um. We were able to use, uh, and we've done this at Joyent as well, but at Oxide, we've used Illumos as a hostos component, which, uh, our variant is called Helios. [00:37:11] Bryan: Um, we've used, uh, bhyve um, as a, as as that kind of internal hypervisor component. we've made use of a bunch of different open source components to build this thing, um, which has been really, really important for us. Uh, and open source components that didn't exist even like five years prior. [00:37:28] Bryan: That's part of why we felt that 2019 was the right time to start the company. And so we started Oxide. The problems building a control plane in Node [00:37:34] Jeremy: You had mentioned that at Joyent, you had tried to build this in, in Node. What were the, what were the, the issues or the, the challenges that you had doing that? [00:37:46] Bryan: Oh boy. Yeah. again, we, I kind of had higher hopes in 2010, I would say. When we, we set on this, um, the, the, the problem that we had just writ large, um. JavaScript is really designed to allow as many people on earth to write a program as possible, which is good. I mean, I, I, that's a, that's a laudable goal. [00:38:09] Bryan: That is the goal ultimately of such as it is of JavaScript. It's actually hard to know what the goal of JavaScript is, unfortunately, because Brendan Ike never actually wrote a book. so that there is not a canonical, you've got kind of Doug Crockford and other people who've written things on JavaScript, but it's hard to know kind of what the original intent of JavaScript is. [00:38:27] Bryan: The name doesn't even express original intent, right? It was called Live Script, and it was kind of renamed to JavaScript during the Java Frenzy of the late nineties. A name that makes no sense. There is no Java in JavaScript. that is kind of, I think, revealing to kind of the, uh, the unprincipled mess that is JavaScript. [00:38:47] Bryan: It, it, it's very pragmatic at some level, um, and allows anyone to, it makes it very easy to write software. The problem is it's much more difficult to write really rigorous software. So, uh, and this is what I should differentiate JavaScript from TypeScript. This is really what TypeScript is trying to solve. [00:39:07] Bryan: TypeScript is like. How can, I think TypeScript is a, is a great step forward because TypeScript is like, how can we bring some rigor to this? Like, yes, it's great that it's easy to write JavaScript, but that's not, we, we don't wanna do that for Absolutely. I mean that, that's not the only problem we solve. [00:39:23] Bryan: We actually wanna be able to write rigorous software and it's actually okay if it's a little harder to write rigorous software that's actually okay if it gets leads to, to more rigorous artifacts. Um, but in JavaScript, I mean, just a concrete example. You know, there's nothing to prevent you from referencing a property that doesn't actually exist in JavaScript. [00:39:43] Bryan: So if you fat finger a property name, you are relying on something to tell you. By the way, I think you've misspelled this because there is no type definition for this thing. And I don't know that you've got one that's spelled correctly, one that's spelled incorrectly, that's often undefined. And then the, when you actually go, you say you've got this typo that is lurking in your what you want to be rigorous software. [00:40:07] Bryan: And if you don't execute that code, like you won't know that's there. And then you do execute that code. And now you've got a, you've got an undefined object. And now that's either gonna be an exception or it can, again, depends on how that's handled. It can be really difficult to determine the origin of that, of, of that error, of that programming. [00:40:26] Bryan: And that is a programmer error. And one of the big challenges that we had with Node is that programmer errors and operational errors, like, you know, I'm out of disk space as an operational error. Those get conflated and it becomes really hard. And in fact, I think the, the language wanted to make it easier to just kind of, uh, drive on in the event of all errors. [00:40:53] Bryan: And it's like, actually not what you wanna do if you're trying to build a reliable, robust system. So we had. No end of issues. [00:41:01] Bryan: We've got a lot of experience developing rigorous systems, um, again coming out of operating systems development and so on. And we want, we brought some of that rigor, if strangely, to JavaScript. So one of the things that we did is we brought a lot of postmortem, diagnos ability and observability to node. [00:41:18] Bryan: And so if, if one of our node processes. Died in production, we would actually get a core dump from that process, a core dump that we could actually meaningfully process. So we did a bunch of kind of wild stuff. I mean, actually wild stuff where we could actually make sense of the JavaScript objects in a binary core dump. JavaScript values ease of getting started over robustness [00:41:41] Bryan: Um, and things that we thought were really important, and this is the, the rest of the world just looks at this being like, what the hell is this? I mean, it's so out of step with it. The problem is that we were trying to bridge two disconnected cultures of one developing really. Rigorous software and really designing it for production, diagnosability and the other, really designing it to software to run in the browser and for anyone to be able to like, you know, kind of liven up a webpage, right? [00:42:10] Bryan: Is kinda the origin of, of live script and then JavaScript. And we were kind of the only ones sitting at the intersection of that. And you begin when you are the only ones sitting at that kind of intersection. You just are, you're, you're kind of fighting a community all the time. And we just realized that we are, there were so many things that the community wanted to do that we felt are like, no, no, this is gonna make software less diagnosable. It's gonna make it less robust. The NodeJS split and why people left [00:42:36] Bryan: And then you realize like, I'm, we're the only voice in the room because we have got, we have got desires for this language that it doesn't have for itself. And this is when you realize you're in a bad relationship with software. It's time to actually move on. And in fact, actually several years after, we'd already kind of broken up with node. [00:42:55] Bryan: Um, and it was like, it was a bit of an acrimonious breakup. there was a, uh, famous slash infamous fork of node called IoJS Um, and this was viewed because people, the community, thought that Joyent was being what was not being an appropriate steward of node js and was, uh, not allowing more things to come into to, to node. [00:43:19] Bryan: And of course, the reason that we of course, felt that we were being a careful steward and we were actively resisting those things that would cut against its fitness for a production system. But it's some way the community saw it and they, and forked, um, and, and I think the, we knew before the fork that's like, this is not working and we need to get this thing out of our hands. Platform is a reflection of values node summit talk [00:43:43] Bryan: And we're are the wrong hands for this? This needs to be in a foundation. Uh, and so we kind of gone through that breakup, uh, and maybe it was two years after that. That, uh, friend of mine who was um, was running the, uh, the node summit was actually, it's unfortunately now passed away. Charles er, um, but Charles' venture capitalist great guy, and Charles was running Node Summit and came to me in 2017. [00:44:07] Bryan: He is like, I really want you to keynote Node Summit. And I'm like, Charles, I'm not gonna do that. I've got nothing nice to say. Like, this is the, the, you don't want, I'm the last person you wanna keynote. He's like, oh, if you have nothing nice to say, you should definitely keynote. You're like, oh God, okay, here we go. [00:44:22] Bryan: He's like, no, I really want you to talk about, like, you should talk about the Joyent breakup with NodeJS. I'm like, oh man. [00:44:29] Bryan: And that led to a talk that I'm really happy that I gave, 'cause it was a very important talk for me personally. Uh, called Platform is a reflection of values and really looking at the values that we had for Node and the values that Node had for itself. And they didn't line up. [00:44:49] Bryan: And the problem is that the values that Node had for itself and the values that we had for Node are all kind of positives, right? Like there's nobody in the node community who's like, I don't want rigor, I hate rigor. It's just that if they had the choose between rigor and making the language approachable. [00:45:09] Bryan: They would choose approachability every single time. They would never choose rigor. And, you know, that was a, that was a big eye-opener. I do, I would say, if you watch this talk. [00:45:20] Bryan: because I knew that there's, like, the audience was gonna be filled with, with people who, had been a part of the fork in 2014, I think was the, the, the, the fork, the IOJS fork. And I knew that there, there were, there were some, you know, some people that were, um, had been there for the fork and. [00:45:41] Bryan: I said a little bit of a trap for the audience. But the, and the trap, I said, you know what, I, I kind of talked about the values that we had and the aspirations we had for Node, the aspirations that Node had for itself and how they were different. [00:45:53] Bryan: And, you know, and I'm like, look in, in, in hindsight, like a fracture was inevitable. And in 2014 there was finally a fracture. And do people know what happened in 2014? And if you, if you, you could listen to that talk, everyone almost says in unison, like IOJS. I'm like, oh right. IOJS. Right. That's actually not what I was thinking of. [00:46:19] Bryan: And I go to the next slide and is a tweet from a guy named TJ Holloway, Chuck, who was the most prolific contributor to Node. And it was his tweet also in 2014 before the fork, before the IOJS fork explaining that he was leaving Node and that he was going to go. And you, if you turn the volume all the way up, you can hear the audience gasp. [00:46:41] Bryan: And it's just delicious because the community had never really come, had never really confronted why TJ left. Um, there. And I went through a couple folks, Felix, bunch of other folks, early Node folks. That were there in 2010, were leaving in 2014, and they were going to go primarily, and they were going to go because they were sick of the same things that we were sick of. [00:47:09] Bryan: They, they, they had hit the same things that we had hit and they were frustrated. I I really do believe this, that platforms do reflect their own values. And when you are making a software decision, you are selecting value. [00:47:26] Bryan: You should select values that align with the values that you have for that software. That is, those are, that's way more important than other things that people look at. I think people look at, for example, quote unquote community size way too frequently, community size is like. Eh, maybe it can be fine. [00:47:44] Bryan: I've been in very large communities, node. I've been in super small open source communities like AUMs and RAs, a bunch of others. there are strengths and weaknesses to both approaches just as like there's a strength to being in a big city versus a small town. Me personally, I'll take the small community more or less every time because the small community is almost always self-selecting based on values and just for the same reason that I like working at small companies or small teams. [00:48:11] Bryan: There's a lot of value to be had in a small community. It's not to say that large communities are valueless, but again, long answer to your question of kind of where did things go south with Joyent and node. They went south because the, the values that we had and the values the community had didn't line up and that was a very educational experience, as you might imagine. [00:48:33] Jeremy: Yeah. And, and given that you mentioned how, because of those values, some people moved from Node to go, and in the end for much of what oxide is building. You ended up using rust. What, what would you say are the, the values of go and and rust, and how did you end up choosing Rust given that. Go's decisions regarding generics, versioning, compilation speed priority [00:48:56] Bryan: Yeah, I mean, well, so the value for, yeah. And so go, I mean, I understand why people move from Node to Go, go to me was kind of a lateral move. Um, there were a bunch of things that I, uh, go was still garbage collected, um, which I didn't like. Um, go also is very strange in terms of there are these kind of like. [00:49:17] Bryan: These autocratic kind of decisions that are very bizarre. Um, there, I mean, generics is kind of a famous one, right? Where go kind of as a point of principle didn't have generics, even though go itself actually the innards of go did have generics. It's just that you a go user weren't allowed to have them. [00:49:35] Bryan: And you know, it's kind of, there was, there was an old cartoon years and years ago about like when a, when a technologist is telling you that something is technically impossible, that actually means I don't feel like it. Uh, and there was a certain degree of like, generics are technically impossible and go, it's like, Hey, actually there are. [00:49:51] Bryan: And so there was, and I just think that the arguments against generics were kind of disingenuous. Um, and indeed, like they ended up adopting generics and then there's like some super weird stuff around like, they're very anti-assertion, which is like, what, how are you? Why are you, how is someone against assertions, it doesn't even make any sense, but it's like, oh, nope. [00:50:10] Bryan: Okay. There's a whole scree on it. Nope, we're against assertions and the, you know, against versioning. There was another thing like, you know, the Rob Pike has kind of famously been like, you should always just run on the way to commit. And you're like, does that, is that, does that make sense? I mean this, we actually built it. [00:50:26] Bryan: And so there are a bunch of things like that. You're just like, okay, this is just exhausting and. I mean, there's some things about Go that are great and, uh, plenty of other things that I just, I'm not a fan of. Um, I think that the, in the end, like Go cares a lot about like compile time. It's super important for Go Right? [00:50:44] Bryan: Is very quick, compile time. I'm like, okay. But that's like compile time is not like, it's not unimportant, it's doesn't have zero importance. But I've got other things that are like lots more important than that. Um, what I really care about is I want a high performing artifact. I wanted garbage collection outta my life. Don't think garbage collection has good trade offs [00:51:00] Bryan: I, I gotta tell you, I, I like garbage collection to me is an embodiment of this like, larger problem of where do you put cognitive load in the software development process. And what garbage collection is saying to me it is right for plenty of other people and the software that they wanna develop. [00:51:21] Bryan: But for me and the software that I wanna develop, infrastructure software, I don't want garbage collection because I can solve the memory allocation problem. I know when I'm like, done with something or not. I mean, it's like I, whether that's in, in C with, I mean it's actually like, it's really not that hard to not leak memory in, in a C base system. [00:51:44] Bryan: And you can. give yourself a lot of tooling that allows you to diagnose where memory leaks are coming from. So it's like that is a solvable problem. There are other challenges with that, but like, when you are developing a really sophisticated system that has garbage collection is using garbage collection. [00:51:59] Bryan: You spend as much time trying to dork with the garbage collector to convince it to collect the thing that you know is garbage. You are like, I've got this thing. I know it's garbage. Now I need to use these like tips and tricks to get the garbage collector. I mean, it's like, it feels like every Java performance issue goes to like minus xx call and use the other garbage collector, whatever one you're using, use a different one and using a different, a different approach. [00:52:23] Bryan: It's like, so you're, you're in this, to me, it's like you're in the worst of all worlds where. the reason that garbage collection is helpful is because the programmer doesn't have to think at all about this problem. But now you're actually dealing with these long pauses in production. [00:52:38] Bryan: You're dealing with all these other issues where actually you need to think a lot about it. And it's kind of, it, it it's witchcraft. It, it, it's this black box that you can't see into. So it's like, what problem have we solved exactly? And I mean, so the fact that go had garbage collection, it's like, eh, no, I, I do not want, like, and then you get all the other like weird fatwahs and you know, everything else. [00:52:57] Bryan: I'm like, no, thank you. Go is a no thank you for me, I, I get it why people like it or use it, but it's, it's just, that was not gonna be it. Choosing Rust [00:53:04] Bryan: I'm like, I want C. but I, there are things I didn't like about C too. I was looking for something that was gonna give me the deterministic kind of artifact that I got outta C. But I wanted library support and C is tough because there's, it's all convention. you know, there's just a bunch of other things that are just thorny. And I remember thinking vividly in 2018, I'm like, well, it's rust or bust. Ownership model, algebraic types, error handling [00:53:28] Bryan: I'm gonna go into rust. And, uh, I hope I like it because if it's not this, it's gonna like, I'm gonna go back to C I'm like literally trying to figure out what the language is for the back half of my career. Um, and when I, you know, did what a lot of people were doing at that time and people have been doing since of, you know, really getting into rust and really learning it, appreciating the difference in the, the model for sure, the ownership model people talk about. [00:53:54] Bryan: That's also obviously very important. It was the error handling that blew me away. And the idea of like algebraic types, I never really had algebraic types. Um, and the ability to, to have. And for error handling is one of these really, uh, you, you really appreciate these things where it's like, how do you deal with a, with a function that can either succeed and return something or it can fail, and the way c deals with that is bad with these kind of sentinels for errors. [00:54:27] Bryan: And, you know, does negative one mean success? Does negative one mean failure? Does zero mean failure? Some C functions, zero means failure. Traditionally in Unix, zero means success. And like, what if you wanna return a file descriptor, you know, it's like, oh. And then it's like, okay, then it'll be like zero through positive N will be a valid result. [00:54:44] Bryan: Negative numbers will be, and like, was it negative one and I said airo, or is it a negative number that did not, I mean, it's like, and that's all convention, right? People do all, all those different things and it's all convention and it's easy to get wrong, easy to have bugs, can't be statically checked and so on. Um, and then what Go says is like, well, you're gonna have like two return values and then you're gonna have to like, just like constantly check all of these all the time. Um, which is also kind of gross. Um, JavaScript is like, Hey, let's toss an exception. If, if we don't like something, if we see an error, we'll, we'll throw an exception. [00:55:15] Bryan: There are a bunch of reasons I don't like that. Um, and you look, you'll get what Rust does, where it's like, no, no, no. We're gonna have these algebra types, which is to say this thing can be a this thing or that thing, but it, but it has to be one of these. And by the way, you don't get to process this thing until you conditionally match on one of these things. [00:55:35] Bryan: You're gonna have to have a, a pattern match on this thing to determine if it's a this or a that, and if it in, in the result type that you, the result is a generic where it's like, it's gonna be either the thing that you wanna return. It's gonna be an okay that contains the thing you wanna return, or it's gonna be an error that contains your error and it forces your code to deal with that. [00:55:57] Bryan: And what that does is it shifts the cognitive load from the person that is operating this thing in production to the, the actual developer that is in development. And I think that that, that to me is like, I, I love that shift. Um, and that shift to me is really important. Um, and that's what I was missing, that that's what Rust gives you. [00:56:23] Bryan: Rust forces you to think about your code as you write it, but as a result, you have an artifact that is much more supportable, much more sustainable, and much faster. Prefer to frontload cognitive load during development instead of at runtime [00:56:34] Jeremy: Yeah, it sounds like you would rather take the time during the development to think about these issues because whether it's garbage collection or it's error handling at runtime when you're trying to solve a problem, then it's much more difficult than having dealt with it to start with. [00:56:57] Bryan: Yeah, absolutely. I, and I just think that like, why also, like if it's software, if it's, again, if it's infrastructure software, I mean the kinda the question that you, you should have when you're writing software is how long is this software gonna live? How many people are gonna use this software? Uh, and if you are writing an operating system, the answer for this thing that you're gonna write, it's gonna live for a long time. [00:57:18] Bryan: Like, if we just look at plenty of aspects of the system that have been around for a, for decades, it's gonna live for a long time and many, many, many people are gonna use it. Why would we not expect people writing that software to have more cognitive load when they're writing it to give us something that's gonna be a better artifact? [00:57:38] Bryan: Now conversely, you're like, Hey, I kind of don't care about this. And like, I don't know, I'm just like, I wanna see if this whole thing works. I've got, I like, I'm just stringing this together. I don't like, no, the software like will be lucky if it survives until tonight, but then like, who cares? Yeah. Yeah. [00:57:52] Bryan: Gar garbage clock. You know, if you're prototyping something, whatever. And this is why you really do get like, you know, different choices, different technology choices, depending on the way that you wanna solve the problem at hand. And for the software that I wanna write, I do like that cognitive load that is upfront. With LLMs maybe you can get the benefit of the robust artifact with less cognitive load [00:58:10] Bryan: Um, and although I think, I think the thing that is really wild that is the twist that I don't think anyone really saw coming is that in a, in an LLM age. That like the cognitive load upfront almost needs an asterisk on it because so much of that can be assisted by an LLM. And now, I mean, I would like to believe, and maybe this is me being optimistic, that the the, in the LLM age, we will see, I mean, rust is a great fit for the LLMH because the LLM itself can get a lot of feedback about whether the software that's written is correct or not. [00:58:44] Bryan: Much more so than you can for other environments. [00:58:48] Jeremy: Yeah, that is a interesting point in that I think when people first started trying out the LLMs to code, it was really good at these maybe looser languages like Python or JavaScript, and initially wasn't so good at something like Rust. But it sounds like as that improves, if. It can write it then because of the rigor or the memory management or the error handling that the language is forcing you to do, it might actually end up being a better choice for people using LLMs. [00:59:27] Bryan: absolutely. I, it, it gives you more certainty in the artifact that you've delivered. I mean, you know a lot about a Rust program that compiles correctly. I mean, th there are certain classes of errors that you don't have, um, that you actually don't know on a C program or a GO program or a, a JavaScript program. [00:59:46] Bryan: I think that's gonna be really important. I think we are on the cusp. Maybe we've already seen it, this kind of great bifurcation in the software that we writ
Wes and Scott talk about the latest dev news: Node enabling Temporal by default, OpenAI acquiring OpenClaw, TypeScript 6, new TanStack and Deno releases, the explosion of AI agent platforms, and more. Courtney Tolinski's Podcast Phases: A Parenting Podcast https://phases.fm/ Show Notes 00:00 Welcome to Syntax! 01:11 Brought to you by Sentry.io 02:40 Node.js enables Temporal by default Enable Temporal by default 04:08 OpenClaw acquired by OpenAI OpenClaw, OpenAI and the future 09:36 Bots are taking over the internet Wes' tweet 15:30 TypeScript 6 Beta Announcing TypeScript 6.0 Beta 17:00 TanStack Hotkeys for type-safe shortcuts TanStack Hotkeys 18:05 Components will kill webpages Components Will Kill Pages 19:39 Is Google Translate just an LLM? Viridian's tweet 23:29 Shaders.com 26:49 Voxtral Mini Realtime Voxtral Realtime Demo 29:51 Deno launches Sandboxes Introducing Deno Sandbox 32:39 Oz by Warp.dev 38:10 Augment Code Intent 40:10 Sick Picks + Shameless Plugs Sick Picks Scott: Samsung Remote Wes: Ice Shameless Plugs Syntax YouTube Channel Hit us up on Socials! Syntax: X Instagram Tiktok LinkedIn Threads Wes: X Instagram Tiktok LinkedIn Threads Scott: X Instagram Tiktok LinkedIn Threads Randy: X Instagram YouTube Threads
This week on JavaScript Jabber, we're joined (again!) by Val Karpov — the maintainer of Mongoose — to talk about what's new in Mongoose 9, how async stack traces are changing the debugging game, and why AI is quietly reshaping the way we build developer tools.We dig into stricter TypeScript support, the removal of callback-based middleware, and what it really takes to modernize a massive codebase. Then we shift gears into Mongoose Studio, a schema-aware, AI-enhanced MongoDB GUI that brings streaming query results, map visualizations, and even LLM-powered document generation into your workflow. If you've ever wrestled with debugging database issues or squinting at raw JSON, this episode will get your wheels turning.We also explore Cassandra integration, vector search, Bun vs. Deno, and what AI means for the future of software engineering. There's a lot here — especially if you're working in Node.js, MongoDB, or building backend-heavy JavaScript apps.
In this conversation, Peter discusses the launch of the Midnight Mainnet, focusing on its federated node operators and the importance of privacy and compliance in blockchain technology. He highlights the roles of key players like MoneyGram, eToro, and PairPoint by Vodafone, and emphasises the significance of zero-knowledge proofs in ensuring privacy while maintaining regulatory compliance. The discussion also touches on the future prospects and challenges for Midnight as it transitions from a federated to a decentralised network.TakeawaysThe biggest hurdle to real world adoption of blockchain isn't speed.Midnight focuses on selective disclosure and programmable data protection.Privacy preserving by default, compliant friendly when needed.ZK proofs allow proving compliance without revealing sensitive data.MoneyGram's role signals a regulatory bridge for blockchain adoption.E-Toro's scale implies a stress test mindset for infrastructure.PairPoint addresses privacy issues in the economy of things.Federated setups ensure stability during the network's launch phase.Midnight's operator set includes serious players in cloud and fintech.The transition from federated to decentralized is crucial for Midnight's future.Chapters00:00 Introduction to Midnight Mainnet and Its Significance02:53 Federated Node Operators: Key Players in Midnight's Launch06:11 The Role of Privacy and Compliance in Blockchain07:37 Future Prospects and Challenges for MidnightDISCLAIMER: This content is for informational and educational purposes only and is not financial, investment, or legal advice. I am not affiliated with, nor compensated by, the project discussed—no tokens, payments, or incentives received. I do not hold a stake in the project, including private or future allocations. All views are my own, based on public information. Always do your own research and consult a licensed advisor before investing. Crypto investments carry high risk, and past performance is no guarantee of future results. I am not responsible for any decisions you make based on this content.
Subscribe to the podcastSomeone complained about the time it took to sync his Bitcoin node recently. Rollo was given the "opportunity" to resync his node and see if the complaints were warranted.Learn about Bitcoin at a trickleBitcoinTrickle.comSponsorLiberty MugsKeep in touch with us everywhere you areJoin our Telegram groupLike us on FacebookFollow us on Twitter: @libertymugs (Rollo), @Slappy_Jones_2Check us out on PatreonLearn everything you need to know about Bitcoin in just 10 hours10HoursofBitcoin.comPodcast version
Narty się skończyły, pora wrócić do rzeczywistości, która w świecie technologii pędzi szybciej niż kiedykolwiek. W dzisiejszym odcinku Tomek, Wojtek i Sebastian analizują miesiąc pełen "wow momentów", kontrowersji wokół autonomicznych agentów i fundamentalnych zmian w procesie tworzenia oprogramowania.W tym odcinku:
OpenClaw is a self-hosted AI agent daemon that executes autonomous tasks through messaging apps like WhatsApp and Telegram using persistent memory. It integrates with Claude Code to enable software development and administrative automation directly from mobile devices. Links Notes and resources at ocdevel.com/mlg/mla-29 Try a walking desk - stay healthy & sharp while you learn & code Generate a podcast - use my voice to listen to any AI generated content you want OpenClaw is a self-hosted AI agent daemon (Node.js, port 18789) that executes autonomous tasks via messaging apps like WhatsApp or Telegram. Developed by Peter Steinberger in November 2025, the project reached 196,000 GitHub stars in three months. Architecture and Persistent Memory Operational Loop: Gateway receives message, loads SOUL.md (personality), USER.md (user context), and MEMORY.md (persistent history), calls LLM for tool execution, streams response, and logs data. Memory System: Compounds context over months. Users should prompt the agent to remember specific preferences to update MEMORY.md. Heartbeats: Proactive cron-style triggers for automated actions, such as 6:30 AM briefings or inbox triage. Skills: 5,705+ community plugins via ClawHub. The agent can author its own skills by reading API documentation and writing TypeScript scripts. Claude Code Integration Mobile to Deploy Workflow: The claude-code-skill bridge provides OpenClaw access to Bash, Read, Edit, and Git tools via Telegram. Agent Teams: claude-team manages multiple workers in isolated git worktrees to perform parallel refactors or issue resolution. Interoperability: Use mcporter to share MCP servers between Claude Code and OpenClaw. Industry Comparisons vs n8n: Use n8n for deterministic, zero-variance pipelines. Use OpenClaw for reasoning and ambiguous natural language tasks. vs Claude Cowork: Cowork is a sandboxed, desktop-only proprietary app. OpenClaw is an open-source, mobile-first, 24/7 daemon with full system access. Professional Applications Therapy: Voice to SOAP note transcription. PHI requires local Ollama models due to a lack of encryption at rest in OpenClaw. Marketing: claw-ads for multi-platform ad management, Mixpost for scheduling, and SearXNG for search. Finance: Receipt OCR and Google Drive filing. Requires human review to mitigate non-deterministic LLM errors. Real Estate: Proactive transaction deadline monitoring and memory-driven buyer matching. Security and Operations Hardening: Bind to localhost, set auth tokens, and use Tailscale for remote access. Default settings are unsafe, exposing over 135,000 instances. Injection Defense: Add instructions to SOUL.md to treat external emails and web pages as hostile. Costs: Software is MIT-licensed. API costs are paid per-token or bundled via a Claude subscription key. Onboarding: Run the BOOTSTRAP.md flow immediately after installation to define agent personality before requesting tasks.
Is there a credible threat of Bitcoin Mining Monopolies? $ BTC 68,183 Block Height 937,649 Today's guest on the show is Renaud Cuny, creator of the Bitcoin Analytics Dashboard 'The Bitcoin Portal' and writer of the Block Space Weekly BIP 110 series. Renaud has a 25 year background in the telecommunications industry and was inspired to develop the Bitcoin Portal because he felt there was a lack of transparency regarding the amount of non-financial data being included into Bitcoin blocks. The dashboard tracks the amount of spam data being included in blocks, which currently accounts for around 40% of used block space. Renaud also discusses his simulation of BIP110, a proposal that aims to limit spam on the Bitcoin network and shares his findings. Connect with Renaud here: X - @CunyRenaud NOSTR - npub1gth6pfk5gp80dyjx5ll590zqddcf3k8j2qyyqxa6l37utyz4nlzsay3a7q Read Renaud's articles here: https://blockspaceweekly.substack.com/ Explore the Bitcoin Portal here: https://thebitcoinportal.com/ Check out my book ‘Choose Life' - https://bitcoinbook.shop/search?q=prince Pleb Service Announcements: Join 19 thousand Bitcoiners on @cluborange https://signup.cluborange.org/co/princey Support the pod via @fountain_app -https://fountain.fm/show/2oJTnUm5VKs3xmSVdf5n CONFERENCES: BITCOIN IRELAND - 22ND -25TH MAY 2026 - DUBLIN https://bitcoinireland.eu/ Use code BITTEN for - 10% BTC PRAGUE - 11th - 13th June 2026 http://btcprg.me/BITTEN - Use code BITTEN for - 10% BTC HEL - 25th - 26th September 2026. - Helsinki https://btchel.com/ Use code BITTEN for - 10% Shills and Mench's: RELAI - STACK SATS - www.relai.me/Bitten Use Code BITTEN BITBOX - SELF CUSTODY YOUR BITCOIN - www.bitbox.swiss/bitten Use Code BITTEN PAY WITH FLASH. Accept Bitcoin on your website or platform with no-code and low-code integrations. https://paywithflash.com/ SWAN BITCOIN - www.swan.com/bitten GEYSER - fund bitcoin projects you love - https://geyser.fund/ PLEBEIAN MARKET - BUY AND SELL STUFF FOR SATS; https://plebeian.market/ @PlebeianMarket ZAPRITE - https://zaprite.com/bitten - Invoicing and accounting for Bitcoiners - Save $40 KONSENSUS NETWORK - Buy bitcoin books in different languages. Use code BITTEN for 10% discount - https://bitcoinbook.shop?ref=bitten SEEDOR STEEL PLATE BACK-UP - @seedor_io use the code BITTEN for a 5% discount. www.seedor.io/BITTEN SATSBACK - Shop online and earn back sats! https://satsback.com/register/5AxjyPRZV8PNJGlM HEATBIT - Home Bitcoin mining - https://www.heatbit.com/?ref=DANIELPRINCE - Use code BITTEN. CRYPTOTAG STEEL PLATE BACK-UP https://cryptotag.io - USE CODE BITTEN for 10% discount. ALL FURTHER LINKS HERE - FOR DISCOUNTS AND OFFERS - https://vida.page/princey - https://linktr.ee/princey21m
В этом выпуске: как обойтись без заголовка host в SSH, насколько проклят Node.js, что делает Google видя noindex и follow, а также тонкости обновлений в Ubuntu, тонкости реализации Base32 по RFC и тонкости обсуждения тем наших слушателей. [00:01:14] Чему мы научились за неделю [00:05:42] SSH has no Host header SSH has no Host header —… Читать далее →
Emmanuel et Guillaume discutent de divers sujets liés à la programmation, notamment les systèmes de fichiers en Java, le Data Oriented Programming, les défis de JPA avec Kotlin, et les nouvelles fonctionnalités de Quarkus. Ils explorent également des sujets un peu fous comme la création de datacenters dans l'espace. Pas mal d'architecture aussi. Enregistré le 13 février 2026 Téléchargement de l'épisode LesCastCodeurs-Episode-337.mp3 ou en vidéo sur YouTube. News Langages Comment implémenter un file system en Java https://foojay.io/today/bootstrapping-a-java-file-system/ Créer un système de fichiers Java personnalisé avec NIO.2 pour des usages variés (VCS, archives, systèmes distants). Évolution Java: java.io.File (1.0) -> NIO (1.4) -> NIO.2 (1.7) pour personnalisation via FileSystem. Recommander conception préalable; API Java est orientée POSIX. Composants clés à considérer: Conception URI (scheme unique, chemin). Gestion de l'arborescence (BD, métadonnées, efficacité). Stockage binaire (emplacement, chiffrement, versions). Minimum pour démarrer (4 composants): Implémenter Path (représente fichier/répertoire). Étendre FileSystem (instance du système). Étendre FileSystemProvider (moteur, enregistré par scheme). Enregistrer FileSystemProvider via META-INF/services. Étapes suivantes: Couche BD (arborescence), opérations répertoire/fichier de base, stockage, tests. Processus long et exigeant, mais gratifiant. Un article de brian goetz sur le futur du data oriented programming en Java https://openjdk.org/projects/amber/design-notes/beyond-records Le projet Amber de Java introduit les "carrier classes", une évolution des records qui permet plus de flexibilité tout en gardant les avantages du pattern matching et de la reconstruction Les records imposent des contraintes strictes (immutabilité, représentation exacte de l'état) qui limitent leur usage pour des classes avec état muable ou dérivé Les carrier classes permettent de déclarer une state description complète et canonique sans imposer que la représentation interne corresponde exactement à l'API publique Le modificateur "component" sur les champs permet au compilateur de dériver automatiquement les accesseurs pour les composants alignés avec la state description Les compact constructors sont généralisés aux carrier classes, générant automatiquement l'initialisation des component fields Les carrier classes supportent la déconstruction via pattern matching comme les records, rendant possible leur usage dans les instanceof et switch Les carrier interfaces permettent de définir une state description sur une interface, obligeant les implémentations à fournir les accesseurs correspondants L'extension entre carrier classes est possible, avec dérivation automatique des appels super() quand les composants parent sont subsumés par l'enfant Les records deviennent un cas particulier de carrier classes avec des contraintes supplémentaires (final, extends Record, component fields privés et finaux obligatoires) L'évolution compatible des records est améliorée en permettant l'ajout de composants en fin de liste et la déconstruction partielle par préfixe Comment éviter les pièges courants avec JPA et Kotlin - https://blog.jetbrains.com/idea/2026/01/how-to-avoid-common-pitfalls-with-jpa-and-kotlin/ JPA est une spécification Java pour la persistance objet-relationnel, mais son utilisation avec Kotlin présente des incompatibilités dues aux différences de conception des deux langages Les classes Kotlin sont finales par défaut, ce qui empêche la création de proxies par JPA pour le lazy loading et les opérations transactionnelles Le plugin kotlin-jpa génère automatiquement des constructeurs sans argument et rend les classes open, résolvant les problèmes de compatibilité Les data classes Kotlin ne sont pas adaptées aux entités JPA car elles génèrent equals/hashCode basés sur tous les champs, causant des problèmes avec les relations lazy L'utilisation de lateinit var pour les relations peut provoquer des exceptions si on accède aux propriétés avant leur initialisation par JPA Les types non-nullables Kotlin peuvent entrer en conflit avec le comportement de JPA qui initialise les entités avec des valeurs null temporaires Le backing field direct dans les getters/setters personnalisés peut contourner la logique de JPA et casser le lazy loading IntelliJ IDEA 2024.3 introduit des inspections pour détecter automatiquement ces problèmes et propose des quick-fixes L'IDE détecte les entités finales, les data classes inappropriées, les problèmes de constructeurs et l'usage incorrect de lateinit Ces nouvelles fonctionnalités aident les développeurs à éviter les bugs subtils liés à l'utilisation de JPA avec Kotlin Librairies Guide sur MapStruct @IterableMapping - https://www.baeldung.com/java-mapstruct-iterablemapping MapStruct est une bibliothèque Java pour générer automatiquement des mappers entre beans, l'annotation @IterableMapping permet de configurer finement le mapping de collections L'attribut dateFormat permet de formater automatiquement des dates lors du mapping de listes sans écrire de boucle manuelle L'attribut qualifiedByName permet de spécifier quelle méthode custom appliquer sur chaque élément de la collection à mapper Exemple d'usage : filtrer des données sensibles comme des mots de passe en mappant uniquement certains champs via une méthode dédiée L'attribut nullValueMappingStrategy permet de contrôler le comportement quand la collection source est null (retourner null ou une collection vide) L'annotation fonctionne pour tous types de collections Java (List, Set, etc.) et génère le code de boucle nécessaire Possibilité d'appliquer des formats numériques avec numberFormat pour convertir des nombres en chaînes avec un format spécifique MapStruct génère l'implémentation complète du mapper au moment de la compilation, éliminant le code boilerplate L'annotation peut être combinée avec @Named pour créer des méthodes de mapping réutilisables et nommées Le mapping des collections supporte les conversions de types complexes au-delà des simples conversions de types primitifs Accès aux fichiers Samba depuis Java avec JCIFS - https://www.baeldung.com/java-samba-jcifs JCIFS est une bibliothèque Java permettant d'accéder aux partages Samba/SMB sans monter de lecteur réseau, supportant le protocole SMB3 on pense aux galériens qui doivent se connecter aux systèmes dit legacy La configuration nécessite un contexte CIFS (CIFSContext) et des objets SmbFile pour représenter les ressources distantes L'authentification se fait via NtlmPasswordAuthenticator avec domaine, nom d'utilisateur et mot de passe La bibliothèque permet de lister les fichiers et dossiers avec listFiles() et vérifier leurs propriétés (taille, date de modification) Création de fichiers avec createNewFile() et de dossiers avec mkdir() ou mkdirs() pour créer toute une arborescence Suppression via delete() qui peut parcourir et supprimer récursivement des arborescences entières Copie de fichiers entre partages Samba avec copyTo(), mais impossibilité de copier depuis le système de fichiers local Pour copier depuis le système local, utilisation des streams SmbFileInputStream et SmbFileOutputStream Les opérations peuvent cibler différents serveurs Samba et différents partages (anonymes ou protégés par mot de passe) La bibliothèque s'intègre dans des blocs try-with-resources pour une gestion automatique des ressources Quarkus 3.31 - Support complet Java 25, nouveau packaging Maven et Panache Next - https://quarkus.io/blog/quarkus-3-31-released/ Support complet de Java 25 avec images runtime et native Nouveau packaging Maven de type quarkus avec lifecycle optimisé pour des builds plus rapides voici un article complet pour plus de detail https://quarkus.io/blog/building-large-applications/ Introduction de Panache Next, nouvelle génération avec meilleure expérience développeur et API unifiée ORM/Reactive Mise à jour vers Hibernate ORM 7.2, Reactive 3.2, Search 8.2 Support de Hibernate Spatial pour les données géospatiales Passage à Testcontainers 2 et JUnit 6 Annotations de sécurité supportées sur les repositories Jakarta Data Chiffrement des tokens OIDC pour les implémentations custom TokenStateManager Support OAuth 2.0 Pushed Authorization Requests dans l'extension OIDC Maven 3.9 maintenant requis minimum pour les projets Quarkus A2A Java SDK 1.0.0.Alpha1 - Alignement avec la spécification 1.0 du protocole Agent2Agent - https://quarkus.io/blog/a2a-java-sdk-1-0-0-alpha1/ Le SDK Java A2A implémente le protocole Agent2Agent qui permet la communication standardisée entre agents IA pour découvrir des capacités, déléguer des tâches et collaborer Passage à la version 1.0 de la spécification marque la transition d'expérimental à production-ready avec des changements cassants assumés Modernisation complète du module spec avec des Java records partout remplaçant le mix précédent de classes et records pour plus de cohérence Adoption de Protocol Buffers comme source de vérité avec des mappers MapStruct pour la conversion et Gson pour JSON-RPC Les builders utilisent maintenant des méthodes factory statiques au lieu de constructeurs publics suivant les best practices Java modernes Introduction de trois BOMs Maven pour simplifier la gestion des dépendances du SDK core, des extensions et des implémentations de référence Quarkus AgentCard évolue avec une liste supportedInterfaces remplaçant url et preferredTransport pour plus de flexibilité dans la déclaration des protocoles Support de la pagination ajouté pour ListTasks et les endpoints de configuration des notifications push avec des wrappers Result appropriés Interface A2AHttpClient pluggable permettant des implémentations HTTP personnalisées avec une implémentation Vert.x fournie Travail continu vers la conformité complète avec le TCK 1.0 en cours de développement parallèlement à la finalisation de la spécification Pourquoi Quarkus finit par "cliquer" : les 10 questions que se posent les développeurs Java - https://www.the-main-thread.com/p/quarkus-java-developers-top-questions-2025 un article qui revele et repond aux questions des gens qui ont utilisé Quarkus depuis 4-6 mois, les non noob questions Quarkus est un framework Java moderne optimisé pour le cloud qui propose des temps de démarrage ultra-rapides et une empreinte mémoire réduite Pourquoi Quarkus démarre si vite ? Le framework effectue le travail lourd au moment du build (scanning, indexation, génération de bytecode) plutôt qu'au runtime Quand utiliser le mode réactif plutôt qu'impératif ? Le réactif est pertinent pour les workloads avec haute concurrence et dominance I/O, l'impératif reste plus simple dans les autres cas Quelle est la différence entre Dev Services et Testcontainers ? Dev Services utilise Testcontainers en gérant automatiquement le cycle de vie, les ports et la configuration sans cérémonie Comment la DI de Quarkus diffère de Spring ? CDI est un standard basé sur la sécurité des types et la découverte au build-time, différent de l'approche framework de Spring Comment gérer la configuration entre environnements ? Quarkus permet de scaler depuis le développement local jusqu'à Kubernetes avec des profils, fichiers multiples et configuration externe Comment tester correctement les applications Quarkus ? @QuarkusTest démarre l'application une fois pour toute la suite de tests, changeant le modèle mental par rapport à Spring Boot Que fait vraiment Panache en coulisses ? Panache est du JPA avec des opinions fortes et des défauts propres, enveloppant Hibernate avec un style Active Record Doit-on utiliser les images natives et quand ? Les images natives brillent pour le serverless et l'edge grâce au démarrage rapide et la faible empreinte mémoire, mais tous les apps n'en bénéficient pas Comment Quarkus s'intègre avec Kubernetes ? Le framework génère automatiquement les ressources Kubernetes, gère les health checks et métriques comme s'il était nativement conçu pour cet écosystème Comment intégrer l'IA dans une application Quarkus ? LangChain4j permet d'ajouter embeddings, retrieval, guardrails et observabilité directement en Java sans passer par Python Infrastructure Les alternatives à MinIO https://rmoff.net/2026/01/14/alternatives-to-minio-for-single-node-local-s3/ MinIO a abandonné le support single-node fin 2025 pour des raisons commerciales, cassant de nombreuses démos et pipelines CI/CD qui l'utilisaient pour émuler S3 localement L'auteur cherche un remplacement simple avec image Docker, compatibilité S3, licence open source, déploiement mono-nœud facile et communauté active S3Proxy est très léger et facile à configurer, semble être l'option la plus simple mais repose sur un seul contributeur RustFS est facile à utiliser et inclut une GUI, mais c'est un projet très récent en version alpha avec une faille de sécurité majeure récente SeaweedFS existe depuis 2012 avec support S3 depuis 2018, relativement facile à configurer et dispose d'une interface web basique Zenko CloudServer remplace facilement MinIO mais la documentation et le branding (cloudserver/zenko/scality) peuvent prêter à confusion Garage nécessite une configuration complexe avec fichier TOML et conteneur d'initialisation séparé, pas un simple remplacement drop-in Apache Ozone requiert au minimum quatre nœuds pour fonctionner, beaucoup trop lourd pour un usage local simple L'auteur recommande SeaweedFS et S3Proxy comme remplaçants viables, RustFS en maybe, et élimine Garage et Ozone pour leur complexité Garage a une histoire tres associative, il vient du collectif https://deuxfleurs.fr/ qui offre un cloud distribué sans datacenter C'est certainement pas une bonne idée, les datacenters dans l'espace https://taranis.ie/datacenters-in-space-are-a-terrible-horrible-no-good-idea/ Avis d'expert (ex-NASA/Google, Dr en électronique spatiale) : Centres de données spatiaux, une "terrible" idée. Incompatibilité fondamentale : L'électronique (surtout IA/GPU) est inadaptée à l'environnement spatial. Énergie : Accès limité. Le solaire (type ISS) est insuffisant pour l'échelle de l'IA. Le nucléaire (RTG) est trop faible. Refroidissement : L'espace n'est pas "froid" ; absence de convection. Nécessite des radiateurs gigantesques (ex: 531m² pour 200kW). Radiations : Provoque erreurs (SEU, SEL) et dommages. Les GPU sont très vulnérables. Blindage lourd et inefficace. Les puces "durcies" sont très lentes. Communications : Bande passante très limitée (1Gbps radio vs 100Gbps terrestre). Le laser est tributaire des conditions atmosphériques. Conclusion : Projet extrêmement difficile, coûteux et aux performances médiocres. Data et Intelligence Artificielle Guillaume a développé un serveur MCP pour arXiv (le site de publication de papiers de recherche) en Java avec le framework Quarkus https://glaforge.dev/posts/2026/01/18/implementing-an-arxiv-mcp-server-with-quarkus-in-java/ Implémentation d'un serveur MCP (Model Context Protocol) arXiv en Java avec Quarkus. Objectif : Accéder aux publications arXiv et illustrer les fonctionnalités moins connues du protocole MCP. Mise en œuvre : Utilisation du framework Quarkus (Java) et son support MCP étendu. Assistance par Antigravity (IDE agentique) pour le développement et l'intégration de l'API arXiv. Interaction avec l'API arXiv : requêtes HTTP, format XML Atom pour les résultats, parser XML Jackson. Fonctionnalités MCP exposées : Outils (@Tool) : Recherche de publications (search_papers). Ressources (@Resource, @ResourceTemplate) : Taxonomie des catégories arXiv, métadonnées des articles (via un template d'URI). Prompts (@Prompt) : Exemples pour résumer des articles ou construire des requêtes de recherche. Configuration : Le serveur peut fonctionner en STDIO (local) ou via HTTP Streamable (local ou distant), avec une configuration simple dans des clients comme Gemini CLI. Conclusion : Quarkus simplifie la création de serveurs MCP riches en fonctionnalités, rendant les données et services "prêts pour l'IA" avec l'aide d'outils d'IA comme Antigravity. Anthropic ne mettra pas de pub dans Claude https://www.anthropic.com/news/claude-is-a-space-to-think c'est en reaction au plan non public d'OpenAi de mettre de la pub pour pousser les gens au mode payant OpenAI a besoin de cash et est probablement le plus utilisé pour gratuit au monde Anthropic annonce que Claude restera sans publicité pour préserver son rôle d'assistant conversationnel dédié au travail et à la réflexion approfondie. Les conversations avec Claude sont souvent sensibles, personnelles ou impliquent des tâches complexes d'ingénierie logicielle où les publicités seraient inappropriées. L'analyse des conversations montre qu'une part significative aborde des sujets délicats similaires à ceux évoqués avec un conseiller de confiance. Un modèle publicitaire créerait des incitations contradictoires avec le principe fondamental d'être "genuinely helpful" inscrit dans la Constitution de Claude. Les publicités introduiraient un conflit d'intérêt potentiel où les recommandations pourraient être influencées par des motivations commerciales plutôt que par l'intérêt de l'utilisateur. Le modèle économique d'Anthropic repose sur les contrats entreprise et les abonnements payants, permettant de réinvestir dans l'amélioration de Claude. Anthropic maintient l'accès gratuit avec des modèles de pointe et propose des tarifs réduits pour les ONG et l'éducation dans plus de 60 pays. Le commerce "agentique" sera supporté mais uniquement à l'initiative de l'utilisateur, jamais des annonceurs, pour préserver la confiance. Les intégrations tierces comme Figma, Asana ou Canva continueront d'être développées en gardant l'utilisateur aux commandes. Anthropic compare Claude à un cahier ou un tableau blanc : des espaces de pensée purs, sans publicité. Infinispan 16.1 est sorti https://infinispan.org/blog/2026/02/04/infinispan-16-1 déjà le nom de la release mérite une mention Le memory bounded par cache et par ensemble de cache s est pas facile à faire en Java Une nouvelle api OpenAPI AOT caché dans les images container Un serveur MCP local juste avec un fichier Java ? C'est possible avec LangChain4j et JBang https://glaforge.dev/posts/2026/02/11/zero-boilerplate-java-stdio-mcp-servers-with-langchain4j-and-jbang/ Création rapide de serveurs MCP Java sans boilerplate. MCP (Model Context Protocol): standard pour connecter les LLM à des outils et données. Le tutoriel répond au manque d'options simples pour les développeurs Java, face à une prédominance de Python/TypeScript dans l'écosystème MCP. La solution utilise: LangChain4j: qui intègre un nouveau module serveur MCP pour le protocole STDIO. JBang: permet d'exécuter des fichiers Java comme des scripts, éliminant les fichiers de build (pom.xml, Gradle). Implémentation: se fait via un seul fichier .java. JBang gère automatiquement les dépendances (//DEPS). L'annotation @Tool de LangChain4j expose les méthodes Java aux LLM. StdioMcpServerTransport gère la communication JSON-RPC via l'entrée/sortie standard (STDIO). Point crucial: Les logs doivent impérativement être redirigés vers System.err pour éviter de corrompre System.out, qui est réservé à la communication MCP (messages JSON-RPC). Facilite l'intégration locale avec des outils comme Gemini CLI, Claude Code, etc. Reciprocal Rank Fusion : un algorithme utile et souvent utilisé pour faire de la recherche hybride, pour mélanger du RAG et des recherches par mots-clé https://glaforge.dev/posts/2026/02/10/advanced-rag-understanding-reciprocal-rank-fusion-in-hybrid-search/ RAG : Qualité LLM dépend de la récupération. Recherche Hybride : Combiner vectoriel et mots-clés (BM25) est optimal. Défi : Fusionner des scores d'échelles différentes. Solution : Reciprocal Rank Fusion (RRF). RRF : Algorithme robuste qui fusionne des listes de résultats en se basant uniquement sur le rang des documents, ignorant les scores. Avantages RRF : Pas de normalisation de scores, scalable, excellente première étape de réorganisation. Architecture RAG fréquente : RRF (large sélection) + Cross-Encoder / modèle de reranking (précision fine). RAG-Fusion : Utilise un LLM pour générer plusieurs variantes de requête, puis RRF agrège tous les résultats pour renforcer le consensus et réduire les hallucinations. Implémentation : LangChain4j utilise RRF par défaut pour agréger les résultats de plusieurs retrievers. Les dernières fonctionnalités de Gemini et Nano Banana supportées dans LangChain4j https://glaforge.dev/posts/2026/02/06/latest-gemini-and-nano-banana-enhancements-in-langchain4j/ Nouveaux modèles d'images Nano Banana (Gemini 2.5/3.0) pour génération et édition (jusqu'à 4K). "Grounding" via Google Search (pour images et texte) et Google Maps (localisation, Gemini 2.5). Outil de contexte URL (Gemini 3.0) pour lecture directe de pages web. Agents multimodaux (AiServices) capables de générer des images. Configuration de la réflexion (profondeur Chain-of-Thought) pour Gemini 3.0. Métadonnées enrichies : usage des tokens et détails des sources de "grounding". Comment configurer Gemini CLI comment agent de code dans IntelliJ grâce au protocole ACP https://glaforge.dev/posts/2026/02/01/how-to-integrate-gemini-cli-with-intellij-idea-using-acp/ But : Intégrer Gemini CLI à IntelliJ IDEA via l'Agent Client Protocol (ACP). Prérequis : IntelliJ IDEA 2025.3+, Node.js (v20+), Gemini CLI. Étapes : Installer Gemini CLI (npm install -g @google/gemini-cli). Localiser l'exécutable gemini. Configurer ~/.jetbrains/acp.json (chemin exécutable, --experimental-acp, use_idea_mcp: true). Redémarrer IDEA, sélectionner "Gemini CLI" dans l'Assistant IA. Usage : Gemini interagit avec le code et exécute des commandes (contexte projet). Important : S'assurer du flag --experimental-acp dans la configuration. Outillage PipeNet, une alternative (open source aussi) à LocalTunnel, mais un plus évoluée https://pipenet.dev/ pipenet: Alternative open-source et moderne à localtunnel (client + serveur). Usages: Développement local (partage, webhooks), intégration SDK, auto-hébergement sécurisé. Fonctionnalités: Client (expose ports locaux, sous-domaines), Serveur (déploiement, domaines personnalisés, optimisé cloud mono-port). Avantages vs localtunnel: Déploiement cloud sur un seul port, support multi-domaines, TypeScript/ESM, maintenance active. Protocoles: HTTP/S, WebSocket, SSE, HTTP Streaming. Intégration: CLI ou SDK JavaScript. JSON-IO — une librairie comme Jackson ou GSON, supportant JSON5, TOON, et qui pourrait être utile pour l'utilisation du "structured output" des LLMs quand ils ne produisent pas du JSON parfait https://github.com/jdereg/json-io json-io : Librairie Java pour la sérialisation et désérialisation JSON/TOON. Gère les graphes d'objets complexes, les références cycliques et les types polymorphes. Support complet JSON5 (lecture et écriture), y compris des fonctionnalités non prises en charge par Jackson/Gson. Format TOON : Notation orientée token, optimisée pour les LLM, réduisant l'utilisation de tokens de 40 à 50% par rapport au JSON. Légère : Aucune dépendance externe (sauf java-util), taille de JAR réduite (~330K). Compatible JDK 1.8 à 24, ainsi qu'avec les environnements JPMS et OSGi. Deux modes de conversion : vers des objets Java typés (toJava()) ou vers des Map (toMaps()). Options de configuration étendues via ReadOptionsBuilder et WriteOptionsBuilder. Optimisée pour les déploiements cloud natifs et les architectures de microservices. Utiliser mailpit et testcontainer pour tester vos envois d'emails https://foojay.io/today/testing-emails-with-testcontainers-and-mailpit/ l'article montre via SpringBoot et sans. Et voici l'extension Quarkus https://quarkus.io/extensions/io.quarkiverse.mailpit/quarkus-mailpit/?tab=docs Tester l'envoi d'emails en développement est complexe car on ne peut pas utiliser de vrais serveurs SMTP Mailpit est un serveur SMTP de test qui capture les emails et propose une interface web pour les consulter Testcontainers permet de démarrer Mailpit dans un conteneur Docker pour les tests d'intégration L'article montre comment configurer une application SpringBoot pour envoyer des emails via JavaMail Un module Testcontainers dédié à Mailpit facilite son intégration dans les tests Le conteneur Mailpit expose un port SMTP (1025) et une API HTTP (8025) pour vérifier les emails reçus Les tests peuvent interroger l'API HTTP de Mailpit pour valider le contenu des emails envoyés Cette approche évite d'utiliser des mocks et teste réellement l'envoi d'emails Mailpit peut aussi servir en développement local pour visualiser les emails sans les envoyer réellement La solution fonctionne avec n'importe quel framework Java supportant JavaMail Architecture Comment scaler un système de 0 à 10 millions d'utilisateurs https://blog.algomaster.io/p/scaling-a-system-from-0-to-10-million-users Philosophie : Scalabilité incrémentale, résoudre les goulots d'étranglement sans sur-ingénierie. 0-100 utilisateurs : Serveur unique (app, DB, jobs). 100-1K : Séparer app et DB (services gérés, pooling). 1K-10K : Équilibreur de charge, multi-serveurs d'app (stateless via sessions partagées). 10K-100K : Caching, réplicas de lecture DB, CDN (réduire charge DB). 100K-500K : Auto-scaling, applications stateless (authentification JWT). 500K-10M : Sharding DB, microservices, files de messages (traitement asynchrone). 10M+ : Déploiement multi-régions, CQRS, persistance polyglotte, infra personnalisée. Principes clés : Simplicité, mesure, stateless essentiel, cache/asynchrone, sharding prudent, compromis (CAP), coût de la complexité. Patterns d'Architecture 2026 - Du Hype à la Réalité du Terrain (Part 1/2) - https://blog.ippon.fr/2026/01/30/patterns-darchitecture-2026-part-1/ L'article présente quatre patterns d'architecture logicielle pour répondre aux enjeux de scalabilité, résilience et agilité business dans les systèmes modernes Il présentent leurs raisons et leurs pièges Un bon rappel L'Event-Driven Architecture permet une communication asynchrone entre systèmes via des événements publiés et consommés, évitant le couplage direct Les bénéfices de l'EDA incluent la scalabilité indépendante des composants, la résilience face aux pannes et l'ajout facile de nouveaux cas d'usage Le pattern API-First associé à un API Gateway centralise la sécurité, le routage et l'observabilité des APIs avec un catalogue unifié Le Backend for Frontend crée des APIs spécifiques par canal (mobile, web, partenaires) pour optimiser l'expérience utilisateur CQRS sépare les modèles de lecture et d'écriture avec des bases optimisées distinctes, tandis que l'Event Sourcing stocke tous les événements plutôt que l'état actuel Le Saga Pattern gère les transactions distribuées via orchestration centralisée ou chorégraphie événementielle pour coordonner plusieurs microservices Les pièges courants incluent l'explosion d'événements granulaires, la complexité du debugging distribué, et la mauvaise gestion de la cohérence finale Les technologies phares sont Kafka pour l'event streaming, Kong pour l'API Gateway, EventStoreDB pour l'Event Sourcing et Temporal pour les Sagas Ces patterns nécessitent une maturité technique et ne sont pas adaptés aux applications CRUD simples ou aux équipes junior Patterns d'architecture 2026 : du hype à la réalité terrain part. 2 - https://blog.ippon.fr/2026/02/04/patterns-darchitecture-2026-part-2/ Deuxième partie d'un guide pratique sur les patterns d'architecture logicielle et système éprouvés pour moderniser et structurer les applications en 2026 Strangler Fig permet de migrer progressivement un système legacy en l'enveloppant petit à petit plutôt que de tout réécrire d'un coup (70% d'échec pour les big bang) Anti-Corruption Layer protège votre nouveau domaine métier des modèles externes et legacy en créant une couche de traduction entre les systèmes Service Mesh gère automatiquement la communication inter-services dans les architectures microservices (sécurité mTLS, observabilité, résilience) Architecture Hexagonale sépare le coeur métier des détails techniques via des ports et adaptateurs pour améliorer la testabilité et l'évolutivité Chaque pattern est illustré par un cas client concret avec résultats mesurables et liste des pièges à éviter lors de l'implémentation Les technologies 2026 mentionnées incluent Istio, Linkerd pour service mesh, LaunchDarkly pour feature flags, NGINX et Kong pour API gateway Tableau comparatif final aide à choisir le bon pattern selon la complexité, le scope et le use case spécifique du projet L'article insiste sur une approche pragmatique : ne pas utiliser un pattern juste parce qu'il est moderne mais parce qu'il résout un problème réel Pour les systèmes simples type CRUD ou avec peu de services, ces patterns peuvent introduire une complexité inutile qu'il faut savoir éviter Méthodologies Le rêve récurrent de remplacer voire supprimer les développeurs https://www.caimito.net/en/blog/2025/12/07/the-recurring-dream-of-replacing-developers.html Depuis 1969, chaque décennie voit une tentative de réduire le besoin de développeurs (de COBOL, UML, visual builders… à IA). Motivation : frustration des dirigeants face aux délais et coûts de développement. La complexité logicielle est intrinsèque et intellectuelle, non pas une question d'outils. Chaque vague technologique apporte de la valeur mais ne supprime pas l'expertise humaine. L'IA assiste les développeurs, améliore l'efficacité, mais ne remplace ni le jugement ni la gestion de la complexité. La demande de logiciels excède l'offre car la contrainte majeure est la réflexion nécessaire pour gérer cette complexité. Pour les dirigeants : les outils rendent-ils nos développeurs plus efficaces sur les problèmes complexes et réduisent-ils les tâches répétitives ? Le "rêve" de remplacer les développeurs, irréalisable, est un moteur d'innovation créant des outils précieux. Comment creuser des sujets à l'ère de l'IA générative. Quid du partage et la curation de ces recherches ? https://glaforge.dev/posts/2026/02/04/researching-topics-in-the-age-of-ai-rock-solid-webhooks-case-study/ Recherche initiale de l'auteur sur les webhooks en 2019, processus long et manuel. L'IA (Deep Research, Gemini, NotebookLM) facilite désormais la recherche approfondie, l'exploration de sujets et le partage des résultats. L'IA a identifié et validé des pratiques clés pour des déploiements de webhooks résilients, en grande partie les mêmes que celles trouvées précédemment par l'auteur. Génération d'artefacts par l'IA : rapport détaillé, résumé concis, illustration sketchnote, et même une présentation (slide deck). Guillaume s'interroge sur le partage public de ces rapports de recherche générés par l'IA, tout en souhaitant éviter le "AI Slop". Loi, société et organisation Le logiciel menacé par le vibe coding https://www.techbuzz.ai/articles/we-built-a-monday-com-clone-in-under-an-hour-with-ai Deux journalistes de CNBC sans expérience de code ont créé un clone fonctionnel de Monday.com en moins de 60 minutes pour 5 à 15 dollars. L'expérience valide les craintes des investisseurs qui ont provoqué une baisse de 30% des actions des entreprises SaaS. L'IA a non seulement reproduit les fonctionnalités de base mais a aussi recherché Monday.com de manière autonome pour identifier et recréer ses fonctionnalités clés. Cette technique appelée "vibe-coding" permet aux non-développeurs de construire des applications via des instructions en anglais courant. Les entreprises les plus vulnérables sont celles offrant des outils "qui se posent sur le travail" comme Atlassian, Adobe, HubSpot, Zendesk et Smartsheet. Les entreprises de cybersécurité comme CrowdStrike et Palo Alto sont considérées plus protégées grâce aux effets de réseau et aux barrières réglementaires. Les systèmes d'enregistrement comme Salesforce restent plus difficiles à répliquer en raison de leur profondeur d'intégration et de données d'entreprise. Le coût de 5 à 15 dollars par construction permet aux entreprises de prototyper plusieurs solutions personnalisées pour moins cher qu'une seule licence Monday.com. L'expérience soulève des questions sur la pérennité du marché de 5 milliards de dollars des outils de gestion de projet face à l'IA générative. Conférences En complément de l'agenda des conférences de Aurélie Vache, il y a également le site https://javaconferences.org/ (fait par Brian Vermeer) avec toutes les conférences Java à venir ! La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs : 12-13 février 2026 : Touraine Tech #26 - Tours (France) 12-13 février 2026 : World Artificial Intelligence Cannes Festival - Cannes (France) 19 février 2026 : ObservabilityCON on the Road - Paris (France) 6 mars 2026 : WordCamp Nice 2026 - Nice (France) 18 mars 2026 : Jupyter Workshops: AI in Jupyter: Building Extensible AI Capabilities for Interactive Computing - Saint-Maur-des-Fossés (France) 18-19 mars 2026 : Agile Niort 2026 - Niort (France) 20 mars 2026 : Atlantique Day 2026 - Nantes (France) 26 mars 2026 : Data Days Lille - Lille (France) 26-27 mars 2026 : SymfonyLive Paris 2026 - Paris (France) 26-27 mars 2026 : REACT PARIS - Paris (France) 27-29 mars 2026 : Shift - Nantes (France) 31 mars 2026 : ParisTestConf - Paris (France) 31 mars 2026-1 avril 2026 : FlowCon France 2026 - Paris (France) 1 avril 2026 : AWS Summit Paris - Paris (France) 2 avril 2026 : Pragma Cannes 2026 - Cannes (France) 2-3 avril 2026 : Xen Spring Meetup 2026 - Grenoble (France) 7 avril 2026 : PyTorch Conference Europe - Paris (France) 9-10 avril 2026 : Android Makers by droidcon 2026 - Paris (France) 9-11 avril 2026 : Drupalcamp Grenoble 2026 - Grenoble (France) 16-17 avril 2026 : MiXiT 2026 - Lyon (France) 17-18 avril 2026 : Faiseuses du Web 5 - Dinan (France) 22-24 avril 2026 : Devoxx France 2026 - Paris (France) 23-25 avril 2026 : Devoxx Greece - Athens (Greece) 6-7 mai 2026 : Devoxx UK 2026 - London (UK) 12 mai 2026 : Lead Innovation Day - Leadership Edition - Paris (France) 19 mai 2026 : La Product Conf Paris 2026 - Paris (France) 21-22 mai 2026 : Flupa UX Days 2026 - Paris (France) 22 mai 2026 : AFUP Day 2026 Lille - Lille (France) 22 mai 2026 : AFUP Day 2026 Paris - Paris (France) 22 mai 2026 : AFUP Day 2026 Bordeaux - Bordeaux (France) 22 mai 2026 : AFUP Day 2026 Lyon - Lyon (France) 28 mai 2026 : DevCon 27 : I.A. & Vibe Coding - Paris (France) 28 mai 2026 : Cloud Toulouse 2026 - Toulouse (France) 29 mai 2026 : NG Baguette Conf 2026 - Paris (France) 29 mai 2026 : Agile Tour Strasbourg 2026 - Strasbourg (France) 2-3 juin 2026 : Agile Tour Rennes 2026 - Rennes (France) 2-3 juin 2026 : OW2Con - Paris-Châtillon (France) 3 juin 2026 : IA–NA - La Rochelle (France) 5 juin 2026 : TechReady - Nantes (France) 5 juin 2026 : Fork it! - Rouen - Rouen (France) 6 juin 2026 : Polycloud - Montpellier (France) 9 juin 2026 : JFTL - Montrouge (France) 9 juin 2026 : C: - Caen (France) 11-12 juin 2026 : DevQuest Niort - Niort (France) 11-12 juin 2026 : DevLille 2026 - Lille (France) 12 juin 2026 : Tech F'Est 2026 - Nancy (France) 16 juin 2026 : Mobilis In Mobile 2026 - Nantes (France) 17-19 juin 2026 : Devoxx Poland - Krakow (Poland) 17-20 juin 2026 : VivaTech - Paris (France) 18 juin 2026 : Tech'Work - Lyon (France) 22-26 juin 2026 : Galaxy Community Conference - Clermont-Ferrand (France) 24-25 juin 2026 : Agi'Lille 2026 - Lille (France) 24-26 juin 2026 : BreizhCamp 2026 - Rennes (France) 2 juillet 2026 : Azur Tech Summer 2026 - Valbonne (France) 2-3 juillet 2026 : Sunny Tech - Montpellier (France) 3 juillet 2026 : Agile Lyon 2026 - Lyon (France) 6-8 juillet 2026 : Riviera Dev - Sophia Antipolis (France) 2 août 2026 : 4th Tech Summit on Artificial Intelligence & Robotics - Paris (France) 20-22 août 2026 : 4th Tech Summit on AI & Robotics - Paris (France) & Online 4 septembre 2026 : JUG Summer Camp 2026 - La Rochelle (France) 17-18 septembre 2026 : API Platform Conference 2026 - Lille (France) 24 septembre 2026 : PlatformCon Live Day Paris 2026 - Paris (France) 1 octobre 2026 : WAX 2026 - Marseille (France) 1-2 octobre 2026 : Volcamp - Clermont-Ferrand (France) 5-9 octobre 2026 : Devoxx Belgium - Antwerp (Belgium) Nous contacter Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs Contactez-nous via X/twitter https://twitter.com/lescastcodeurs ou Bluesky https://bsky.app/profile/lescastcodeurs.com Faire un crowdcast ou une crowdquestion Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/
https://www.linkedin.com/in/brian-ogrady/ - my linkedin https://www.linkedin.com/company/qdrant/ - company linkedin https://qdrant.tech/contact-us - contact us https://github.com/qdrant/qdrant/ - Qdrant GH https://github.com/qdrant/qdrant-edge-demo - Qdrant Edge running on smart glasses Mike on LinkedIn Coder Radio on Discord Mike's Oryx Review Alice Alice Jumpstart Offer Vorpal Mike in USA Today
Better Lawns and Gardens Hour 2 – Coming to you from the Summit Responsible Solutions Studios. Garden expert, Teresa Watkins celebrates Valentine's Day and provides how easy roses are to grow. Dirty Word of the Day is Node. Garden topics and questions include removing Mother-in-Law's Tongue, pineapple damage, will my plants recover, invasive elephant ears, bougainvillea injury, split leaf philodendron, plumeria, St. Augustinegrass sprouting, and more. https://rb.gy/0hzjxx Sign up for Teresa's monthly gardening newsletter, “In Your Backyard” where you can read Teresa's what to do in your landscape tips, Landscape Malpractice: How to know when to fire your landscaper,” Teresa's Design Tips; and more. https://bit.ly/2YRBbsT Art in Bloom Garden Tours Only a few spaces left on The Revolutionary Garden Tour and the Best of English Gardens and Chelsea Flower Show. Limited availability on Newport Flower Show, Brandywine Valley, Buffalo, NY, Canada, France, and New Orleans. Come join Teresa on incredible garden adventures! Ask about our special discount offer! https://www.artinbloomgardentours.com/ Graphic credit: Teresa Watkins Listen every Saturdays from 7am - 9am EST on WFLA- Orlando. Call in with your garden questions and text messages on 1-888.455.2867 and 23680, Miss the live broadcast? Listen on Audioboom podcast 24/7. https://rb.gy/gf8k3s Join me on Facebook, Instagram. #WFLF #WFLA #FNN #WNDB #BetterLawns #gardening #Florida #planting #gardeninglife #radio #southflorida #northflorida #centralflorida #Deland #SHE #Orlando #Sarasota #Miami #FortLauderdale #podcast #syndicated #BLGradio #WRLN #WiOD #gardening #SummitResponsibleSolutions #QualityGreenSpecialists #BlackKow
Por muito tempo, o ecossistema Delphi viveu uma dicotomia. De um lado, tínhamos a linguagem poderosa, o compilador rápido e a estabilidade lendária. Do outro, olhávamos para o horizonte do .NET Core, Spring Boot e Node.js, vendo arquiteturas limpas, injeção de dependência robusta e testes fluentes, sentindo que algo faltava.Não faltava capacidade à linguagem. Faltava uma fundação.Venha conosco entender a proposta, os conceitos e o que é o Dext e tire suas conclusões se o Delphi é moderno ou não.Ouça agora e transforme sua forma de programar com ACBr!Convidados: Cesar Romero, MVP Embarcadero
https://nunchuk.io/Book a 1|1 Bitcoin Consulting call with mehttps://pathtobitcoin.xyz/Join my Bitcoin Learning Community & and access Free Courseshttps://www.skool.com/the-bitcoin-masters-4115/Where I buy Bitcoin (Free BTC & Non-KYC options)https://bitcoinwell.com/referral/bitcoinnotcrypto15% Stampseed Titanium Seed plates (BEST WAY TO STORE BTC PRIVATE KEYS)https://www.stampseed.com/USE CODE : BTCNOTCRYPTO15Get a Coldcard Hardware wallet herehttps://store.coinkite.com/promo/169FA71FECC4928F725D5% off Start9 servers for plug & play Bitcoin NodesCODE: BNC5https://store.start9.com/Affordable Privacy Phones & deviceshttps://www.mark37.com/ref/BNC/5% off using code : BNCFree Open Source Bitcoin and Investment tracking toolshttps://plebtools.com/Become a Member of the Channel, Get exclusive content, and livestream playbackhttps://www.youtube.com/channel/UC2aM2gVVEHTu0pfE1ZyA0BQ/joinFollow Rajat, Jor, and I's new show togetherhttps://www.youtube.com/@MapleBitcoinJoin our Communityhttps://www.skool.com/maplebitcoinListen to this as a podcasthttps://podcasters.spotify.com/pod/show/bitcoinnotcryptoFollow me on Nostrnpub1zqm9zant0rxf49wfgw8pt5h0j50cetfes6hwa73u7sxstlzcsz8qh6x9fsFollow on Twitter/Xhttps://x.com/forrestHODLDonate to the show herehttps://coinos.io/BNCVFV
In this episode of JavaScript Jabber, I sat down with Matteo Collina—chair of the Node.js project and founder of Platformatic—for a deep, no-fluff conversation about Node.js performance in the real world. We dug into what actually happens when you run Node at scale, especially with server-side rendering, Kubernetes, and modern frameworks like Next.js.We also challenged some popular assumptions—like whether newer runtimes automatically mean better performance—and explored how benchmarking, flame graphs, and smarter scheduling can completely change the reliability of production systems. If you're running Node in Kubernetes, doing SSR, or trying to squeeze more performance out of your backend, this episode will definitely make you rethink your stack.Links & ResourcesPlatformatic – https://platformatic.devWatt Application Server (WattPM) – https://www.npmjs.com/package/wattpmNode.js Core Web Vitals (CrUX Dataset) – https://developer.chrome.com/docs/cruxMatteo Collina on X (Twitter) – https://twitter.com/matteocollinaNodeLand Newsletter – https://nodeland.devBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The Game Changers podcast celebrates true pioneers who inspire us to take the big step forward and up in education and beyond. In episode 208 (Part 2) of Game Changers, Phil Cummins joins in conversation with Marek Kowalkiewicz! Marek Kowalkiewicz is Professor and Chair in Digital Economy at QUT Business School, and one of Thinkers360's Top 100 Global AI Thought Leaders. He is the author of The Economy of Algorithms: AI and the Rise of the Digital Minions, winner of the 2024 Australian Business Book Award (Technology). Marek has led global innovation teams in Silicon Valley, founded SAP's Machine Learning Lab in Singapore, and held research roles at Microsoft Research Asia. His work focuses on helping leaders understand and navigate the business implications of AI and algorithmic systems. The Game Changers podcast is produced by Evan Phillips supported by a School for tomorrow (aschoolfortomorrow.com), and powered by CIRCLE Education. The podcast is hosted on SoundCloud and distributed through Spotify, Google Podcasts, and Apple Podcasts. Please subscribe and tell your friends you like what you are hearing. You can contact us at gamechangers@circle.education, on Twitter and Instagram via @GameChangersPC, and you can also connect with Phil via LinkedIn, Twitter and Instagram. Let's go!
Mazen and Robin sit down with Kræn Hansen from ElevenLabs to break down what Node API actually is and why it could be a game-changer for React Native library authors who want to write native modules once and use them everywhere, plus what still needs to happen before it's ready for prime time. Show NotesAnnouncing Node-API Support for React Native (Callstack)Kræn Hansen's React Universe TalkKræn Hansen on Callstack's livestreamHost package: React-native-node-apiHermes implementation discussionConnect With Us!Kræn Hansen: @KrænHansenRobin Heinze: @robinheinzeMazen Chami: @mazenchamiReact Native Radio: @ReactNativeRdioThis episode is brought to you by Infinite Red!Infinite Red is an expert React Native consultancy located in the USA. With over a decade of React Native experience and deep roots in the React Native community (hosts of Chain React and the React Native Newsletter, core React Native contributors, creators of Ignite and Reactotron, and much, much more), Infinite Red is the best choice for helping you build and deploy your next React Native app.
Maintaining software over time rarely fails because of one bad decision. It fails because teams stop getting clear signals… and start guessing.In this episode, Robby talks with Lucas Roesler, Managing Partner and CTO at Contiamo. Lucas joins from Berlin to unpack what maintainability looks like in practice when you are dealing with real constraints… limited context, missing documentation, and systems that resist understanding.A big through-line is feedback. Lucas argues that long-lived systems become easier to change when they provide fast, trustworthy signals about what they are doing. That can look like tests that validate assumptions, tooling that makes runtime behavior visible, and a habit of designing for observability instead of treating it as a bolt-on.The conversation also gets concrete. Lucas shares a modernization effort built on a decade-old tangle of database logic… views, triggers, stored procedures, and materializations… created by a single engineer who was no longer around. With little documentation to lean on, the team had to build their own approach to “reading” the system and mapping dependencies before they could safely change anything.If you maintain software that has outlived its original authors, this is a grounded look at what helps teams move from uncertainty to confidence… without heroics, and without rewriting for sport.Episode Highlights[00:00:46] What well-maintained software has in common: Robby asks Lucas what traits show up in systems that hold together over time.[00:03:25] Readability at runtime: Lucas connects maintainability to observability and understanding what a system actually did.[00:16:08] Writing the system down as code: Infrastructure, CI/CD, and processes as code to reduce guesswork and improve reproducibility.[00:17:42] How client engagements work in practice: How Lucas' team collaborates with internal engineering teams and hands work off.[00:25:21] The “rat's nest” modernization story: Untangling a legacy data system with years of database logic and missing context.[00:29:40] Making data work testable: Why testability matters even when the “code” is SQL and pipelines.[00:34:59] Pivot back to feedback loops: Robby steers into why logs, metrics, and tracing shape better decision-making.[00:35:20] Why teams avoid metrics and tracing: The organizational friction of adding “one more component.”[00:42:59] Local observability with Grafana: Using visual feedback to spot waterfalls, sequential work, and hidden coupling.[00:50:00] Non-technical book recommendations: What Lucas reads and recommends outside of software.Links & ReferencesGuest and CompanyLucas Roesler: https://lucasroesler.com/Contiamo: https://contiamo.com/SocialMastodon: https://floss.social/@theaxerBluesky: https://bsky.app/profile/theaxer.bsky.socialBooks MentionedThe Wheel of Time (Robert Jordan): https://en.wikipedia.org/wiki/The_Wheel_of_TimeAccelerando (Charles Stross): https://en.wikipedia.org/wiki/AccelerandoCharles Stross: https://en.wikipedia.org/wiki/Charles_StrossThanks to Our Sponsor!Turn hours of debugging into just minutes! AppSignal is a performance monitoring and error-tracking tool designed for Ruby, Elixir, Python, Node.js, Javascript, and other frameworks.It offers six powerful features with one simple interface, providing developers with real-time insights into the performance and health of web applications.Keep your coding cool and error-free, one line at a time! Use the code maintainable to get a 10% discount for your first year. Check them out! Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.
This is the third in a short series of speaker profiles for JavaOne 2026 in Redwood Shores, California, March 17-19. Get early bird pricing until February 9, and for a limited time, take advantage of a $100 discount by using this code at checkout: J12026IJN100. Register. Sessions. In this conversation, Jim Grisanzio from Java Developer Relations talks with Paul Bakker, an engineer and Java architect in California. Paul is a staff software engineer in the Java Platform team at Netflix. He works on improving the Java stack and tooling used by all Netflix microservices and was one of the original authors of the DGS (GraphQL) Framework. He is also a Java Champion, he's published two books about Java modularity, and he's a speaker at conferences and Java User Groups. Java Is Everywhere at Netflix Paul will present "How Netflix Uses Java: 2026 Edition" at JavaOne in March. The session updates previous year's talk because Java keeps evolving at Netflix. "Netflix is really staying on the latest and greatest with a lot of things," Paul says. "We're trying new things. And that means there's always new stuff to learn every year." Java powers both Netflix streaming and enterprise applications used internally and supporting studio teams. "Java is everywhere at Netflix," Paul says. "All the backends, they are all Java powered." Why Java? It comes down to history and practicality. The original team members were Java experts, but more importantly, "Java is also just the best choice for us," he says. The language balances developer productivity and runtime performance. At Netflix's scale with thousands of AWS instances running production services, runtime performance is critical. Netflix engineers stay closely connected with development at OpenJDK. They test new features early and work with preview releases or builds before official releases. When virtual threads appeared, Netflix engineers tested immediately to measure performance gains. Paul says they give feedback on what works, what doesn't work, and what they would like to see different. This just demonstrates the value of being involved with OpenJDK, and Paul says they have a really nice back and forward with the Oracle engineering teams. The microservices architecture Netflix adopted years ago enabled the company to scale. This approach has become common now, but Netflix pioneered talking about it publicly. Breaking functionality into smaller pieces lets teams scale and develop services independently. Most workloads are stateless, which enables horizontal scaling. Production services for streaming often run several thousand AWS instances at a time. Early on with Java Applets Paul's coding journey started at 15 when he got his first computer and wanted to learn everything about it. Working at a computer shop repairing machines, the owner asked if he knew how to build websites. Paul said no but wanted to learn. He was curious about everything that involved computes. Java applets were hot back then. With nothing online available, he bought a book and started hacking away. "It was so much fun that I also decided right at that point basically like, oh, I'm going to be an engineer for the rest of my life," he says. That's clarity for a 15-year-old. And it's remarkable. But Paul says it felt natural. He just started doing it, had such a good time, and knew that was what he wanted to do. When he started university around 2000, right during the dot-com bubble and crash, professors warned students not to expect to make money in engineering because the bubble had burst. Paul still remembers how funny that seems now. You can never predict the future. Initially, he learned Java and PHP simultaneously. Java powered client-side applications through applets while PHP ran server-side code. The roles have completely reversed now. Engaging the Community Paul attended his first JavaOne in 2006. "Those were really good times," he says about the early conferences when everything felt big and JavaOne was the only place to learn about Java. Back then, around 20,000 people would travel to San Francisco every year. It was the one and only place to learn what was new in Java. All the major news would be released at JavaOne each year. The world has changed. Now information spreads instantly and continually online, but Paul misses something about those early days. The more recent JavaOne conferences offer something different but equally valuable. Paul points to last year's event in Redwood City as a great example. While the conference is still big, it's small enough that attendees can actually talk with the Oracle JDK engineers and have deeper conversations. The folks who work on the JDK and the Java language are all there giving presentations, but they're also totally accessible for hallway chats. "That makes it really interesting," Paul says. This direct access to the people building the platform distinguishes JavaOne from other conferences. Java User Groups also played an important role in Paul's development. He lived in the Netherlands before moving to the Bay Area nine years ago. In the Netherlands, the NLJUG (Dutch Java User Group) organized two conferences a year, J-Spring and J-Fall. Paul would go to both every year. That was his place to learn in Europe. He has been continuing that pattern right up until now, which is why he is speaking at JavaOne again. Open Source software has also been another major aspect of community for Paul. He has always been active in Open Source because he says it's a fun place to work with people from all over the world solving interesting problems. Besides being a critical part of his professional career, it was also his hobby. Paul says the Open Source aspect with the community behind it is maybe his biggest thing that he really enjoyed over the years. AI Throughout Development AI now occupies much of Paul's professional focus. At Netflix, engineers use AI tools throughout the development lifecycle. Paul uses Claude Code daily, though other developers prefer Cursor, especially for Python and Node work. Most Java developers at Netflix work with Claude Code. The tools integrate with GitHub for pull request reviews, help find bugs, and assist with analyzing production problems by examining log files. Paul describes using AI as having a thinking partner to t all to and code with. Sometimes he needs to bounce ideas around, and the AI gives insights he might have missed or suggests additional issues to consider. For repetitive tasks like copying fields between objects, AI handles the grunt work efficiently. "That's the nice thing about an AI," Paul says. "While a person would probably get really annoyed with all this feedback all the time and like having to repeat the work over and over again, but an AI is like, fine, I'll do it again." Go Build a Lot of Stuff! When asked about advice for students, Paul's answer comes quickly and has not changed much over the years. "I think what I really recommend is just go and build a lot of stuff," he says. "The way to get to become a better developer is by doing a whole lot of development." That's timeless advice students can easily adopt no matter how the modern tools for learning have changed. Paul had to go to a bookstore and buy a book to learn programming. Students today have AI tools to help them and advanced IDEs. But the fundamental principle remains the same, which is to build interesting applications. Paul recommends that students come up with a fun problem and just build it. You learn by making mistakes. You build a system, reach the end, and realize the new codebase already struggles with maintainability. Then you ask what you could have done differently. Those real-life coding experiences teach you how to design code, architect code, and write better code. Paul also suggests that students use AI tools but not blindly. Do not just accept whatever an AI generates. Instead, try to understand what came out, how it could have been done differently, and experiment with different approaches. Use the tools available but really understand what is going on and what options you have. Some students and even practicing developers worry that advanced tools might eliminate their future role as developers. Paul says that nobody knows exactly how things will look in the future because tools get better almost every day now. But AI tools are just tools. Someone needs to drive them and come up with the ideas they should build. Plus, the tools at present are far from a state where you can hand them a task, never look at it again, and have everything work perfectly. Substantial hand-holding is involved. "Is our daily work going to change? Very likely," Paul says. "That's already happening." But he tries to see this change as a positive thing. "It's a new tool that we can use. It makes certain parts of our job more fun, more interesting. You can get more things done in some ways and be open to it." Why Java Works At the end of the conversation, Paul answered a simple question — Why Java? What makes it great? — with a simple and direct answer: "Java is the perfect balance of developer productivity and runtime performance." That balance matters where Paul works at Netflix. But it also matters for students learning their first language, for teams building enterprise applications, and for developers choosing tools that will sustain long careers. Paul's career started with Java applets 20 years ago when he bought a book and started hacking away. The language and platform has evolved dramatically since then, moving from client-side applets to powering massive backend services that stream entertainment to millions globally via Netflix. Through all that change, the core appeal remains — you can build things efficiently for many platforms and those things run fast. Paul Bakker: X, LinkedIn Duke's Corner Java Podcast: Libsyn Jim Grisanzio: X, LinkedIn, Website
Book a 1|1 Bitcoin Consulting call with mehttps://pathtobitcoin.xyz/Join my Bitcoin Learning Community & and access Free Courseshttps://www.skool.com/the-bitcoin-masters-4115/Where I buy Bitcoin (Free BTC & Non-KYC options)https://bitcoinwell.com/referral/bitcoinnotcrypto15% Stampseed Titanium Seed plates (BEST WAY TO STORE BTC PRIVATE KEYS)https://www.stampseed.com/USE CODE : BTCNOTCRYPTO15Get a Coldcard Hardware wallet herehttps://store.coinkite.com/promo/169FA71FECC4928F725D5% off Start9 servers for plug & play Bitcoin NodesCODE: BNC5https://store.start9.com/Affordable Privacy Phones & deviceshttps://www.mark37.com/ref/BNC/5% off using code : BNCFree Open Source Bitcoin and Investment tracking toolshttps://plebtools.com/Become a Member of the Channel, Get exclusive content, and livestream playbackhttps://www.youtube.com/channel/UC2aM2gVVEHTu0pfE1ZyA0BQ/joinFollow Rajat, Jor, and I's new show togetherhttps://www.youtube.com/@MapleBitcoinJoin our Communityhttps://www.skool.com/maplebitcoinListen to this as a podcasthttps://podcasters.spotify.com/pod/show/bitcoinnotcryptoFollow me on Nostrnpub1zqm9zant0rxf49wfgw8pt5h0j50cetfes6hwa73u7sxstlzcsz8qh6x9fsFollow on Twitter/Xhttps://x.com/forrestHODLDonate to the show herehttps://coinos.io/BNCVFV
Join Christina Warren and Brett Terpstra as they navigate the freezing Minnesotan cold without running water, delve into the intersection of tech and political turmoil, and explore the latest in AI agents and multi-agent workflows. Dive into a whirlwind of emotions, tech tips, and political ranting, all while contemplating the ethics of open source funding and AI coding. From brutal weather updates to philosophical debates on modern fascism, this episode pulls no punches. Sponsor Copilot Money can help you take control of your finances. Get a fresh start with your money for 2026 with 2 months free when you visit try.copilot.money/overtired. Show Links Crimethinc: Being “Peaceful” and “Law-Abiding” Will Not Stop Authoritarianism Gas Town Apex OpenCode Backdrop Cindori Sensei Moltbot Chapters 00:00 Introduction and Host Updates 00:21 Brett’s Water Crisis 02:27 Political Climate and Media Suppression 06:32 Police Violence and Public Response 18:31 Social Media and Surveillance 22:15 Sponsor Break: Copilot Money 26:20 Tech Talk: Gas Town and AI Agents 31:58 Crypto Controversies 37:09 Ethics in Journalism and Personal Dilemmas 39:45 The Future of Open Source and Cryptocurrency 45:03 Apex 1.0? 48:25 Challenges and Innovations in Markdown Processing 01:02:16 AI in Coding and Personal Assistants 01:06:36 GrAPPtitude 01:14:40 Conclusion and Upcoming Plans Join the Conversation Merch Come chat on Discord! Twitter/ovrtrd Instagram/ovrtrd Youtube Get the Newsletter Thanks! You’re downloading today’s show from CacheFly’s network BackBeat Media Podcast Network Check out more episodes at overtiredpod.com and subscribe on Apple Podcasts, Spotify, or your favorite podcast app. Find Brett as @ttscoff, Christina as @film_girl, Jeff as @jsguntzel, and follow Overtired at @ovrtrd on Twitter. Transcript AI Agents and Political Chaos Introduction and Host Updates Christina: [00:00:00] Welcome back. You’re listening to Overtired. I’m Christina Warren. Joined as always by Brett Terpstra. Jeff Severns. Guntzel could not be with us this week, um, but uh, but Brett and I are here. So Brett, how are you? How’s the cold? Brett: The cold. Brett’s Water Crisis Brett: So I’m going on day four without running water. Um, I drove to my parents last night to shower and we’re, we’re driving loads of dishes to friends’ house to wash them. We have big buckets of melted snow in our bathtub that we use to flush the Toyland. Um, and we have like big jugs with a spout on them for drinking water. So we’re surviving, but it is highly inconvenient. Um, and we don’t know yet if it’s a frozen pipe. Or if we have [00:01:00] a bad pump on our, well, uh, hopefully we’ll find that out today. But no guarantees because all the plumbers are very busy right now with negative 30 degree weather. They tend to get a lot of calls, lots of stuff happens. Um, so yeah, but I’m, I’m staying warm. I got a fireplace, I got my heat’s working Christina: I mean, that’s the important thing. Brett: and that went out, that went out twice, in, twice already. This winter, our heat has gone out, um, which I’m thankful. We, we finally, we added glycol to our, so our heat pumps water through, like, it’s not radiators, it’s like baseboard heat, but it, it uses water and. Um, and though we were getting like frozen spots, not burst pipes, just enough that the water wouldn’t go through fast enough to heat anything. So we added glycol to that [00:02:00] system to bring the freeze point down to like zero degrees. So it’s not perfect, but we also hardwired the pump so that it always circulates water, um, even when the heat’s not running. So hopefully it’ll never freeze again. That’s the goal. Um, and if we replace the well pump, that should be good for another 20 years. So hopefully after this things will be smoother. Political Climate and Media Suppression Brett: Um, yeah, but that, that’s all in addition to, you know, my state being occupied by federal agents and even in my small town, we’ve got people being like, abducted. Things are escalating quickly at this point, and a lot of it doesn’t get talked about on mainstream media. Um, but yeah, things, I don’t know, man. I think we’re making progress because, um, apparently Binos [00:03:00] getting retired Christina: I was going to say, I, I, I, I heard, I heard that, and I don’t know if that’s good or if that’s bad. Um, I can’t, I can’t tell. Brett: it’s, it’s like, it’s like if Trump died, we wouldn’t know if that was good or bad because JD Vance as president, like maybe things get way worse. Who knows? Uh, none of these, none of these actual figureheads are the solution. Removing them isn’t the solution to removing the kinda maga philosophy behind it. But yeah, and that’s also Jeff is, you know, highly involved and I, I won’t, I won’t talk about that for him. I hope we can get him monsoon to talk about that. Christina: No, me, me, me too. Because I’ve, I’ve been thinking about, about him and about you and about your whole area, your communities, you know, from several thousand miles away. Like all, all we, all we see is either what people post online, which of course now is being suppressed. [00:04:00] Uh, thanks a lot. You know, like, like the, oh, TikTok was gonna be so terrible. Chi the, the Chinese are gonna take over our, uh, our algorithms. Right? No, Larry Ellison is, is actually going to completely, you know, fuck up the algorithms, um, and, and suppress anything. I, yeah. Yeah. They’re, they’re Brett: is TikTok? Well, ’cause Victor was telling me that, they were seeing videos. Uh, you would see one frame of the video and then it would black out. And it all seemed to be videos that were negative towards the administration and we weren’t sure. Is this a glitch? Is this coincidence? Christina: well, they claim it’s a glitch, but I don’t believe it. Brett: Yeah, it seems, it seems Christina: I, I mean, I mean, I mean, the thing is like, maybe it is, maybe it is a glitch and we’re overreacting. I don’t know. Um, all I know is that they’ve given us absolutely zero reason to trust them, and so I don’t, and so, um, uh, apparently the, the state of California, this is, [00:05:00] so we are recording this on Tuesday morning. Apparently the state of California has said that they are going to look into whether things are being, you know, suppressed or not, and if that’s violating California law, um, because now that, that, that TikTok is, is controlled by an American entity, um, even if it is, you know, owned by like a, you know, uh, evil, uh, billionaire, you know, uh, crony sto fuck you, Larry Ellison. Um, uh, I guess that means we won’t be getting an Oracle sponsorship. Sorry. Um, uh, Brett: take it anyway. Christina: I, I know you wouldn’t, I know you wouldn’t. That’s why I felt safe saying that. Um, but, uh, but even if, if, if that were the case, like I, you know, but apparently like now that it is like a, you know, kind of, you know, state based like US thing, like California could step in and potentially make things difficult for them. I mean, I think that’s probably a lot of bluster on Newsom’s part. I don’t think that he could really, honestly achieve any sort of change if they are doing things to the algorithm. Brett: Yeah. Uh, [00:06:00] if, if laws even matter anymore, it would be something that got tied up in court for a long time Christina: Right. Which effectively wouldn’t matter. Right. And, and then that opens up a lot of other interesting, um, things about like, okay, well, you know, should we, like what, what is the role? Like even for algorithmically determined things of the government to even step in or whatever, right now, obviously does, I think, become like more of a speech issue if it’s government speech that’s being suppressed, but regardless, it, it is just, it’s bad. So I’ve been, I’ve been thinking about you, I’ve been thinking about Jeff. Police Violence and Public Response Christina: Um, you know, we all saw what happened over the weekend and, and, you know, people be, people are being murdered in the streets and I mean that, that, that’s what’s happening. And, Brett: white people no less, Christina: Right. Well, I mean, that’s the thing, right? Like, is that like, but, but, but they keep moving the bar. They, they keep moving the goalpost, right? So first it’s a white woman and, oh, she, she was, she was running over. The, the officer [00:07:00] or the ice guy, and it’s like, no, she wasn’t, but, but, but that, that’s immediately where they go and, and she’s, you know, radical whatever and, and, and a terrorist and this and that. Okay. Then you have a literal veterans affair nurse, right? Like somebody who literally, like, you know, has, has worked with, with, with combat veterans and has done those things. Who, um, is stepping in to help someone who’s being pepper sprayed, you know, is, is just observing. And because he happens to have, um, a, a, a, a gun on him legally, which he’s allowed to do, um, they immediately used that as cover to execute him. But if he hadn’t had the gun, they would’ve, they would’ve come up with something else. Oh, we thought he had a gun, and they, you know what I mean? So like, they, they got lucky with that one because they removed the method, the, the, the weapon and then shot him 10 times. You know, they literally executed him in the street. But if he hadn’t had a gun, they still would’ve executed. Brett: Yeah, no, for sure. Um, it’s really frustrating that [00:08:00] they took the gun away. So he was disarmed and, and immobilized and then they shot him. Um, like so that’s just a straight up execution. And then to bring, like, to say that it, he, because he had a gun, he was dangerous, is such a, an affront to America has spent so long fighting against gun control and saying that we had the right to carry fucking assault rifles in the Christina: Kyle Rittenhouse. Kyle Rittenhouse was literally acquitted. Right? Brett: Yeah. And he killed people. Christina: and, and he killed people. He was literally walking around little fucking stogey, you know, little blubbering little bitch, like, you know, crying, you know, he’s like carrying around like Rambo a gun and literally snipe shooting people. That’s okay. Brett: They defended Christina: if you have a. They defended him. Of course they did. Right? Of course they did. Oh, well he has the right to carry and this and that, and Oh, you should be able to be armed in [00:09:00] these places. Oh, no, but, but if you’re, um, somebody that we don’t like Brett: Yeah, Christina: and you have a concealed carry permit, and I don’t even know if he was really concealed. Right. Because I think that if you have it on your holster, I don’t even think that counts as concealed to Brett: was supposedly in Christina: I, I, I don’t, I don’t, I don’t. Brett: like it Christina: Which I don’t think counts as concealed. I think. Brett: No. Christina: Right, right. So, so, so, so, so that, that, that wouldn’t be concealed. Be because you have someone in, in that situation, then all of a sudden, oh, no. Now, now the, the key, the goalpost, okay, well, it’s fine if it’s, you know, uh, police we don’t like, or, or other people. And, and, and if you’re going after protesters, then you can shoot and kill whoever you want, um, because you’ve perceived a threat and you can take actions into your, to your own hands. Um, but now if you are even a white person, um, even, you know, someone who’s, who’s worked in Veterans Affairs, whatever, if, if you have, uh, even if you’re like a, a, a, you know, a, a gun owner and, and have permits, um, now [00:10:00] if we don’t like you and you are anywhere in the vicinity of anybody associated with law enforcement, now they have the right to shoot you dead. Like that’s, that’s, that’s the argument, which is insanity. Brett: so I’m, I’m just gonna point out that as the third right came to power, they disarmed the Jews and they disarmed the anarchists and the socialists and they armed the rest of the population and it became, um, gun control for people they didn’t like. Um, and this is, it’s just straight up the same playbook. There’s no, there’s no differentiation anymore. Christina: No, it, it, it actively makes me angry that, um, I, I could be, because, ’cause what can we do? And, and what they’re counting on is the fact that we’re all tired and we’re all kind of, you know, like just, [00:11:00] you know, from, from what happened, you know, six years ago and, and, and what happened, you know, five years ago. Um, and, and, and various things. I think a lot of people are, are just. It kind of like Brett: Sure. Christina: done with, with, with being able to, to, to, right. But now the actual fascism is here, right? Like, like we, we, we saw a, a, you know, a whiff of this on, on, on January 6th, but now it’s actual fascism and they control every branch of government. Brett: Yeah. Christina: And, um, and, and, and I, and I don’t know what we’re supposed to do, right? Like, I mean it, because I mean, you know, uh, Philadelphia is, is, is begging for, for, for them to come. And I think that would be an interesting kind of standoff. Seattle is this, this is what a friend of mine said was like, you know, you know Philadelphia, Filch Philadelphia is begging them to come. Seattle is like scared. Um, that, that they’re going to come, um, because honestly, like we’re a bunch of little bitch babies and, um, [00:12:00] people think they’re like, oh, you know the WTO. I’m like, yeah, that was, that was 27 years ago. Um, uh, I, I don’t think that Seattle has the juice to hold that sort of line again. Um, but I also don’t wanna find out, right? Like, but, but, but this is, this is the attack thing. It’s like, okay, why are they in Minnesota? Right? They’re what, like 130,000, um, Brett: exactly Christina: um, immigrants in, in Minnesota. There are, there are however many million in Texas, however many million in Florida. We know exactly why, right? This isn’t about. Anything more than Brett: in any way. Christina: and opt. Right, right. It has nothing, it has nothing to do with, with, with immigration anyway. I mean, even, even the Wall Street Journal. The Wall Street Journal who a, you know, ran an op-ed basically saying get out of Minnesota. They also, they also had like a, you know, a news story, which was not from the opinion board, which like broke down the, the, the footage showing, you know, that like the, the video footage doesn’t match the administration’s claims, but they also ran a story. Um, that [00:13:00] basically did the math, I guess, on like the number of, of criminals, um, or people with criminal records who have been deported. And at this point, like in, you know, and, and when things started out, like, I guess when the raid started out, the, the majority of the people that they were kind of going after were people who had criminal records. Now, whether they were really violent, the worst, the worst, I mean that’s, I’m, I’m not gonna get into that, but you could at least say like, they, they could at least say, oh, well these were people who had criminal records, whatever. Now some, some huge percentage, I think it’s close to 80% don’t have anything. And many of the people that do the, the criminal like thing that they would hold would be, you know, some sort of visa violation. Right. So it’s, it’s, it’s Brett: they deported a five-year-old kid after using him as bait to try to get the rest of his family. Christina: as bait. Brett: Yeah. And like it’s, it’s pretty deplorable. But I will say I am proud of Minnesota. Um, they have not backed [00:14:00] down. They have stood up in the face of increasing increasingly escalated attacks, and they have shown up in force thousands of people out in the streets. Like Conti, like last night they had a, um, well, yeah, I mean, it’s been ongoing, but, uh, what’s his name? Preddy Alex. Um, at the place where he was shot, they had a, like continuing kind of memorial protest, I guess, and there’s footage of like a thousand, a thousand mins surrounding about 50, um, ICE agents and. Like basically corralling them to the point where they were all backed into a corner and weren’t moving. And I don’t know what happened after that. Um, but thus far it hasn’t been violent on the part of protesters. It’s been very violent on the part of ice. I [00:15:00] personally, I don’t know where I stand on, like, I feel like the Democrats are urging pacifism because it affects their hold on power. And I don’t necessarily think that peace when they’re murdering us in the street. I don’t know if peace is the right response, but I don’t know. I’m not openly declaring that I support violence at this point, but. At the same time, do I not? I’m not sure. Like I keep going back and forth on is it time for a war or do we try to vote our way out of this? Christina: I mean, well, and the scary thing about voting our way out of this is will we even be able to have free elections, right? Be because they’re using any sort of anything, even the most benign sort of legal [00:16:00] protest, even if violence isn’t involved in all of a sudden, talks of the Insurrection Act come Brett: yeah. And Trump, Trump offered to pull out of Minnesota if Minnesota will turn over its voter database to the federal government. Like that’s just blatant, like that’s obviously the end goal is suppression. Christina: Right, right. And, and so to your point, I don’t know. Right. And I’m, I’m never somebody who would wanna advocate outwardly for violence, but I, I, I, I, I don’t know. I mean, they’re killing citizens in the streets. They’re assassinating people in cold blood. They’re executing people, right. That’s what they’re doing. They’re literally executing people in the streets and then covering it up in real time. Brett: if the argument is, if we are violent, it will cause them to kill us. They’re already killing Christina: already doing it. Right. So at, at this point, I mean, like, you know, I mean, like, w to your point, wars have been started for, for, for less, or for the exact same things. Brett: [00:17:00] Yeah. Christina: So, I don’t know. I don’t know. Um, I know that that’s a depressing way to probably do mental health corner and whatnot, but this is what’s happening in our world right now and in and in your community, and it’s, it’s terrifying. Brett: I’m going to link in the show notes an article from Crime Think that was written by, uh, people in Germany who have studied, um, both historical fascism and the current rise of the A FD, which will soon be the most powerful party in Germany, um, which is straight up a Nazi party. Um, and it, they offered, like their hope right now lies in America stopping fascism. Christina: Yeah. Brett: Like if we can, if we can stop fascism, then they believe the rest of Europe can stop fascism. Um, but like they, it, it’s a good article. It kind of, it kind of broaches the same questions I do about like, is it [00:18:00] time for violence? And they offer, like, we don’t, we’re not advocating for a civil war, but like Civil wars might. If you, if you, if you broach them as revolutions, it’s kind of, they’re kind of the same thing in cases like this. So anyway, I’ll, I’ll link that for anyone who wants to read kinda what’s going on in my head. I’m making a note to dig that up. I, uh, I love Crime Fake Oh and Blue Sky. Social Media and Surveillance Brett: Um, so I have not, up until very recently been an avid Blue Sky user. Um, I think I have like, I think I have maybe like 200 followers there and I follow like 50 people. But I’ve been expanding that and I am getting a ton of my news from Blue Sky and like to get stories from people on the ground, like news as it happens, unfiltered and Blue Sky has been [00:19:00] really good for that. Um, I, it’s. There’s not like an algorithm. I just get my stuff and like Macedon, I have a much larger following and I follow a lot more people, but it’s very tech, Christina: It’s very tech and, Brett: there for. Christina: well, and, and MAs on, um, understandably too is also European, um, in a lot of regards. And so it’s just, it’s not. Gonna have the same amount of, of people who are gonna be able to, at least for instances like this, like be on the ground and doing real-time stuff. It’s not, it doesn’t have like the more normy stuff. So, no, that makes sense. Um, no, that’s great. I think, yeah, blue Sky’s been been really good for, for these sorts of real-time events because again, they don’t have an algorithm. Like you can have one, like for a personalized kind of like for you feed or whatever, but in terms of what you see, you know, you see it naturally. You’re not seeing it being adjusted by anything, which can be good and bad. I, I think is good because nothing’s suppressing things and you see things in real time. It can be bad because sometimes you miss things, but I think on the whole, it’s better. [00:20:00] The only thing I will say, just to anyone listening and, and just to spread onto, you know, people in your communities too, from what I’ve observed from others, like, it does seem like the, the government and other sorts of, you know, uh, uh, the, you know, bodies like that are finally starting to pay more attention to blue sky in terms of monitoring things. And so that’s not to say don’t. You know, use it at all. But the same way, you don’t make threats on Twitter if you don’t want the Feds to show up at your house. Don’t make threats on Blue Sky, because it’s not just a little microcosm where, you know, no one will see it. People are, it, it’s still small, but it’s, it’s getting bigger to the point that like when people look at like where some of the, the, the fire hose, you know, things observable things are there, there seem to be more and more of them located in the Washington DC area, which could just be because data centers are there, who knows? But I’ve also just seen anecdotally, like people who have had, like other instances, it’s like, don’t, don’t think [00:21:00] that like, oh, okay, well, you know, no one’s monitoring this. Um, of course people are so just don’t be dumb, don’t, don’t say things that could potentially get you in trouble. Um. Brett: a political candidate in Florida. Um, had the cops show up at her house and read her one of her Facebook posts. I mean, this was local. This was local cops, but still, yeah, you Christina: right. Well, yeah, that’s the thing, right? No, totally. And, and my, my only point with that is we’ve known that they do that for Facebook and for, for, you know, Twitter and, and, uh, you know, Instagram and things like that, but they, but Blue Sky, like, I don’t know if it’s on background checks yet, but it, uh, like for, uh, for jobs and things like that, I, I, I don’t know if that’s happening, but it definitely is at that point where, um, I know that people are starting to monitor those things. So just, you know, uh, not even saying for you per se, but just for anybody out there, like, it’s awesome and I’m so glad that like, that’s where people can get information out, but don’t be like [00:22:00] lulled into this false sense of security. Like, oh, well they’re not gonna monitor this. They’re not Brett: Nobody’s watching me here. Christina: It is like, no, they are, they are. Um, so especially as it becomes, you know, more prominent. So I’m, I’m glad that that’s. That’s an option there too. Um, okay. Sponsor Break: Copilot Money Christina: This is like the worst possible segue ever, but should we go ahead and segue to our, our, our sponsor break? Brett: Let’s do it. Let’s, let’s talk about capitalism. Christina: All right. This episode is brought to you by copilot money. Copilot money is not just another finance app. It’s your personal finance partner designed to help you feel clear, calm, and in control of your money. Whether it’s tracking your spending, saving for specific goals, or simply getting the handle on your investments. Copilot money has you covered as we enter the new year. Clarity and control over our finances has never been more important with the recent shutdown of Mint and rising financial stress, for many consumers are looking for a modern, trustworthy tool to help navigate their financial journeys. That’s where copilot money comes in. [00:23:00] With this beautifully designed app, you can see all your bank accounts, spending, savings and goals and investments all in one place. Imagine easily tracking everything without the clutter of chaotic spreadsheets or outdated tools. It’s a practical way to start 2026 with a fresh financial outlook. And here’s the exciting part. As of December 15th, copilot money is now available on the web so you can manage your finances on any device that you choose. Plus, it offers a seamless experience that keeps your data secure with a privacy first approach, when you sign up using our link, you’ll get two months for free. So visit, try. Copilot money slash Overtired to get started with features like automatic subscription tracking so you never miss a renewal date and customizable savings goals to help you stay on track. Copilot money empowers you to take charge of your financial life with confidence. So why wait Start 2026 with clarity and purpose. Download copilot money on your devices or visit. Try copilot money slash [00:24:00] overti today to claim you’re two months free and embrace a more organized, stress-free approach to your finances. Try copilot.money/ Overtired. Brett: Awesome that I appreciate this segue. ’cause we, we, we could, we could be talking about other things. Um, like it’s, it feels so weird, like when I go on social media and I just want to post that like my water’s out. It feels out of place right now because there’s everything that’s going on feels so much more important than, Christina: Right. Brett: than anything else. Um, but there’s still a place for living our lives, um, Christina: there are a absolutely. I mean, and, and, and in a certain extent, like not to, I mean, maybe this is a little bit of a cope, but it’s like, if all we do is focus on the things that we can’t control at the expense of everything else, it’s like then they win. You know? Like, which, which isn’t, which, which isn’t even to [00:25:00] say, like, don’t talk about what’s happening. Don’t try to help, don’t try to speak out and, and, um, and do what we can do, but also. Like as individuals, there’s very little we can control about things. And being completely, you know, subsumed by that is, is not necessarily good either. Um, so yeah, there’s, there, there are other things going on and it’s important for us to get out of our heads. It’s important, especially for you, you know, being in the region, I think to be able to, to focus on other things and, and hopefully your water will be back soon. ’cause that sucks like that. I’ve been, I’ve been worried about you. I’m glad that you have heat. I’m glad you have internet. I’m glad you have power, but you know, the pipes being frozen and all that stuff is like, not Brett: it, the, the internet has also been down for up to six hours at a time. I don’t know why. There’s like an amplifier down on our street. Um, and that has sucked because I, out here, I live in a, I’m not gonna call it rural. Uh, we’re like five minutes from town, [00:26:00] but, um, we, we don’t. We have shitty internet. Like I pay for a gigabit and I get 500 megabits and it’s, and it’s up and down all the time and I hate it. But anyway. Tech Talk: Gas Town and AI Agents Brett: Let’s talk about, uh, let’s talk about Gas Town. What can you tell me about Gastown? Christina: Okay. So we’ve talked a lot about like AI agents and, um, kind of like, uh, coding, um, loops and, and things like that. And so Gastown, uh, which is available, um, at, I, it is not Gas Town. Let me find the URL, um, one second. It’s, it’s at a gas town. No, it’s not. Lemme find it. Um. Right. So this is a thing that, that Steve Yy, uh, has created, and [00:27:00] it is a multi-agent workspace manager. And so the idea is basically that you can be running like a lot of instances of, um, of, of Claude Code or, um, I guess you could use Codex. You could use, uh, uh, uh, co-pilot, um, SDK or CLI agent and whatnot. Um, and basically what it’s designed to do is to basically let you coordinate like multiple coding agents at one time so they can all be working on different tasks, but then instead of having, um, like the context get lost when agents restart, it creates like a, a persistent, um, like. Work state, which it uses with, with git on the backend, which is supposed to basically enable more multi-agent workflows. So, um, basically the idea would be like, you get, have multiple agents working at once, kind of talking to one another, handing things off, you know, each doing their own task and then coordinating the work with what the other ones are doing. But then you have like a persistent, um, uh, I guess kind of like, you know, layer in the backend so that if an agent has to restart or whatever, it’s not gonna lose the, [00:28:00] the context, um, that that’s happening. And you don’t have to manually, um, worry about things like, okay, you know, I’ve lost certain things in memory and, and I’ve, you know, don’t know how I’m, I’m managing all these things together. Um, there, there’s another project, uh, called Ralph, which is kind of based on this, this concept of like, what of Ralph Wickham was, you know, coding or, or was doing kind of a loop. And, and it’s, it’s, it’s a, it’s kind of a similar idea. Um, there’s also. Brett: my nose wouldn’t bleed so much if I just kept my finger out of there. Christina: Exactly, exactly. My cat’s breath smells like cat food. Um, and um, and so. Like there are ideas of like Ralph Loops and Gastown. And so these are a couple of like projects, um, that have really started to, uh, take over. So like, uh, Ralph is more of an autonomous AI agent loop that basically like it runs like over and over and over again until, uh, a task is done. Um, and, and a lot of people use, use Gastown and, [00:29:00] and, and Ralph together. Um, but yeah, no Ga gastown is is pretty cool. Um, we’ll we’re gonna talk about it more ’cause it’s my pick of the week. We’ll talk about Molt bot previously known as Claude Bot, which is, uses some, some similar ideas. But it’s really been interesting to see like how, like the, the multi-agent workflow, and by multi-agent, I mean like, people are running like 20 or 30 of them, you know, at a time. So it’s more than that, um, is really starting to become a thing that people can, uh, can do. Um, Brett: gets expensive though. Christina: I was, I was just about to say that’s the one thing, right? Most people who are using things like Gastown. Are using them with the Claude, um, code Max plans, which is $200 a month. And those plans do give you more value than like, what the, what it would be if you spent $200 in API credits, uh, but $200 a month. Like that’s not an expensive, that’s, you know, that, that’s, that, that, like, you know what I mean? Like, like that, that, that, that, that, that’s a lot of money to spend on these sorts of things. Um, but people [00:30:00] are getting good results out of it. It’s pretty cool. Um. There have been some open models, which of course, most people don’t have equipment that would be fast enough for them to, to run, uh, to be able to kind of do what they would want, um, reliably. But the, the AgTech stuff coming to some of the open models is better. And so if these things can continue, of course now we’re in a ram crisis and storage crisis and everything else, so who knows when the hardware will get good enough again, and we can, when we as consumers can even reasonably get things ourselves. But, but in, in theory, you know, if, if these sorts of things continue, I could see like a, a world where like, you know, some of the WAN models and some of the other things, uh, potentially, um, or Quinn models rather, um, could, uh. Be things that you could conceivably, like be running on your own equipment to run these sorts of nonstop ag agentic loops. But yeah, right now, like it’s really freaking cool and I’ve played around with it because I’m fortunate enough to have access to a lot of tokens. [00:31:00] Um, but yeah, I can get expensive real, real fast. Uh, but, but it’s still, it’s still pretty awesome. Brett: I do appreciate that. So, guest Town, the name is a reference to Mad Max and in the kind of, uh, vernacular that they built for things like background agents and I, uh, there’s a whole bunch, there are different levels of, of the interface that they kind of extrapolated on the gas town kind of metaphor for. Uh, I, it was, it, it, there were some interesting naming conventions and then they totally went in other directions with some of the names. It, they didn’t keep the theme very well, but, but still, uh, I appreciate Ralph Wig and Mad Max. That’s. It’s at the very least, it’s interesting. Christina: No, it definitely is. It definitely is. Crypto Controversies Christina: I will say that there’s been like a little bit [00:32:00] of a kerfuffle, uh, involved in both of those, uh, developers because, um, they’re both now promoting shit coins and, uh, and so that’s sort of an interesting thing. Um, basically there’s like this, this, this crypto company called bags that I guess apparently like if people want to, they will create crypto coins for popular open source projects, and then they will designate someone to, I guess get the, the gas fees, um, in, um, uh, a Solana parlance, uh, no pun intended, with the gas town, um, where basically like that’s, you know, like the, the, the fees that you spend to have the transaction work off of the blockchain, right? Like, especially if there’s. A lot of times that it would take, like, you pay a certain percentage of something and like those fees could be designated to an individual. And, um, in this case, like both of these guys were reached out to when basically they were like, Hey, this coin exists. You’ve got all this money just kind of sitting in a crypto wallet waiting for you. [00:33:00] Take the money, get, get the, the transaction fees, so to speak. And, uh, I mean, I think that, that, that’s, if you wanna take that money right, it’s, it’s there for you. I’m not gonna certainly judge anyone for that. What I will judge you for is if you then promote your shit coin to your community and basically kind of encourage everyone. To kind of buy into it. Maybe you put in the caveat, oh, this isn’t financial advice. Oh, this is all just for whatever. But, but you’re trying to do that and then you go one step beyond, which I think is actually pretty dumb, which is to be like, okay, well, ’cause like, here’s the thing, I’m not gonna judge anyone. If someone who’s like, Hey, here’s a wallet that we’re gonna give you, and it has real cash in it, and you can do whatever you want with it, and these are the transaction fees, so to speak, like, you know, the gas fees, whatever, you know what you do. You, even if you wanna let your audience know that you’ve done that, and maybe you’re promoting that, maybe some people will buy into it, like, people are adults. Fine. Where, where I do like side eye a little bit is if you are, then for whatever reason [00:34:00] going to be like, oh, I’m gonna take my fees and I’m gonna reinvest it in the coin. Like, okay, you are literally sitting on top of the pyramid, like you could not be in a better position and now you’re, but right. And now you’re literally like paying into the pyramid scheme. It’s like, this is not going to work well for you. These are rug bulls. Um, and so like the, the, the, the gas town coin like dropped like massively. The Ralph coin like dropped massively, like after the, the, the Ralph creator, I think he took out like 300 K or something and people, or, you know, sold like 300 K worth of coins. And people were like, oh, he’s pulling a rug pull. And I’m like, well, A, what did you expect? But B it’s like, this is why don’t, like, if someone’s gonna give you free money from something that’s, you know, kind of scammy, like, I’m not saying don’t take the money. I am saying maybe be smart enough to not to reinvest it into the scam. Brett: Yeah. Christina: Like, I don’t know. Anyway, that’s the only thing I will mention on that. ’cause I don’t think that that takes [00:35:00] anything away from either of those projects or it says that you shouldn’t use or play around with it either of those ideas at all. But that is just a thing that’s happened in the last couple of weeks too, where it’s like, oh, and now there’s like crypto, you know, the crypto people are trying to get kind of involved with these projects and, um, I, I think that that’s, uh, okay. You know, um, like I said, I’m, I’m not gonna judge anybody for taking free money that, that somebody is gonna offer them. I will judge you if you’re gonna try to then, you know, try to like, promote that to your audience and try to be like, oh, this is a great way where we, where you can help me and we can all get rich. It’s like, no, there are, if you really wanna support creators, like there are things like GitHub sponsors and there are like other methods that you can, you can do that, that don’t involve making financial risks on shit coins. Brett: I wish anything I made could be popular enough that I could do something that’s stupid. Yeah. Like [00:36:00] I, I, I, I’m not gonna pull a rug pull on anyone, but the chances that I’ll ever make $300,000 on anything I’m working on, it’s pretty slim. Christina: Yeah, but at the same time, like if you, if you did, if you were in that position, like, I don’t know, I mean, I guess that’d be a thing that you would have to kind of figure out, um, yourself would be like, okay, I have access to this amount of money. Am I going to try to, you know, go all in and, and maybe go full grift to get even more? Some, something tells me that like your own personal ethics would probably preclude you from that. Brett: I, um, I have spent, what, um, how old am I? 47. I, I’ve been, since I started blogging in like 1999, 2000, um, I have always adhered to a very strict code and like turning down sponsors. I didn’t agree with [00:37:00] not doing anything that would be shady. Not taking, not, not taking money from anyone I was writing about. Ethics in Journalism and Personal Dilemmas Brett: Like, it’s been, it’s a pain in the ass to try to be truly ethical, but I feel like I’ve done it for 30 some years and, and I don’t know, I wouldn’t change it. I’m not rich. I’ll never be rich. But yeah, I think ethics are important, especially if you’re in any kind of journalism. Christina: Yeah, if you’re in any sort of journalism. I think so, and I think like how people wanna define those things, I think it’s up to them. And, and like I said, like I’m not gonna even necessarily like, like judge people like for, because I, I don’t know personally like what my situation would be like. Like if somebody was like, Christina, here’s a wallet that has the equivalent of $300,000 in it and it’s just sitting here and we’re not even asking you to do anything with this. I would probably take the money. I’m not gonna lie, I don’t, I don’t, I don’t [00:38:00] know if I would promote it or anything and I maybe I would feel compelled to disclose, Hey, Brett: That is Christina: wallet belongs to me. Brett: money though. Christina: I, I, right. I, I, I might, I might be, I might feel compelled to com to, to disclose, Hey, someone created this coin in this thing. They created the foam grow coin and they are giving me, you know, the, the, the gas fees and I have accepted Brett: could be, I’d feel like you could do it if you were transparent enough about it. Christina: Yeah, I mean, I, I, I think where I draw the line is when you then go from like, because again, it’s fine if you wanna take it. It’s then when you are a. Reinvesting the free money into the coin, which I think is just idiotic. Like, I think that’s just actually dumb. Um, like I just, I just do like, that just seems like you are literally, like I said, you’re at the top of the pyramid and you’re literally like volunteering to get into the bottom again. Um, and, or, or b like if you do that and then you try to rationalize in some way, oh, well, you know, I think [00:39:00] that this could be a great thing for everybody to, you know, I get rich, you know, you could get rich, we could all get money out of this because this is the future of, you know, creator economy or whatever. It’s like, no, it’s not. This is gambling. Um, and, and, and, and you could make the argument to me, and I’d probably be persuaded to be like, this isn’t that different from poly market or any of the other sorts of things. But you know what? I don’t do those things either. And I wouldn’t promote those things to any audience that I had either. Um, but if somebody wanted to give me free money. I probably wouldn’t turn it down. I’m not gonna pretend that my ethics are, are that strong. Uh, I just don’t know if I would, if I would, uh, go on the other end and be like, okay, to the Moom, everyone let, let’s all go in on the crypto stuff. It’s like, okay, The Future of Open Source and Cryptocurrency Brett: So is this the future of open source is, ’cause I mean like open source has survived for decades as like a concept and it’s never been terribly profitable. But a [00:40:00] lot of large companies have invested in open source, and I guess at this point, like most of the big open source projects are either run by a corporation or by a foundation. Um, that are independently financed, but for a project like Gastown, like is it the future? Is this, is this something people are gonna start doing to like, kind of make open source profitable? Christina: I mean, maybe, I don’t know. I think the problem though is that it’s not necessarily predictable, right? And, and not to say that like normal donations or, or support methods are predictable, but at least that could be a thing where you’re like, they’re not, but, but, but it’s not volatile to the extent where you’re like, okay, I’m basing, you know, like my income based on how well this shit coin that someone else controls the supply of someone else, you know, uh, uh, created someone else, you know, burned, so to speak, somebody else’s is going to be, uh, [00:41:00] controlling and, and has other things and could be responsible for, you know, big seismic like market movements like that I think is very different, um, than anything else. And so, I don’t know. I mean, I, I think that they, what I do expect that we’ll see more of is more and more popular projects, things that go viral, especially around ai. Probably being approached or people like proactively creating coins around those things. And there have been some, um, developers who’ve already, you know, stood up oddly and been like, if you see anybody trying to create a coin around this, it is not associated with me. I won’t be associated with any of it. I won’t do it. Right. Uh, and I think that becomes a problem where you’re like, okay, if these things do become popular, then that becomes like another risk if you don’t wanna be involved in it. If you’re involved with a, with a popular project, right? Like the, like the, like the creator of MPM Isaac, like, I think there’s like an MPM coin now, and that, that he’s, you know, like involved in and it’s like, you know, again, he didn’t create it, but he is happy to promote it. He’s happy to take the money. I’m like, look, I’m happy for [00:42:00] Isaac to get money from NPMI am at the same time, you know, bun, which is basically like, you know, the, you know, replacement for, for Node and NPM in a lot of ways, they sold to Anthropic for. I guarantee you a fuck load more money than whatever Isaac is gonna make off of some MPM shitcoin. So, so like, it, it’s all a lottery and it’s not sustainable. But I also feel like for a lot of open source projects, and this isn’t like me saying that the people shouldn’t get paid for the work, quite the contrary. But I think if you go into it with the expectation of I’m going to be able to make a sustainable living off of something, like when you start a project, I think that that is not necessarily going to set you up for, I think that those expectations are misaligned with what reality might be, which again, isn’t to say that you shouldn’t get paid for your work, it’s just that the reason that we give back and the reason we contribute open source is to try to be part of like the, the greater good and to make things more available to everyone. Not to be [00:43:00] like, oh, I can, you know, quit my job. Like, that would be wonderful. I, I wish that more and more people could do that. And I give to a lot of, um, open source projects on, on a monthly basis or on an annual basis. Um, Brett: I, I give basically all the money that’s given to me for my open source projects I distribute among other open source projects. So it’s a, it’s a, it’s a wash for me, but yeah, I am, I, I pay, you know, five, 10 bucks a month to 20 different projects and yeah. Christina: Yeah. I mean, I think it’s important, but, but I, I don’t know. I, I, I hope that it’s not the future. I’m not mad, I think like if that’s a way where people can make, you know, a, a, an income. But I do, I guess worry the sense that like, if, if, if, I don’t want that to be, the reason why somebody would start an open source project is because they’re like, oh, I, I can get rich on a crypto thing. Right? Like, ’cause that that’s the exact wrong Brett: that’s not open source. That’s not the open source philosophy. Christina: no, [00:44:00] it’s not. And, and so, I mean, but I think, I think if it already exists, I mean, I don’t know. I, I also feel like no one should feel obligated. This should go without saying that. If you see a project that you like that is involved in one of those coins. Do you have a zero obligation to be, uh, supportive of that in any way? And in fact, it is probably in your financial best interest to not be involved. Um, it, it is your life, your money, your, you do whatever you want, gamble, however you want. But, uh, I, I, I, I do, I guess I, I bristle a little bit. Like if people try to portray it like, oh, well this is how you can support me by like buying into this thing. I’m like, okay, that’s alright. Like, I, I, if you wanna, again, like I said, if you wanna play poly market with this, fine, but don’t, don’t try to wrap that around like, oh, well this is how you can give back. It’s like, no, you can give back in other ways. Like you can do direct donations, you can do other stuff. Like I would, I would much rather encourage people to be like, rather than putting a hundred dollars in Ralph Coin, [00:45:00] give a hundred dollars to the Ralph Guy directly. Apex 1.0? Brett: So, speaking of unprofitable open source, I have Apex almost to 1.0. Um, it officially handles, I think, all of the syntax that I had hoped it would handle. Um, it does like crazy things, uh, that it’s all built on common mark, GFM, uh, like cmar, GFM, GitHub’s project. Um, so it, it does all of that. Plus it handles stuff from like M mark with like indices. Indices, and it incorporates, uh. Uh, oh, I forget the name of it. Like two different ways of creating indices. It handles all kinds of bibliography syntax, like every known bibliography syntax. Um, I just added, you can, you can create insert tags with plus, plus, uh, the same way you would create a deletion with, uh, til detail. Um, and [00:46:00] I’ve added a full plugin structure, and the plugins now can be project local. So you can have global plugins. And then if you have specific settings, so like I have a, I, my blogs are all based on cramdown and like the bunch documentation is based on cramdown, but then like the mark documentation. And most of my writing is based on multi markdown and they have different. Like the, for example, the IDs that go on headers in multi markdown. If it’s, if it has a space in multi markdown, it gets compressed to no space in common Mark or GFM, it gets a dash instead of a space, which means if I have cross links, cross references in my document, if I don’t have the right header syntax, the cross reference will break. So now I can put a, a config into like my bunch documentation that tells Apex to use, [00:47:00] um, the dash syntax. And in my Mark documentation, I can tell it to use the multi markdown syntax. And then I can just run Apex with no command line arguments and everything works. And I don’t know, I, I haven’t gotten adoption for it. Like the one place I thought it could be really useful was DEVONthink, Christina: Mm-hmm. Brett: which has always been based on multi markdown, which. Um, is I love multi markdown and I love Fletcher and, um, it’s just, it’s missing a lot of what I would consider modern syntax. Christina: Right. Brett: so I, I offered it to Devin think, and it turned out they were working on their own project along the same lines at the same time. Um, but I’m hoping to find some, some apps that will incorporate it and maybe get it some traction. It’s solid, it’s fast, it’s not as fast as common Mark, but it does twice as much. Um, like the [00:48:00] benchmarks, it a complex document renders in common mark in about. Uh, 27 milliseconds, and in Apex it’s more like 46 milliseconds. But in the grand scheme of things, I could render my whole blog 10 times faster than I can with cramm down or Panoc and yeah, and, and I can use all the syntax I want. Challenges and Innovations in Markdown Processing Brett: Did I tell you about, did I tell you about, uh, Panoc Divs? The div extension, um, like you can in with the panoc D extension, you can put colon, colon, colon instead of like back, take, back, take backtick. So normally, like back ticks would create a code block with colons, it creates a div, and you can apply, you can apply inline attribute lists after the colons to make, to give it a class and an ID and any other attributes you wanna apply to it. I extended that so that you can do colon, [00:49:00] colon, colon, and then type a tag name. So if you type colon, colon, colon aside and then applied an attribute list to it, it would create an aside tag with those attributes. Um, the, the only pan deck extension that I wish I could support that I don’t yet is grid tables. Have you ever seen grid tables? Christina: I have not. Brett: There, it’s, it’s kind of like multi markdown table syntax, except you use like plus signs for joints and uh, pipes and dashes, and you actually draw out the table like old ASCI diagrams Christina: Okay. Brett: and that would render that into a valid HTML table. But that supporting that has just been, uh, tables. Tables are the thing. I’ve pulled the most hair out over. Christina: Yeah, I was gonna say, I think I, they feel like tables are hard. I also feel like in a lot of circumstances, I mean obviously people use tables and whatnot, but like, [00:50:00] only thing I would say to you, like, you know, apex is, is so cool and I hope that other projects adopt it. Um, and, uh, potentially with the POC support as far as you’ve gotten with it, maybe, you know, projects that support some of POC stuff could, could, you know, uh, jump into it. But I will say it does feel like. Once you go into like the Panoc universe, like that almost feels like a separate thing from the markdown Flavors like that almost feels like its own like ecosystem. You know what I mean? Brett: Well, yeah, and I haven’t tried to adopt everything Panoc does because you can als, you can also use panoc. You can pipe from Apex into Panoc or vice versa. So I’m not gonna try to like one for one replicate panoc, Christina: No, no. Totally Brett: do all of panoc export options because Panoc can take HTML in and then output PDFs and Doc X and everything. So you can just pipe output from Apex into Panoc to create your PDF or whatever Christina: And like, and, and like to, [00:51:00] and like to me, like that seems ideal, right? But I feel like maybe like adopting some of the other things, especially like, like their grid, you know, table, things like that. Like that would be cool. But like, that feels like that’s a, potentially has the, has the potential, maybe slow down rendering and do other stuff which you don’t want. And then b it’s like, okay, now are we complicated to the point that like, this is, this is now not becoming like one markdown processor to rule them all, but you Brett: Yeah, the whole point, the whole point is to be able to just run Apex and not worry about what cex you’re using. Um, but grid tables are the kind of thing that are so intentional that you’re not gonna accidentally use them. Like the, the, the, the impetus for Apex was all these support requests I get from people that are like the tilde syntax for underline or delete doesn’t work in Mark. And it, it does if you choose the right processor. But then you have to know, yeah, you have to [00:52:00] know what processor supports what syntax and that takes research and time and bringing stuff in from, say, obsidian into mart. You would just kind of expect things to work. And that’s, that’s why I built Apex and Christina: right? Brett: you are correct that grid tables are the kind of thing, no one’s going to use grid tables if they haven’t specifically researched what Christina: I right. Brett: they’re gonna work with. Christina: And they’re going to have a way that has their file marked so that it is designated as poc and then whatever, you know, flags for whatever POC features it supports, um, does. Now I know that the whole point of APEX is you don’t have to worry about this, but, but I am assuming, based on kind of what you said, like if I pass like arguments like in like a, you know, in a config file or something like where I was like, these documents or, or, or this URL or these things are, you know, in this process or in this in another, then it can, it can just automatically apply those rules without having to infer based on the, on the syntax, right. Brett: right. It has [00:53:00] modes for cram down and common mark and GFM and discount, and you can like tell it what mode you’re writing in and it will limit the feature set to just what that processor would handle. Um, and then all of the flags, all of the features have neg negotiable flags on them. So if you wanted to say. Skip, uh, relax table rendering. You could turn that off on the command line or in a config file. Um, so yeah, everything, everything, you can make it behave like any particular processor. Uh, but I focus mostly on the unified mode, which again, like you don’t have to think about which processor you are using. Christina: Are you seeing, I guess like in, in circumstances like, ’cause I, in, in my, like, my experience, like, I would never think to, like, I would probably like, like to, I would probably do like what you do, which is like, I’m [00:54:00] going to use one syntax or, or one, you know, processor for one type of files and maybe another and another. Um, but I, I don’t think that like, I would ever have a, and maybe I’m misunderstanding this, but I don’t think I would ever have an instance where I would be like mixing the two together in the same file. Brett: See, that’s my, so that’s, that’s what’s changing for me is I’m switching my blog over to use Apex instead of Cramdown, which means I can now incorporate syntax that wasn’t available before. So moving forward, I am mixing, um, things from common mark, things from cram down, things from multi markdown. Um, and, and like, so once you know you have the option Christina: right. Then you might do that Brett: you have all the syntax available, you start doing it. And historically you won’t have, but like once you get used to it, then you can. Christina: Okay. So here’s the next existential question for you. At what point then does it go from being, you know, like [00:55:00] a, a, a rendering engine, kind of like an omni rendering engine to being a syntax and a flavor in and of itself? Brett: That is that, yeah, no, that’s a, that’s a very valid question and one that I have to keep asking myself, um, because I never, okay, so what to, to encapsulate what you’re saying, if you got used to writing for Apex and you were mixing your syntax, all of a sudden you have a document that can’t render in anything except Apex, which does eventually make it its own. Yeah, no, it is, it’s always, it’s a concern the whole time. Christina: well, and I, I wouldn’t even necessarily, I mean, like, and I think it could be two things, right? I mean, like, you could have it live in two worlds where, like on the one hand it could be like the rendering engine to end all rendering engines and it can render, you know, files and any of them, and you can specify like whatever, like in, in, in like a tunnel or something. Like, you know, these files are, [00:56:00] are this format, these are these, and you know, maybe have some sort of, you know, um, something, even like a header files or whatever to be like, this is what this rendering engine is. Um, you know, with, with your projects to have it, uh, do that. Um. Or have it infer, you know, based on, on, on, um, the, the logic that you’re importing. But it could also be one of those things where you’re like, okay, I just have created like, you know, the omni syntax. And that’s a thing that maybe, maybe you get people to try to encourage or try, try to adopt, right? Like, it’s like, okay, you can always just use common mark. You can always just use GFM, you can always just use multi markdown, but we support these other things too, from these other, um, systems and you can intermix and match them. Um, because, because I, I do feel like at a certain point, like at least the way you’re running it yourself, you have your own syntax. Like, like, you know. Brett: yeah. No, you have perfectly encapsulated the, the major [00:57:00] design concern. And I think you’re correct. It can exist, it can be both things at once. Um, but I have like, nobody needs another markdown syntax. Like there are so many flavors right now. Okay. There may be a dozen. It’s not like an infinite number, but, but there’s enough that the confusion is real. Um, and we don’t need yet another markdown flavor, but we do need a universal processor that. Makes the differentiations less, but yeah, no, it’s, I need, I need to nail down that philosophy, uh, and really like, put it into writing and say, this is the design goal of this project, uh, which I have like hinted at, but I’m a scattered thinker and like, part of, part of the design philosophy is if someone says, Hey, [00:58:00] could you make this work? I just wanted a project where I could say, yeah, I’m gonna make that work. I, I, I’m gonna add this somewhat esoteric syntax and it’s just gonna work and it’s not gonna affect anything else. And you don’t have to use it, but if you do, there it is. So it’s kind of, it was designed to bloat to a circuit certain extent. Um, but yeah, I need to, I need to actually write a page That’s just the philosophy and really, really, uh, put, put all my thoughts together on that. Christina: Yeah, no, ’cause I was just kind of thinking, I was like, ’cause it’s so cool. Um, but the way that I would’ve envisioned using it, like I, I still like, it’s cool that you can mix all those things in together. I still feel like I probably wouldn’t because I’m not you. And so then I would just have like this additional dependency that it’s like, okay, if something happens to Apex one day and that’s the only thing that can render my documents, then like, you know what I mean? And, and, and if it’s not getting updated [00:59:00] anymore or whatever, then I’m kind of like SOL, um, Brett: Maku. Do you remember Maku? Christina: vaguely. Brett: It’s, the project is kind of dead and a lot of its syntax has been incorporated into various other processors. But if you built your whole blog on Maku, you have to, you have to be able to run like a 7-year-old binary, um, and, and it’ll never be updated, and eventually you’re gonna run into trouble. The nice thing about Unix based stuff is it’s. Has a, you can stop developing it and it’ll work for a decade, um, until, like, there’s a major shift in processors, but like, just the shift to arm. Like if, if Maku was only ever compiled for, uh, for, uh, Intel and it wasn’t open source, you would, it would be gone. You wouldn’t be able to run it anymore. So yeah, these things can happen. Christina: [01:00:00] Well, and I just even think about like, you know, the fact that like, you know, like some of the early processors, like I remember like back, I mean this is a million years ago, but having to use like certain, like pearl, you know, based things, you know, but depending on like whatever your backend system was, then you moved to PHP, they maybe you move, moved to, you know, Ruby, if you’re using like Jekyll and maybe you move to something else. And I was like, okay, you know, what will the thing be in the future? Yeah. If, if I, if it’s open source and there’s a way that, you know, you can write a new, a new processor for that, but it does create like, dependencies on top of dependencies, which is why I, I kind of feel like I like having like the omni processor. I don’t know if, like, for me, I’m like, okay, I, I would probably be personally leery about intermingling all my different syntaxes together. Brett: to that end though, that is why I wanted it in C um, because C will probably never die. C can be compiled on just about any platform. And it can be used with, like, if you have, if you have a Jekyll blog and you wanna [01:01:00] incorporate a C program into a gem, it’s no problem. Uh, you can incorporate it into just about any. Langu
Pod Return to the Waking Sands - A Final Fantasy XIV 14 Lore Companion Podcast
Azys Lla awaits! We overcome one final trial and finally set foot on the millennia-old Allagan continent. What ancient horrors lie in wait for us? Find out in this continuation of the FFXIV Heavensward expansion! https://discord.gg/SUHTBVMVxj podreturnffxiv@gmail https://www.patreon.com/Podreturnffxiv Shirts! https://tee.pub/lic/cBoKhUlgkrw https://bsky.app/profile/podreturnffxiv.bsky.social Music by Gwen Static: gwendolynstatic@gmail
jQuery is the JavaScript library that just won't quit. 20 years after its inception the team released jQuery 4.0.0, and it brings some notable modernizations including removed support for IE 10, a migration to ES modules, and support for Trusted Types. Node.js creator Ryan Dahl declared earlier this week that “the era of humans writing code is over”, and considering how good AI coding agents have gotten lately, he's probably not wrong. Cloudflare also announces it has acquired popular JavaScript framework Astro. Cloudflare has been a good steward to other OSS projects in the past, and this acquisition allows the Astro team to focus on making the framework even better.Timestamps:0:50 - jQuery 4.07:58 - Is the era of humans writing code over?18:23 - Cloudflare acquires Astro24:54 - Vertical tabs are coming to Chrome29:37 - Apple is going to use Gemini for Siri43:07 - What's making us happyNews:Paige - Ryan Dahl declares humans writing code is overJack - Cloudflare acquires AstroTJ - jQuery 4.0Lightning News: Chrome adds support for vertical tabsApple and Google enter agreement to use Gemini for Apple IntelligenceWhat Makes Us Happy this Week:Paige - Onyx Storm bookJack - Learning to play Born to Run on guitarTJ - Only Murders in the Building TV series and Dungeon Crawler Carl book seriesThanks as always to our sponsor, the Blue Collar Coder channel on YouTube. You can join us in our Discord channel, explore our website and reach us via email, or talk to us on X, Bluesky, or YouTube.Front-end Fire websiteBlue Collar Coder on YouTubeBlue Collar Coder on DiscordReach out via emailTweet at us on X @front_end_fireFollow us on Bluesky @front-end-fire.comSubscribe to our YouTube channel @Front-EndFirePodcast
HTML All The Things - Web Development, Web Design, Small Business
In this edition of the Web News, Matt and Mike discuss Ryan Dahl's recent comments regarding software engineers in the world of AI. Ryan recently shared his viewpoint via a post on X where he stated that he thinks the era of humans writing code is over - meaning that SWEs may still have work to do, but that writing syntax won't be it. We unpack this viewpoint and further discuss the world of software engineering as AI continues to invade the coding space for hobby coders, professionals, and vibe coders. For those of you that don't know, Ryan Dahl is the creator of Node.js - so his voice carries some weight in the web development space. Show Notes: https://www.htmlallthethings.com/podcast/the-era-of-humans-writing-code-is-over Use our Scrimba affiliate link (https://scrimba.com/?via=htmlallthethings) for a 20% discount!! Full details in show notes.
RubyLLM (https://rubyllm.com/) Carmine (https://paolino.me/) Chat With Work (https://chatwithwork.com/) Carmine on X (https://x.com/paolino) Mike on LinkedIn (https://www.linkedin.com/in/dominucco/) Coder Radio on Discord (https://discord.gg/WnumdsfhYB) Alice (https://alice.dev/looking-glass/) Mike's 2026 Predictions Post (https://dominickm.com/set-a-course-for-2026/) Alice Jumpstart Offer (https://go.alice.dev/alice-azure-blob-to-snowflake-js)
Rewrites are seductive. Clean slates promise clarity, speed, and “doing it right this time.” In practice, they're often late, over budget, and quietly demoralizing.In this episode of Maintainable, Robby sits down with Brittany Ellich, a Senior Software Engineer at GitHub, to talk about a different path. One rooted in stewardship, readability, and resisting the urge to start over.Brittany's career began with a long string of rebuild projects. Over time, she noticed a pattern. The estimates were wrong. Feature development stalled. Teams burned energy reaching parity with systems they'd already had. That experience pushed her toward a strong belief: if software is in production and serving users, it's usually worth maintaining.[00:00:57] What well-maintained software actually looks likeFor Brittany, readability is the first signal. If code can't be understood, it can't be changed safely. Maintenance begins with making systems approachable for the next person.[00:01:42] Rethinking technical debtShe explains how her understanding of technical debt has evolved. Rather than a fixed category of work, it's often anything that doesn't map directly to new features. Bugs, reliability issues, and long-term risks frequently get lumped together, making prioritization harder than it needs to be.[00:05:49] Why AI changes the maintenance equationBrittany describes how coding agents have made it easier to tackle small, previously ignored maintenance tasks. Instead of waiting for debt to accumulate into massive projects, teams can chip away incrementally. (Related: GitHub Copilot and the Copilot coding agent workflow she's explored.)[00:07:16] Context from GitHub's billing systemsWorking on metered billing at GitHub means correctness and reliability matter more than flash. Billing should be boring. When it's not, customers notice quickly.[00:11:43] Navigating a multi-era codebaseGitHub's original Rails codebase is still in active use. Brittany relies heavily on Git blame and old pull requests to understand why decisions were made, treating them as a form of living documentation.[00:25:27] Treating coding agents like teammatesRather than delegating massive changes, Brittany assigns agents small, well-scoped tasks. She approaches them the same way she would a new engineer: clear instructions, limited scope, and careful review.[00:36:00] Structuring the day to avoid cognitive overloadShe breaks agent interaction into focused windows, checking in a few times a day instead of constantly monitoring progress. This keeps deep work intact while still moving maintenance forward.[00:40:24] Low-risk ways to experimentImproving test coverage and generating repository instructions are safe entry points. These changes add value without risking production behavior.[00:54:10] Navigating team resistance and ethicsBrittany acknowledges skepticism around AI and encourages teams to start with existing backlog problems rather than selling AI as a feature factory.[00:57:57] Books, habits, and staying balancedOutside of software, Brittany recommends Atomic Habits by James Clear, sharing how small routines help her stay focused.The takeaway is clear. AI doesn't replace engineering judgment. Used thoughtfully, it can support the unglamorous work that keeps software alive.Good software doesn't need a rewrite.It needs caretakers.References MentionedGitHub – Brittany's current role and the primary environment discussedGitHub Universe – Where Brittany presented her coding agent workflowAtomic Habits by James Clear – Brittany's recommended book outside of techOvercommitted - Podcast Brittany co-hostsThe Balanced Engineer Newsletter – Brittany's monthly newsletter on engineering, leadership, and balanceBrittany Ellich's website – Central hub for her writing and linksGitHub Copilot – The AI tooling discussed throughout the episodeHow the GitHub billing team uses the coding agent in GitHub Copilot to continuously burn down technical debt – GitHub blog post referencedThanks to Our Sponsor!Turn hours of debugging into just minutes! AppSignal is a performance monitoring and error-tracking tool designed for Ruby, Elixir, Python, Node.js, Javascript, and other frameworks.It offers six powerful features with one simple interface, providing developers with real-time insights into the performance and health of web applications.Keep your coding cool and error-free, one line at a time! Use the code maintainable to get a 10% discount for your first year. Check them out! Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.
De retour à cinq dans l'épisode, les cast codeurs démarrent cette année avec un gros épisode pleins de news et d'articles de fond. IA bien sûr, son impact sur les pratiques, Mockito qui tourne un page, du CSS (et oui), sur le (non) mapping d'APIs REST en MCP et d'une palanquée d'outils pour vous. Enregistré le 9 janvier 2026 Téléchargement de l'épisode LesCastCodeurs-Episode-335.mp3 ou en vidéo sur YouTube. News Langages 2026 sera-t'elle l'année de Java dans le terminal ? (j'ai ouïe dire que ça se pourrait bien…) https://xam.dk/blog/lets-make-2026-the-year-of-java-in-the-terminal/ 2026: Année de Java dans le terminal, pour rattraper son retard sur Python, Rust, Go et Node.js. Java est sous-estimé pour les applications CLI et les TUIs (interfaces utilisateur terminales) malgré ses capacités. Les anciennes excuses (démarrage lent, outillage lourd, verbosité, distribution complexe) sont obsolètes grâce aux avancées récentes : GraalVM Native Image pour un démarrage en millisecondes. JBang pour l'exécution simplifiée de scripts Java (fichiers uniques, dépendances) et de JARs. JReleaser pour l'automatisation de la distribution multi-plateforme (Homebrew, SDKMAN, Docker, images natives). Project Loom pour la concurrence facile avec les threads virtuels. PicoCLI pour la gestion des arguments. Le potentiel va au-delà des scripts : création de TUIs complètes et esthétiques (ex: dashboards, gestionnaires de fichiers, assistants IA). Excuses caduques : démarrage rapide (GraalVM), légèreté (JBang), distribution simple (JReleaser), concurrence (Loom). Potentiel : créer des applications TUI riches et esthétiques. Sortie de Ruby 4.0.0 https://www.ruby-lang.org/en/news/2025/12/25/ruby-4-0-0-released/ Ruby Box (expérimental) : Une nouvelle fonctionnalité permettant d'isoler les définitions (classes, modules, monkey patches) dans des boîtes séparées pour éviter les conflits globaux. ZJIT : Un nouveau compilateur JIT de nouvelle génération développé en Rust, visant à surpasser YJIT à terme (actuellement en phase expérimentale). Améliorations de Ractor : Introduction de Ractor::Port pour une meilleure communication entre Ractors et optimisation des structures internes pour réduire les contentions de verrou global. Changements syntaxiques : Les opérateurs logiques (||, &&, and, or) en début de ligne permettent désormais de continuer la ligne précédente, facilitant le style "fluent". Classes Core : Set et Pathname deviennent des classes intégrées (Core) au lieu d'être dans la bibliothèque standard. Diagnostics améliorés : Les erreurs d'arguments (ArgumentError) affichent désormais des extraits de code pour l'appelant ET la définition de la méthode. Performances : Optimisation de Class#new, accès plus rapide aux variables d'instance et améliorations significatives du ramasse-miettes (GC). Nettoyage : Suppression de comportements obsolètes (comme la création de processus via IO.open avec |) et mise à jour vers Unicode 17.0. Librairies Introduction pour créer une appli multi-tenant avec Quarkus et http://nip.io|nip.io https://www.the-main-thread.com/p/quarkus-multi-tenant-api-nipio-tutorial Construction d'une API REST multi-tenant en Quarkus avec isolation par sous-domaine Utilisation de http://nip.io|nip.io pour la résolution DNS automatique sans configuration locale Extraction du tenant depuis l'en-tête HTTP Host via un filtre JAX-RS Contexte tenant géré avec CDI en scope Request pour l'isolation des données Service applicatif gérant des données spécifiques par tenant avec Map concurrent Interface web HTML/JS pour visualiser et ajouter des données par tenant Configuration CORS nécessaire pour le développement local Pattern acme.127-0-0-1.nip.io résolu automatiquement vers localhost Code complet disponible sur GitHub avec exemples curl et tests navigateur Base idéale pour prototypage SaaS, tests multi-tenants Hibernate 7.2 avec quelques améliorations intéressantes https://docs.hibernate.org/orm/7.2/whats-new/%7Bhtml-meta-canonical-link%7D read only replica (experimental), crée deux session factories et swap au niveau jdbc si le driver le supporte et custom sinon. On ouvre une session en read only child statelesssession (partage le contexte transactionnel) hibernate vector module ajouter binary, float16 and sparse vectors Le SchemaManager peut resynchroniser les séquences par rapport aux données des tables Regexp dans HQL avec like Nouvelle version de Hibernate with Panache pour Quarkus https://quarkus.io/blog/hibernate-panache-next/ Nouvelle extension expérimentale qui unifie Hibernate ORM with Panache et Hibernate Reactive with Panache Les entités peuvent désormais fonctionner en mode bloquant ou réactif sans changer de type de base Support des sessions sans état (StatelessSession) en plus des entités gérées traditionnelles Intégration de Jakarta Data pour des requêtes type-safe vérifiées à la compilation Les opérations sont définies dans des repositories imbriqués plutôt que des méthodes statiques Possibilité de définir plusieurs repositories pour différents modes d'opération sur une même entité Accès aux différents modes (bloquant/réactif, géré/sans état) via des méthodes de supertype Support des annotations @Find et @HQL pour générer des requêtes type-safe Accès au repository via injection ou via le métamodèle généré Extension disponible dans la branche main, feedback demandé sur Zulip ou GitHub Spring Shell 4.0.0 GA publié - https://spring.io/blog/2025/12/30/spring-shell-4-0-0-ga-released Sortie de la version finale de Spring Shell 4.0.0 disponible sur Maven Central Compatible avec les dernières versions de Spring Framework et Spring Boot Modèle de commandes revu pour simplifier la création d'applications CLI interactives Intégration de jSpecify pour améliorer la sécurité contre les NullPointerException Architecture plus modulaire permettant meilleure personnalisation et extension Documentation et exemples entièrement mis à jour pour faciliter la prise en main Guide de migration vers la v4 disponible sur le wiki du projet Corrections de bugs pour améliorer la stabilité et la fiabilité Permet de créer des applications Java autonomes exécutables avec java -jar ou GraalVM native Approche opinionnée du développement CLI tout en restant flexible pour les besoins spécifiques Une nouvelle version de la librairie qui implémenter des gatherers supplémentaires à ceux du JDK https://github.com/tginsberg/gatherers4j/releases/tag/v0.13.0 gatherers4j v0.13.0. Nouveaux gatherers : uniquelyOccurringBy(), moving/runningMedian(), moving/runningMax/Min(). Changement : les gatherers "moving" incluent désormais par défaut les valeurs partielles (utiliser excludePartialValues() pour désactiver). LangChain4j 1.10.0 https://github.com/langchain4j/langchain4j/releases/tag/1.10.0 Introduction d'un catalogue de modèles pour Anthropic, Gemini, OpenAI et Mistral. Ajout de capacités d'observabilité et de monitoring pour les agents. Support des sorties structurées, des outils avancés et de l'analyse de PDF via URL pour Anthropic. Support des services de transcription pour OpenAI. Possibilité de passer des paramètres de configuration de chat en argument des méthodes. Nouveau garde-fou de modération pour les messages entrants. Support du contenu de raisonnement pour les modèles. Introduction de la recherche hybride. Améliorations du client MCP. Départ du lead de mockito après 10 ans https://github.com/mockito/mockito/issues/3777 Tim van der Lippe, mainteneur majeur de Mockito, annonce son départ pour mars 2026, marquant une décennie de contribution au projet. L'une des raisons principales est l'épuisement lié aux changements récents dans la JVM (JVM 22+) concernant les agents, imposant des contraintes techniques lourdes sans alternative simple proposée par les mainteneurs du JDK. Il pointe du doigt le manque de soutien et la pression exercée sur les bénévoles de l'open source lors de ces transitions technologiques majeures. La complexité croissante pour supporter Kotlin, qui utilise la JVM de manière spécifique, rend la base de code de Mockito plus difficile à maintenir et moins agréable à faire évoluer selon lui. Il exprime une perte de plaisir et préfère désormais consacrer son temps libre à d'autres projets comme Servo, un moteur web écrit en Rust. Une période de transition est prévue jusqu'en mars pour assurer la passation de la maintenance à de nouveaux contributeurs. Infrastructure Le premier intérêt de Kubernetes n'est pas le scaling - https://mcorbin.fr/posts/2025-12-29-kubernetes-scale/ Avant Kubernetes, gérer des applications en production nécessitait de multiples outils complexes (Ansible, Puppet, Chef) avec beaucoup de configuration manuelle Le load balancing se faisait avec HAProxy et Keepalived en actif/passif, nécessitant des mises à jour manuelles de configuration à chaque changement d'instance Le service discovery et les rollouts étaient orchestrés manuellement, instance par instance, sans automatisation de la réconciliation Chaque stack (Java, Python, Ruby) avait sa propre méthode de déploiement, sans standardisation (rpm, deb, tar.gz, jar) La gestion des ressources était manuelle avec souvent une application par machine, créant du gaspillage et complexifiant la maintenance Kubernetes standardise tout en quelques ressources YAML (Deployment, Service, Ingress, ConfigMap, Secret) avec un format déclaratif simple Toutes les fonctionnalités critiques sont intégrées : service discovery, load balancing, scaling, stockage, firewalling, logging, tolérance aux pannes La complexité des centaines de scripts shell et playbooks Ansible maintenus avant était supérieure à celle de Kubernetes Kubernetes devient pertinent dès qu'on commence à reconstruire manuellement ces fonctionnalités, ce qui arrive très rapidement La technologie est flexible et peut gérer aussi bien des applications modernes que des monolithes legacy avec des contraintes spécifiques Mole https://github.com/tw93/Mole Un outil en ligne de commande (CLI) tout-en-un pour nettoyer et optimiser macOS. Combine les fonctionnalités de logiciels populaires comme CleanMyMac, AppCleaner, DaisyDisk et iStat Menus. Analyse et supprime en profondeur les caches, les fichiers logs et les résidus de navigateurs. Désinstallateur intelligent qui retire proprement les applications et leurs fichiers cachés (Launch Agents, préférences). Analyseur d'espace disque interactif pour visualiser l'occupation des fichiers et gérer les documents volumineux. Tableau de bord temps réel (mo status) pour surveiller le CPU, le GPU, la mémoire et le réseau. Fonction de purge spécifique pour les développeurs permettant de supprimer les artefacts de build (node_modules, target, etc.). Intégration possible avec Raycast ou Alfred pour un lancement rapide des commandes. Installation simple via Homebrew ou un script curl. Des images Docker sécurisées pour chaque développeur https://www.docker.com/blog/docker-hardened-images-for-every-developer/ Docker rend ses "Hardened Images" (DHI) gratuites et open source (licence Apache 2.0) pour tous les développeurs. Ces images sont conçues pour être minimales, prêtes pour la production et sécurisées dès le départ afin de lutter contre l'explosion des attaques sur la chaîne logistique logicielle. Elles s'appuient sur des bases familières comme Alpine et Debian, garantissant une compatibilité élevée et une migration facile. Chaque image inclut un SBOM (Software Bill of Materials) complet et vérifiable, ainsi qu'une provenance SLSA de niveau 3 pour une transparence totale. L'utilisation de ces images permet de réduire considérablement le nombre de vulnérabilités (CVE) et la taille des images (jusqu'à 95 % plus petites). Docker étend cette approche sécurisée aux graphiques Helm et aux serveurs MCP (Mongo, Grafana, GitHub, etc.). Des offres commerciales (DHI Enterprise) restent disponibles pour des besoins spécifiques : correctifs critiques sous 7 jours, support FIPS/FedRAMP ou support à cycle de vie étendu (ELS). Un assistant IA expérimental de Docker peut analyser les conteneurs existants pour recommander l'adoption des versions sécurisées correspondantes. L'initiative est soutenue par des partenaires majeurs tels que Google, MongoDB, Snyk et la CNCF. Web La maçonnerie ("masonry") arrive dans la spécification des CSS et commence à être implémentée par les navigateurs https://webkit.org/blog/17660/introducing-css-grid-lanes/ Permet de mettre en colonne des éléments HTML les uns à la suite des autres. D'abord sur la première ligne, et quand la première ligne est remplie, le prochain élément se trouvera dans la colonne où il pourra être le plus haut possible, et ainsi de suite. après la plomberie du middleware, la maçonnerie du front :laughing: Data et Intelligence Artificielle On ne devrait pas faire un mapping 1:1 entre API REST et MCP https://nordicapis.com/why-mcp-shouldnt-wrap-an-api-one-to-one/ Problématique : Envelopper une API telle quelle dans le protocole MCP (Model Context Protocol) est un anti-pattern. Objectif du MCP : Conçu pour les agents d'IA, il doit servir d'interface d'intention, non de miroir d'API. Les agents comprennent les tâches, pas la logique complexe des API (authentification, pagination, orchestration). Conséquences du mappage un-à-un : Confusion des agents, erreurs, hallucinations. Difficulté à gérer les orchestrations complexes (plusieurs appels pour une seule action). Exposition des faiblesses de l'API (schéma lourd, endpoints obsolètes). Maintenance accrue lors des changements d'API. Meilleure approche : Construire des outils MCP comme des SDK pour agents, encapsulant la logique nécessaire pour accomplir une tâche spécifique. Pratiques recommandées : Concevoir autour des intentions/actions utilisateur (ex. : "créer un projet", "résumer un document"). Regrouper les appels en workflows ou actions uniques. Utiliser un langage naturel pour les définitions et les noms. Limiter la surface d'exposition de l'API pour la sécurité et la clarté. Appliquer des schémas d'entrée/sortie stricts pour guider l'agent et réduire l'ambiguïté. Des agents en production avec AWS - https://blog.ippon.fr/2025/12/22/des-agents-en-production-avec-aws/ AWS re:Invent 2025 a massivement mis en avant l'IA générative et les agents IA Un agent IA combine un LLM, une boucle d'appel et des outils invocables Strands Agents SDK facilite le prototypage avec boucles ReAct intégrées et gestion de la mémoire Managed MLflow permet de tracer les expérimentations et définir des métriques de performance Nova Forge optimise les modèles par réentraînement sur données spécifiques pour réduire coûts et latence Bedrock Agent Core industrialise le déploiement avec runtime serverless et auto-scaling Agent Core propose neuf piliers dont observabilité, authentification, code interpreter et browser managé Le protocole MCP d'Anthropic standardise la fourniture d'outils aux agents SageMaker AI et Bedrock centralisent l'accès aux modèles closed source et open source via API unique AWS mise sur l'évolution des chatbots vers des systèmes agentiques optimisés avec modèles plus frugaux Debezium 3.4 amène plusieurs améliorations intéressantes https://debezium.io/blog/2025/12/16/debezium-3-4-final-released/ Correction du problème de calcul du low watermark Oracle qui causait des pertes de performance Correction de l'émission des événements heartbeat dans le connecteur Oracle avec les requêtes CTE Amélioration des logs pour comprendre les transactions actives dans le connecteur Oracle Memory guards pour protéger contre les schémas de base de données de grande taille Support de la transformation des coordonnées géométriques pour une meilleure gestion des données spatiales Extension Quarkus DevServices permettant de démarrer automatiquement une base de données et Debezium en dev Intégration OpenLineage pour tracer la lignée des données et suivre leur flux à travers les pipelines Compatibilité testée avec Kafka Connect 4.1 et Kafka brokers 4.1 Infinispan 16.0.4 et .5 https://infinispan.org/blog/2025/12/17/infinispan-16-0-4 Spring Boot 4 et Spring 7 supportés Evolution dans les metriques Deux bugs de serialisation Construire un agent de recherche en Java avec l'API Interactions https://glaforge.dev/posts/2026/01/03/building-a-research-assistant-with-the-interactions-api-in-java/ Assistant de recherche IA Java (API Interactions Gemini), test du SDK implémenté par Guillaume. Workflow en 4 phases : Planification : Gemini Flash + Google Search. Recherche : Modèle "Deep Research" (tâche de fond). Synthèse : Gemini Pro (rapport exécutif). Infographie : Nano Banana Pro (à partir de la synthèse). API Interactions : gestion d'état serveur, tâches en arrière-plan, réponses multimodales (images). Appréciation : gestion d'état de l'API (vs LLM sans état). Validation : efficacité du SDK Java pour cas complexes. Stephan Janssen (le papa de Devoxx) a créé un serveur MCP (Model Context Protocol) basé sur LSP (Language Server Protocol) pour que les assistants de code analysent le code en le comprenant vraiment plutôt qu'en faisant des grep https://github.com/stephanj/LSP4J-MCP Le problème identifié : Les assistants IA utilisent souvent la recherche textuelle (type grep) pour naviguer dans le code, ce qui manque de contexte sémantique, génère du bruit (faux positifs) et consomme énormément de tokens inutilement. La solution LSP4J-MCP : Une approche "standalone" (autonome) qui encapsule le serveur de langage Eclipse (JDTLS) via le protocole MCP (Model Context Protocol). Avantage principal : Offre une compréhension sémantique profonde du code Java (types, hiérarchies, références) sans nécessiter l'ouverture d'un IDE lourd comme IntelliJ. Comparaison des méthodes : AST : Trop léger (pas de compréhension inter-fichiers). IntelliJ MCP : Puissant mais exige que l'IDE soit ouvert (gourmand en ressources). LSP4J-MCP : Le meilleur des deux mondes pour les workflows en terminal, à distance (SSH) ou CI/CD. Fonctionnalités clés : Expose 5 outils pour l'IA (find_symbols, find_references, find_definition, document_symbols, find_interfaces_with_method). Résultats : Une réduction de 100x des tokens utilisés pour la navigation et une précision accrue (distinction des surcharges, des scopes, etc.). Disponibilité : Le projet est open source et disponible sur GitHub pour intégration immédiate (ex: avec Claude Code, Gemini CLI, etc). A noter l'ajout dans claude code 2.0.74 d'un tool pour supporter LSP ( https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md#2074 ) Awesome (GitHub) Copilot https://github.com/github/awesome-copilot Une collection communautaire d'instructions, de prompts et de configurations pour optimiser l'utilisation de GitHub Copilot. Propose des "Agents" spécialisés qui s'intègrent aux serveurs MCP pour améliorer les flux de travail spécifiques. Inclut des prompts ciblés pour la génération de code, la documentation et la résolution de problèmes complexes. Fournit des instructions détaillées sur les standards de codage et les meilleures pratiques applicables à divers frameworks. Propose des "Skills" (compétences) sous forme de dossiers contenant des ressources pour des tâches techniques spécialisées. (les skills sont dispo dans copilot depuis un mois : https://github.blog/changelog/2025-12-18-github-copilot-now-supports-agent-skills/ ) Permet une installation facile via un serveur MCP dédié, compatible avec VS Code et Visual Studio. Encourage la contribution communautaire pour enrichir les bibliothèques de prompts et d'agents. Aide à augmenter la productivité en offrant des solutions pré-configurées pour de nombreux langages et domaines. Garanti par une licence MIT et maintenu activement par des contributeurs du monde entier. IA et productivité : bilan de l'année 2025 (Laura Tacho - DX)) https://newsletter.getdx.com/p/ai-and-productivity-year-in-review?aid=recNfypKAanQrKszT En 2025, l'ingénierie assistée par l'IA est devenue la norme : environ 90 % des développeurs utilisent des outils d'IA mensuellement, et plus de 40 % quotidiennement. Les chercheurs (Microsoft, Google, GitHub) soulignent que le nombre de lignes de code (LOC) reste un mauvais indicateur d'impact, car l'IA génère beaucoup de code sans forcément garantir une valeur métier supérieure. Si l'IA améliore l'efficacité individuelle, elle pourrait nuire à la collaboration à long terme, car les développeurs passent plus de temps à "parler" à l'IA qu'à leurs collègues. L'identité du développeur évolue : il passe de "producteur de code" à un rôle de "metteur en scène" qui délègue, valide et exerce son jugement stratégique. L'IA pourrait accélérer la montée en compétences des développeurs juniors en les forçant à gérer des projets et à déléguer plus tôt, agissant comme un "accélérateur" plutôt que de les rendre obsolètes. L'accent est mis sur la créativité plutôt que sur la simple automatisation, afin de réimaginer la manière de travailler et d'obtenir des résultats plus impactants. Le succès en 2026 dépendra de la capacité des entreprises à cibler les goulots d'étranglement réels (dette technique, documentation, conformité) plutôt que de tester simplement chaque nouveau modèle d'IA. La newsletter avertit que les titres de presse simplifient souvent à l'excès les recherches sur l'IA, masquant parfois les nuances cruciales des études réelles. Un développeur décrit dans un article sur Twitter son utilisation avancée de Claude Code pour le développement, avec des sous-agents, des slash-commands, comment optimiser le contexte, etc. https://x.com/AureaLibe/status/2008958120878330329?s=20 Outillage IntelliJ IDEA, thread dumps et project Loom (virtual threads) - https://blog.jetbrains.com/idea/2025/12/thread-dumps-and-project-loom-virtual-threads/ Les virtual threads Java améliorent l'utilisation du matériel pour les opérations I/O parallèles avec peu de changements de code Un serveur peut maintenant gérer des millions de threads au lieu de quelques centaines Les outils existants peinent à afficher et analyser des millions de threads simultanément Le débogage asynchrone est complexe car le scheduler et le worker s'exécutent dans des threads différents Les thread dumps restent essentiels pour diagnostiquer deadlocks, UI bloquées et fuites de threads Netflix a découvert un deadlock lié aux virtual threads en analysant un heap dump, bug corrigé dans Java 25. Mais c'était de la haute voltige IntelliJ IDEA supporte nativement les virtual threads dès leur sortie avec affichage des locks acquis IntelliJ IDEA peut ouvrir des thread dumps générés par d'autres outils comme jcmd Le support s'étend aussi aux coroutines Kotlin en plus des virtual threads Quelques infos sur IntelliJ IDEA 2025.3 https://blog.jetbrains.com/idea/2025/12/intellij-idea-2025-3/ Distribution unifiée regroupant davantage de fonctionnalités gratuites Amélioration de la complétion des commandes dans l'IDE Nouvelles fonctionnalités pour le débogueur Spring Thème Islands devient le thème par défaut Support complet de Spring Boot 4 et Spring Framework 7 Compatibilité avec Java 25 Prise en charge de Spring Data JDBC et Vitest 4 Support natif de Junie et Claude Agent pour l'IA Quota d'IA transparent et option Bring Your Own Key à venir Corrections de stabilité, performance et expérience utilisateur Plein de petits outils en ligne pour le développeur https://blgardner.github.io/prism.tools/ génération de mot de passe, de gradient CSS, de QR code encodage décodage de Base64, JWT formattage de JSON, etc. resumectl - Votre CV en tant que code https://juhnny5.github.io/resumectl/ Un outil en ligne de commande (CLI) écrit en Go pour générer un CV à partir d'un fichier YAML. Permet l'exportation vers plusieurs formats : PDF, HTML, ou un affichage direct dans le terminal. Propose 5 thèmes intégrés (Modern, Classic, Minimal, Elegant, Tech) personnalisables avec des couleurs spécifiques. Fonctionnalité d'initialisation (resumectl init) permettant d'importer automatiquement des données depuis LinkedIn et GitHub (projets les plus étoilés). Supporte l'ajout de photos avec des options de filtre noir et blanc ou de forme (rond/carré). Inclut un mode "serveur" (resumectl serve) pour prévisualiser les modifications en temps réel via un navigateur local. Fonctionne comme un binaire unique sans dépendances externes complexes pour les modèles. mactop - Un moniteur "top" pour Apple Silicon https://github.com/metaspartan/mactop Un outil de surveillance en ligne de commande (TUI) conçu spécifiquement pour les puces Apple Silicon (M1, M2, M3, M4, M5). Permet de suivre en temps réel l'utilisation du CPU (E-cores et P-cores), du GPU et de l'ANE (Neural Engine). Affiche la consommation électrique (wattage) du système, du CPU, du GPU et de la DRAM. Fournit des données sur les températures du SoC, les fréquences du GPU et l'état thermique global. Surveille l'utilisation de la mémoire vive, de la swap, ainsi que l'activité réseau et disque (E/S). Propose 10 mises en page (layouts) différentes et plusieurs thèmes de couleurs personnalisables. Ne nécessite pas l'utilisation de sudo car il s'appuie sur les API natives d'Apple (SMC, IOReport, IOKit). Inclut une liste de processus détaillée (similaire à htop) avec la possibilité de tuer des processus directement depuis l'interface. Offre un mode "headless" pour exporter les métriques au format JSON et un serveur optionnel pour Prometheus. Développé en Go avec des composants en CGO et Objective-C. Adieu direnv, Bonjour misehttps://codeka.io/2025/12/19/adieu-direnv-bonjour-mise/ L'auteur remplace ses outils habituels (direnv, asdf, task, just) par un seul outil polyvalent écrit en Rust : mise. mise propose trois fonctions principales : gestionnaire de paquets (langages et outils), gestionnaire de variables d'environnement et exécuteur de tâches. Contrairement à direnv, il permet de gérer des alias et utilise un fichier de configuration structuré (mise.toml) plutôt que du scripting shell. La configuration est hiérarchique, permettant de surcharger les paramètres selon les répertoires, avec un système de "trust" pour la sécurité. Une "killer-feature" soulignée est la gestion des secrets : mise s'intègre avec age pour chiffrer des secrets (via clés SSH) directement dans le fichier de configuration. L'outil supporte une vaste liste de langages et d'outils via un registre interne et des plugins (compatibilité avec l'écosystème asdf). Il simplifie le workflow de développement en regroupant l'installation des outils et l'automatisation des tâches au sein d'un même fichier. L'auteur conclut sur la puissance, la flexibilité et les excellentes performances de l'outil après quelques heures de test. Claude Code v2.1.0 https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md#210 Rechargement à chaud des "skills" : Les modifications apportées aux compétences dans ~/.claude/skills sont désormais appliquées instantanément sans redémarrer la session. Sous-agents et forks : Support de l'exécution de compétences et de commandes slash dans un contexte de sous-agent forké via context: fork. Réglages linguistiques : Ajout d'un paramètre language pour configurer la langue de réponse par défaut (ex: language: "french"). Améliorations du terminal : Shift+Enter fonctionne désormais nativement dans plusieurs terminaux (iTerm2, WezTerm, Ghostty, Kitty) sans configuration manuelle. Sécurité et correction de bugs : Correction d'une faille où des données sensibles (clés API, tokens OAuth) pouvaient apparaître dans les logs de débogage. Nouvelles commandes slash : Ajout de /teleport et /remote-env pour les abonnés claude.ai afin de gérer des sessions distantes. Mode Plan : Le raccourci /plan permet d'activer le mode plan directement depuis le prompt, et la demande de permission à l'entrée de ce mode a été supprimée. Vim et navigation : Ajout de nombreux mouvements Vim (text objects, répétitions de mouvements f/F/t/T, indentations, etc.). Performance : Optimisation du temps de démarrage et du rendu terminal pour les caractères Unicode/Emoji. Gestion du gitignore : Support du réglage respectGitignore dans settings.json pour contrôler le comportement du sélecteur de fichiers @-mention. Méthodologies 200 déploiements en production par jour, même le vendredi : retours d'expérience https://mcorbin.fr/posts/2025-03-21-deploy-200/ Le déploiement fréquent, y compris le vendredi, est un indicateur de maturité technique et augmente la productivité globale. L'excellence technique est un atout stratégique indispensable pour livrer rapidement des produits de qualité. Une architecture pragmatique orientée services (SOA) facilite les déploiements indépendants et réduit la charge cognitive. L'isolation des services est cruciale : un développeur doit pouvoir tester son service localement sans dépendre de toute l'infrastructure. L'automatisation via Kubernetes et l'approche GitOps avec ArgoCD permettent des déploiements continus et sécurisés. Les feature flags et un système de permissions solide permettent de découpler le déploiement technique de l'activation fonctionnelle pour les utilisateurs. L'autonomie des développeurs est renforcée par des outils en self-service (CLI maison) pour gérer l'infrastructure et diagnostiquer les incidents sans goulot d'étranglement. Une culture d'observabilité intégrée dès la conception permet de détecter et de réagir rapidement aux anomalies en production. Accepter l'échec comme inévitable permet de concevoir des systèmes plus résilients capables de se rétablir automatiquement. "Vibe Coding" vs "Prompt Engineering" : l'IA et le futur du développement logiciel https://www.romenrg.com/blog/2025/12/25/vibe-coding-vs-prompt-engineering-ai-and-the-future-of-software-development/ L'IA est passée du statut d'expérimentation à celui d'infrastructure essentielle pour le développement de logiciels en 2025. L'IA ne remplace pas les ingénieurs, mais agit comme un amplificateur de leurs compétences, de leur jugement et de la qualité de leur réflexion. Distinction entre le "Vibe Coding" (rapide, intuitif, idéal pour les prototypes) et le "Prompt Engineering" (délibéré, contraint, nécessaire pour les systèmes maintenables). L'importance cruciale du contexte ("Context Engineering") : l'IA devient réellement puissante lorsqu'elle est connectée aux systèmes réels (GitHub, Jira, etc.) via des protocoles comme le MCP. Utilisation d'agents spécialisés (écriture de RFC, revue de code, architecture) plutôt que de modèles génériques pour obtenir de meilleurs résultats. Émergence de l'ingénieur "Technical Product Manager" capable d'abattre seul le travail d'une petite équipe grâce à l'IA, à condition de maîtriser les fondamentaux techniques. Le risque majeur : l'IA permet d'aller très vite dans la mauvaise direction si le jugement humain et l'expérience font défaut. Le niveau d'exigence global augmente : les bases techniques solides deviennent plus importantes que jamais pour éviter l'accumulation de dette technique rapide. Une revue de code en solo (Kent Beck) ! https://tidyfirst.substack.com/p/party-of-one-for-code-review?r=64ov3&utm_campaign=post&utm_medium=web&triedRedirect=true La revue de code traditionnelle, héritée des inspections formelles d'IBM, s'essouffle car elle est devenue trop lente et asynchrone par rapport au rythme du développement moderne. Avec l'arrivée de l'IA ("le génie"), la vitesse de production du code dépasse la capacité de relecture humaine, créant un goulot d'étranglement majeur. La revue de code doit évoluer vers deux nouveaux objectifs prioritaires : un "sanity check" pour vérifier que l'IA a bien fait ce qu'on lui demandait, et le contrôle de la dérive structurelle de la base de code. Maintenir une structure saine est crucial non seulement pour les futurs développeurs humains, mais aussi pour que l'IA puisse continuer à comprendre et modifier le code efficacement sans perdre le contexte. Kent Beck expérimente des outils automatisés (comme CodeRabbit) pour obtenir des résumés et des schémas d'architecture afin de garder une conscience globale des changements rapides. Même si les outils automatisés sont utiles, le "Pair Programming" reste irremplaçable pour la richesse des échanges et la pression sociale bénéfique qu'il impose à la réflexion. La revue de code solo n'est pas une fin en soi, mais une adaptation nécessaire lorsque l'on travaille seul avec des outils de génération de code augmentés. Loi, société et organisation Lego lance les Lego Smart Play, avec des Brique, des Smart Tags et des Smart Figurines pour faire de nouvelles constructions interactives avec des Legos https://www.lego.com/fr-fr/smart-play LEGO SMART Play : technologie réactive au jeu des enfants. Trois éléments clés : SMART Brique : Brique LEGO 2x4 "cerveau". Accéléromètre, lumières réactives, détecteur de couleurs, synthétiseur sonore. Réagit aux mouvements (tenir, tourner, taper). SMART Tags : Petites pièces intelligentes. Indiquent à la SMART Brique son rôle (ex: hélicoptère, voiture) et les sons à produire. Activent sons, mini-jeux, missions secrètes. SMART Minifigurines : Activées près d'une SMART Brique. Révèlent des personnalités uniques (sons, humeurs, réactions) via la SMART Brique. Encouragent l'imagination. Fonctionnement : SMART Brique détecte SMART Tags et SMART Minifigurines. Réagit aux mouvements avec lumières et sons dynamiques. Compatibilité : S'assemble avec les briques LEGO classiques. Objectif : Créer des expériences de jeu interactives, uniques et illimitées. Conférences La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs : 14-17 janvier 2026 : SnowCamp 2026 - Grenoble (France) 22 janvier 2026 : DevCon #26 : sécurité / post-quantique / hacking - Paris (France) 28 janvier 2026 : Software Heritage Symposium - Paris (France) 29-31 janvier 2026 : Epitech Summit 2026 - Paris - Paris (France) 2-5 février 2026 : Epitech Summit 2026 - Moulins - Moulins (France) 3 février 2026 : Cloud Native Days France 2026 - Paris (France) 3-4 février 2026 : Epitech Summit 2026 - Lille - Lille (France) 3-4 février 2026 : Epitech Summit 2026 - Mulhouse - Mulhouse (France) 3-4 février 2026 : Epitech Summit 2026 - Nancy - Nancy (France) 3-4 février 2026 : Epitech Summit 2026 - Nantes - Nantes (France) 3-4 février 2026 : Epitech Summit 2026 - Marseille - Marseille (France) 3-4 février 2026 : Epitech Summit 2026 - Rennes - Rennes (France) 3-4 février 2026 : Epitech Summit 2026 - Montpellier - Montpellier (France) 3-4 février 2026 : Epitech Summit 2026 - Strasbourg - Strasbourg (France) 3-4 février 2026 : Epitech Summit 2026 - Toulouse - Toulouse (France) 4-5 février 2026 : Epitech Summit 2026 - Bordeaux - Bordeaux (France) 4-5 février 2026 : Epitech Summit 2026 - Lyon - Lyon (France) 4-6 février 2026 : Epitech Summit 2026 - Nice - Nice (France) 5 février 2026 : Web Days Convention - Aix-en-Provence (France) 12 février 2026 : Strasbourg Craft #1 - Strasbourg (France) 12-13 février 2026 : Touraine Tech #26 - Tours (France) 19 février 2026 : ObservabilityCON on the Road - Paris (France) 6 mars 2026 : WordCamp Nice 2026 - Nice (France) 18-19 mars 2026 : Agile Niort 2026 - Niort (France) 20 mars 2026 : Atlantique Day 2026 - Nantes (France) 26 mars 2026 : Data Days Lille - Lille (France) 26-27 mars 2026 : SymfonyLive Paris 2026 - Paris (France) 26-27 mars 2026 : REACT PARIS - Paris (France) 27-29 mars 2026 : Shift - Nantes (France) 31 mars 2026 : ParisTestConf - Paris (France) 1 avril 2026 : AWS Summit Paris - Paris (France) 2 avril 2026 : Pragma Cannes 2026 - Cannes (France) 9-10 avril 2026 : AndroidMakers by droidcon - Paris (France) 16-17 avril 2026 : MiXiT 2026 - Lyon (France) 22-24 avril 2026 : Devoxx France 2026 - Paris (France) 23-25 avril 2026 : Devoxx Greece - Athens (Greece) 24-25 avril 2026 : Faiseuses du Web 5 - Dinan (France) 6-7 mai 2026 : Devoxx UK 2026 - London (UK) 22 mai 2026 : AFUP Day 2026 Lille - Lille (France) 22 mai 2026 : AFUP Day 2026 Paris - Paris (France) 22 mai 2026 : AFUP Day 2026 Bordeaux - Bordeaux (France) 22 mai 2026 : AFUP Day 2026 Lyon - Lyon (France) 29 mai 2026 : NG Baguette Conf 2026 - Paris (France) 5 juin 2026 : TechReady - Nantes (France) 5 juin 2026 : Fork it! - Rouen - Rouen (France) 6 juin 2026 : Polycloud - Montpellier (France) 11-12 juin 2026 : DevQuest Niort - Niort (France) 11-12 juin 2026 : DevLille 2026 - Lille (France) 12 juin 2026 : Tech F'Est 2026 - Nancy (France) 17-19 juin 2026 : Devoxx Poland - Krakow (Poland) 17-20 juin 2026 : VivaTech - Paris (France) 2 juillet 2026 : Azur Tech Summer 2026 - Valbonne (France) 2-3 juillet 2026 : Sunny Tech - Montpellier (France) 3 juillet 2026 : Agile Lyon 2026 - Lyon (France) 2 août 2026 : 4th Tech Summit on Artificial Intelligence & Robotics - Paris (France) 4 septembre 2026 : JUG Summer Camp 2026 - La Rochelle (France) 17-18 septembre 2026 : API Platform Conference 2026 - Lille (France) 24 septembre 2026 : PlatformCon Live Day Paris 2026 - Paris (France) 1 octobre 2026 : WAX 2026 - Marseille (France) 1-2 octobre 2026 : Volcamp - Clermont-Ferrand (France) 5-9 octobre 2026 : Devoxx Belgium - Antwerp (Belgium) Nous contacter Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs Contactez-nous via X/twitter https://twitter.com/lescastcodeurs ou Bluesky https://bsky.app/profile/lescastcodeurs.com Faire un crowdcast ou une crowdquestion Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/
ThousandEyes (https://www.thousandeyes.com/) Murtaza on LinkedIn (https://www.linkedin.com/in/mdoctor/) Internet Outages Map (https://www.thousandeyes.com/outages/) ThousandEyesJob Openings (https://careers.cisco.com/global/en/thousandeyes) Mike on LinkedIn (https://www.linkedin.com/in/dominucco/) Coder Radio on Discord (https://discord.gg/WnumdsfhYB) Alice (https://alice.dev/looking-glass/) Mike's 2026 Predictions Post (https://dominickm.com/set-a-course-for-2026/) Alice Jumpstart Offer (https://go.alice.dev/alice-azure-blob-to-snowflake-js)
Episode 61 turns the Midjourney Fast Hours mic over to the audience.Drew Brucker and Rory Flynn go fully live for an AMA that exposes where visual AI actually stands right now. Not the hype decks, but the messy, useful, (occasionally) frustrating truth.They break down what Midjourney v8 really signals, why the long-awaited edit model has become table stakes, and how Nano Banana Pro quietly changed everyone's workflow whether they admit it or not. They debate node-based canvases like Weavy and FreePik Spaces, talk through Kling vs Veo 3 vs Runway for motion, and unpack why so many tools feel powerful yet exhausting at the same time.Along the way, they tackle...creative paralysisnegative promptingresolution mythsvideo realismpricing chaostool fatigueand the uncomfortable reality that AI creativity is now limited more by decision-making than by capability.It's candid and opinionated. And it's exactly the conversation most AI creatives are already having in their heads.If you're using Midjourney, Nano Banana Pro, Weavy, Kling, Veo 3, or just trying to stay sane in the visual AI arms race, this episode is required listening.--⏱️ Midjourney Fast Hour(s)00:00 – We're live, welcome to Episode 6102:45 – What this AMA will really focus on04:14 – From LinkedIn Lives to a full podcast05:34 – Midjourney V8 expectations vs reality08:05 – MJ vs Nano Banana Pro workflows10:15 – Resolution, text, and why pixels matter13:26 – Seadream 4 vs 4.5 honest reactions15:15 – Runway 4.5 and the Nvidia signal17:59 – Grok as a sleeper visual AI platform19:42 – Is Midjourney falling behind?22:29 – Edit models as non-negotiable24:04 – Node-based tools and FreePik Spaces28:07 – Camera control and multi-angle tools31:27 – Tool overload and UX fatigue36:43 – Creative paralysis and decision overload41:33 – Gating content, growth tactics, and trust44:44 – X vs LinkedIn for AI discovery49:11 – Are LoRAs still relevant?54:40 – FreePik Variations first impressions56:08 – How much creators actually spend monthly01:02:49 – 3D workflows and what's coming next01:10:10 – Strategy vs experimentation for teams01:15:03 – Transitioning from image to video01:20:21 – Motion capture, Kling, Veo 301:22:21 – Has AI killed the creative muse?01:28:13 – Was learning to prompt a waste of time?01:31:56 – Dance realism and motion problems01:34:21 – Where creative AI goes next01:36:00 – Biggest breakthroughs of 202501:39:11 – Negative prompting and visual defaults01:46:21 – Final thoughts and what's next
This week Saturday Mornings Show” host Glenn van Zutphen and co-host Neil Humphreys are joined in studio by Lim Jia Hui, Senior Manager for Planning & Development at the National Library Board, to explore a heart-warming new initiative bringing books closer to everyday life. In partnership with seven malls and social enterprises, NLB has launched Sit‑n‑Read Nodes—cozy, self‑service reading spaces offering more than 3,000 pre‑loved books for adults and children across Singapore. Located at AMK Hub, Margaret Market, SAFRA Punggol, SAFRA Yishun, The Centrepoint, The Star Vista, and The Caffeine Experience at URA Centre, each Node features about 400 rotating titles spanning fiction, non‑fiction, and multilingual selections in Chinese, Malay, and Tamil. Visitors can simply pick up a book, read on the spot, or take it home—no borrowing required. They’re encouraged to return the books so others can enjoy them too. Many Nodes also offer eReads screens and MagNode displays, allowing patrons to access eBooks, eMagazines, and eNewspapers instantly via QR codes. With repurposed furnishings and inviting corners, these Nodes embody NLB’s LAB vision to weave reading into everyday spaces.See omnystudio.com/listener for privacy information.
Introducing Rob Ruiz Meet Rob Ruiz, a seasoned Senior Full Stack Developer with nearly two decades of expertise in WordPress innovation and open-source magic. As the Lead Maintainer of WP Rig since 2020, Rob has been the driving force behind this groundbreaking open-source framework that empowers developers to craft high-performance, accessible, and progressively enhanced WordPress themes with ease. WP Rig isn’t just a starter theme—it’s a turbocharged toolkit that bundles modern build processes, linting, optimization, and testing to deliver lightning-fast, standards-compliant sites that shine on any device. Show Notes For more on Rob and WP Rig, check out these links: LinkedIn Profile: https://www.linkedin.com/in/robcruiz WP Rig Official Site: https://wprig.io GitHub Repository: https://github.com/wprig/wprig Latest Releases: https://github.com/wprig/wprig/releases WP Rig 3.1 Announcement: https://wprig.io/wp-rig-3-1/ Transcript: Topher DeRosia: Hey everybody. Welcome to Hallway Chats. I’m your host Topher DeRosia, and with me today I have- Rob Ruiz: Rob Ruiz. Topher: Rob. You and I have talked a couple of times, once recently, and I learned about a project you’re working on, but not a whole lot about you. Where do you live? What do you do for a living? Rob: Yeah, for sure. Good question. Although I’m originally from Orlando, Florida, I’ve been living in Omaha, Nebraska for a couple of decades now. So I’m pretty much a native. I know a lot of people around here and I’ve been fairly involved in various local communities over the years. I’m a web developer. Started off as a graphic designer kind of out of college, and then got interested in web stuff. And so as a graphic designer turned future web developer, I guess, I was very interested in content management systems because it made the creating and managing of websites very, very easy. My first couple of sites were Flash websites, sites with macro media Flash. Then once I found content management systems, I was like, “Wow, this is way easier than coding the whole thing from scratch with Flash.” And then all the other obvious benefits that come from that. So I originally started with Joomla, interestingly enough, and used Joomla for about two or three years, then found WordPress and never looked back. And so I’ve been using WordPress ever since. As the years have gone on, WordPress has enabled me to slowly transition from a more kind of web designer, I guess, to a very full-blown web developer and software engineer, and even software architect to some degree. So here we are many years later. Topher: There’s a big step from designer to developer. How did that go for you? I’m assuming you went to PHP. Although if you were doing Flash sites, you probably learned ActionScript. Rob: Yeah. Yeah. That was very convenient when I started learning JavaScript. It made it very easy to learn JavaScript faster because I already had a familiarity with ActionScript. So there’s a lot of similarities there. But yeah. Even before I started doing PHP, I started learning more HTML and CSS. I did do a couple of static websites between there that were just like no content management system at all. So I was able to kind of sharpen my sword there with the CSS and HTML, which wasn’t particularly hard. But yeah, definitely, the PHP… that was a big step was PHP because it’s a proper logical programming language. There was a lot there I needed to unpack, and so it took me a while. I had to stick to it and really rinse and repeat before I finally got my feet under me. Topher: I can imagine. All right. So then you work for yourself or you freelance or do you have a real job, as it were? Rob: Currently, I do have a real job. Currently, I’m working at a company called Bold Orange out of Minneapolis. They’re a web agency. But I kind of bounce around from a lot of different jobs. And then, yes, I do freelance on the side, and I also develop my own products as well for myself and my company. Topher: Cool. Bold Orange sounds familiar. Who owns that? Rob: To be honest, I don’t know who the owners are. It’s just a pretty big web agency out of Minneapolis. They are a big company. You could just look them up at boldorange.com. They work for some pretty big companies. Topher: Cool. All right. You and I talked last about WP Rig. Give me a little background on where that came from and how you got it. Rob: Yeah, for sure. Well, there was a period of time where I was working at a company called Proxy Bid that is in the auction industry, and they had a product or a service — I don’t know how you want to look at that —called Auction Services. That product is basically just building WordPress sites for auction companies. They tasked us with a way to kind of standardize those websites essentially. And what we realized is that picking a different theme for every single site made things difficult to manage and increase tech debt by a lot. So what we were tasked with was, okay, if we’re going to build our own theme that we’re just going to make highly dynamic so we can make it look different from site to site. So we want to build it, but we want to build it smart and we want to make it reusable and maintainable. So let’s find a good framework to build this on so that we can maintain coding standards and end up with as little tech debt as possible, essentially. That’s when I first discovered WP Rig. In my research, I came across it and others. We came across Roots Sage and some of the other big names, I guess. It was actually a team exercise. We all went out and looked for different ones and studied different ones and mine that I found was WP Rig. And I was extremely interested in that one over the other ones. Interestingly enough- Topher: Can you tell me why over the other ones? Rob: That’s a great question. Yeah. I really liked the design patterns. I really liked the focus on WordPress coding standards. So having a system built in that checked all the code against WordPress coding standards was cool. I loved the compiling transpiling, whatever, for CSS and JavaScript kind of built in. That sounded really, really interesting. The fact that there was PHP unit testing built into it. So there’s like a starter testing framework built in that’s easy to extend so that you can add additional unit tests as your theme grows. We really wanted to make sure… because we were very into CICD pipelines. So we wanted to make sure that as developers were adding or contributing to any themes that we built with this, that we could have automated tests run and automated builds run, and just automate as much as possible. So WP rig just seemed like something that gave us those capabilities right out of the box. So that was a big thing. And I loved the way that they did it. Roots Sage does something similar, but they use their blade templating engine built in there. We really wanted to stick to something that was a bit more standard WordPress so that there wasn’t like a large knowledge overhead so that we didn’t have to say like, okay, if we’re bringing on other developers, like junior developers work on it, oh, it would be nice if you use Laravel too because we use this templating engine in all of our themes. We didn’t want to have to worry about that essentially. It was all object-oriented and all that stuff too. That’s what looked interesting to me. We ended up building a theme with WP Rig. I don’t know what they ended up doing with it after that, because I ended up getting let go shortly thereafter because the company had recently been acquired. Also, this was right after COVID too. So there was just a lot of moving parts and changing things at the time. So I ended up getting let go. But literally a week after I got let go, I came across a post on WP Tavern about how this framework was looking for new maintainers. Basically, this was a call put out by Morton, the original author of WP Rig. He reached out to WP Tavern and said, “Look, we’re not interested in maintaining this thing anymore, but it’s pretty cool. We like what we’ve built. And so we’re looking for other people to come in and adopt it essentially.” So I joined a Zoom meeting with a handful of other individuals that were also interested in this whole endeavor, and Morton reached out to me after the call and basically just said, “I looked you up. I liked some of the input that you had during the meeting. Let’s talk a little bit more.” And then that eventually led to conversations about me essentially taking the whole project over entirely. So, the branding, the hosting of the website, being lead maintainer on the project. Basically, gave me the keys to the kingdom in terms of GitHub and everything. So that’s how it ended up going in terms of the handoff between Morton and I. And I’m very grateful to him. They really created something super cool and I was honored to take it over and kind of, I don’t know, keep it going, I guess. Topher: I would be really curious. I don’t think either of us have the answer. I’d be curious to know how similar that path is to other project handoffs. It’s different from like an acquisition. You didn’t buy a plugin from somebody. It was kind of like vibes, I guess. Rob: It was like vibes. It was very vibey. I guess that’s probably the case in an open source situation. It’s very much an open source project. It’s a community-driven thing. It’s for everybody by everybody. I don’t know if all open source community projects roll like that, but that’s how this one worked out. There was some amount of ownership on Morton’s behalf. He did hire somebody to do the branding for WP Rig and the logo. And then obviously he was paying for stuff like the WPrig.io domain and the hosting through SiteGround and so on and so forth. So, we did have to transfer some of that and I’ve taken over those, I guess, financial burdens, if you want to think of it like that. But I’m totally okay with it. Topher: All right. You sort of mentioned some of the things Rig does, compiling and all that kind of stuff. Can you tell me… we didn’t discuss this before. I’m sitting at my desk and I think I want a website. How long does it take to go from that to looking at WordPress and logging into the admin with Rig? Rob: Okay. Rig is not an environment management system like local- Topher: I’m realizing my mistake. Somebody sends me a design in Figma. How long does it take me to go from that to, I’m not going to say complete because I mean, that’s CSS, but you know, how long does it take me to get to the point where I’m looking at a theme that is mine for the client that I’m going to start converting? Rob: Well, if you’re just looking for a starting point, if you’re just like, okay, how long does it take to get to like, okay, here’s my blank slate and I’m ready to start adopting all of these rules that are set up in Figma or whatever, I mean, you’re looking at maybe 5 minutes, 10 minutes, something like that. It’s pretty automated. You just need some simple knowledge of Git. And then there are some prerequisites to using WP Rig. You do have to have composer installed because we do leverage some Composer packages to some of it, although to be honest, you could probably get away with not using Composer. You just have to be okay with sacrificing some of the tools the WP Rig assumes you’re going to have. And then obviously Node. You have to have Node installed. A lot of our documentation assumes that you have NPM, that you’re using NPM for all your Nodes or your package management. But we did recently introduce support for Bun. And so you can use Bun instead of NPM, which is actually a lot faster and better in many ways. Topher: Okay. A lot of my audience are not developers, users, or light developers, like they’ll download a theme, hack a template, whatever. Is this for them? Am I boring those people right now? Rob: That’s a great question. I mean, and I think this is an interesting dichotomy and paradigm in the WordPress ecosystem, because you’ve got kind of this great divide. At least this is something I’ve noticed in my years in the WordPress community is you have many people that are not coders or developers that are very interested in expanding their knowledge of WordPress, but it’s strictly from a more of a marketing perspective where it’s like, I just want to know how to build websites with WordPress and how to use it to achieve my goals online from a marketing standpoint. You have that group of people, and then you have this other group of people that are very developer centric that want to know how to extend WordPress and how to empower those other people that we just discussed. Right? Topher: Right. Rob: So, yeah, that’s a very good question. I would say that WP Rig is very much designed for the developers, not for the marketers. The assumption there is that you’re going to be doing some amount of coding. Now, can you get away with doing a very light amount of coding? Yes. Yes, you can. I mean, if you compare what you’re going to get out of that assumed workflow to something that you would get off like Theme Forest or whatever, it’s going to be a night and day difference because those theme, Forest Themes, have hours, hundreds, sometimes hundreds of hours of development put into them. So, you’re not going to just out of the box immediately get something that is comparable to that. Topher: You need to put in those hundreds of hours of development to make a theme. Rob: As of today, yes. That may change soon though. Topher: Watch this space. Rob: That’s all I’ll say. Topher: Okay. So now we know who it’s for. I’m assuming there’s a website for it. What is it? Rob: Yeah. If you go to WPrig.io, we have a homepage that shows you all the features that are there in WP Rig. And then there’s a whole documentation area that helps people get up and running with WP Rig because there is a small learning curve there that’s pretty palatable for anybody who’s familiar with modern development workflows. So that is a thing. So the type of person that this is designed for anybody that wants to make a theme for anything. Let’s say you’re a big agency and you pull in a big client and that client wants something extremely custom and they come to you with Figma designs. Sure, you could go out there and find some premium theme and try to like child theme and overhaul that if you want. But in many situations, I would say in most situations, if you’re working from a Figma design that’s not based off of another theme already that’s just kind of somebody else’s brainchild, then you’re probably going to want to start from scratch. And so the idea here is that this is something to replace an approach, like underscores an approach. Actually, WP Pig was based off of underscores. The whole concept of it, as Morton explained it to me, was that he wanted to build an underscores that was more modern and full-featured from a development standpoint. Topher: Does it have any opinions about Gutenberg? Rob: It does now, but it did not when I took it over because Gutenberg did not exist yet when I took over WP Rig. Topher: Okay. What are its opinions? Rob: Yeah, sure. The opinion right out of the gate is that you can use Gutenberg as an editor and it has support like CSS rules in it for the standard blocks. So you should be able to use regular Gutenberg blocks in your theme and they should look just fine. There’s no resets in there. It doesn’t start from scratch. There’s not a bunch of styling you have to do for the blocks necessarily. Now, if you go to the full site editing or block-based mentality here, there are some things you need to do in WP Rig to convert the out-of-the-box WP Rig into another paradigm essentially. Right when you pull WP Rig, the assumption is you’re building what most people would refer to as a hybrid theme. The theme supports API or whatever, and the assumption is that you’re not going to be using the site editor. You’re just going to kind of do traditional WordPress, but you might be using Gutenberg for your content. So you’re just using Gutenberg kind of to author your pages and your posts and stuff like that, but not necessarily the whole site. WP Rig has the ability to kind of transform itself into other paradigms. So the first paradigm we built out was the universal theme approach. And the idea there is that you get a combination of the full site editing capabilities. But then you also have the traditional menu manager and the settings customizer framework or whatever is still there, right? These are things that don’t exist in a standard block-based theme. So I guess an easy example would be like the 2025 WordPress theme that comes right out of the box. It comes installed in WordPress. That is a true block-based theme, not a universal theme. So it doesn’t have those features because the assumption there is that it doesn’t need those features. You can kind of transform WP Rig into a universal theme that’s kind of a hybrid between a block-based and a classic theme. And then it can also transform into a strictly block-based theme as well. So following the same architecture as like the WordPress 2025 theme or Ollie or something like that is also a true block-based theme as well. So you can easily convert or transform the starting point of WP Rig into either of those paradigms if that’s the type of theme you’re setting out to build. Topher: Okay. That sounds super flexible. How much work is it to do that? Rob: It’s like one command line. Previously we had some tutorials on the website that showed you step-by-step, like what you needed to change about the theme to do that. You would have to add some files, delete some files, edit some code, add some theme supports into the base support class and some other stuff. I have recently, as of like a year and a half ago or a year ago, created a command line or a command that you can type into the command line that basically does that entire conversion process for you in like the blink of an eye. It takes probably a second to a second and a half to perform those changes to the code and then you’re good to go. It is best to do that conversion before you start building out your whole theme. It’s not impossible to do it after. But you’re more likely to run into problems or conflicts if you’ve already set out building your whole theme under one paradigm, and then you decide how the project you want to switch over to block-based or whatever. You’re likely to run into the need to refactor a bunch of stuff in that situation. So it is ideal to make that choice extremely early on in the process of developing your theme. But either way it’ll still work. That’s just one of the many tools that exist in WP Rig to transform it or convert it in several ways. That’s just one example. There are other examples of ways that Rig kind of converts itself to other paradigms as well. Topher: Yeah. All right. In my development life, I’ve had two parts to it. And one is the weekend hobbyist, or I download cadence and I whip something up in 20 minutes because I just want to experiment and the other is agency life where everything’s in Git, things are compiled, there are versions, blah, blah, blah. This sounds very friendly to that more professional pathway. Rob: Absolutely. Yes. Or, I mean, there’s another situation here too. If you’re a company who develops themes and publishes them to a platform like ThemeForest or any other platform, perhaps you’re selling themes on your own website, whatever, if you’re making things for sale, there’s no reason you couldn’t use WP Rig to build your themes. We have a bundle process that bundles your theme for publication or publishing. Whether you’re an agency or whether you’re putting your theme out for sale, it doesn’t matter, during that bundle process, it does actually white label the entire code base to where there’s no mention of WP Rig in the code whatsoever. Let’s say you were to build a theme that you wanted to put up for sale because you have some cool ideas. Say, page transitions now are completely supported in all modern or in most modern browsers. And when I say print page transitions, for those that are in the know, I am talking about not single page app page transitions, but through website page transitions. You can now do that. Let’s say you were like, “Hey, I’m feeling ambitious and I want to put out some new theme that comes with these page transitions built in,” and that’s going to be fancy on ThemeForest when people look at my demo, people might want to buy that. You could totally use WP Rig to build that out into a theme and the bundle process will white label all of the code. And then when people buy your theme and download that code, if they’re starting to go through and look through your code, they’re not going to have any way of knowing that it was built with WP Rig unless they’re familiar with the base WP Rig architecture, like how it does its object-oriented programming. It might be familiar with the patterns that it’s using and be able to kind of discern like, okay, well, this is the same pattern WP Rig uses, so high likelihood it was built with WP Rig. But they’re not going to be able to know by reading through the code. It’s not going to say WP Rig everywhere. It’s going to have the theme all over the place in the code. Topher: Okay. So then is that still WP Rig code? It just changed its labels? Rob: Yeah. Topher: So, it’s not like you’re exporting HTML, CSS and JavaScript? The underlying Rig framework is still there. Rob: Yeah. During the bundle process, it is bundling CSS and HTML. Well, HTML in the case of a block-based theme. But, yeah, it is bundling your PHP, your CSS, your JavaScript into the theme that you’re going to let people download when they buy it, or that you’re going to ship to your whatever client’s website. But all that code is going to be transpiled. In the case of CSS and JavaScript, there’s only going to be minified versions of that code in that theme. The source code is not actually going to be in there. Topher: This sounds pretty cool. You mentioned some stuff might be coming. You don’t have to tell me what it is, but do you have a timeline? When should we be watching for the next cool thing from Rig? Rob: Okay, cool. Well, I’m going to keep iterating on Rig forever. Regardless of any future products that might be built on WP Rig, WP Rig will always and forever remain an open source product for anybody to use for free and we, I, and possibly others in the future will continue to update it and support it over time. We just recently put out 3.1. You could expect the 3.2 anytime in the next six months to a year, probably closer to six months. One feature I’m looking at particularly closely right now is the new stuff coming out in version 6.9 of WordPress around the various APIs that are there. I think one of them is called the form… There’s a field API and a form API or view API or something like that. So WP Rig comes with a React-based settings framework in it. So if you want your theme to have a bunch of settings in it to make it flexible for whoever buys your theme, you can use this settings framework to easily create a bunch of fields, and then that framework will automatically manage all your fields and store all the data from those fields and make it easy to retrieve the values of the input on those fields, without knowing any React at all. Now, if you know React, you can go in there and, you know, embellish what’s already there, but it takes a JSON approach. So if you just understand JSON, you can go in and change the JSON for the framework, and that will automatically add fields into the settings framework. So you don’t even have to know React to extend the settings page if you want. That will likely get an overhaul using these new APIs being introduced into Rig. Topher: All right. How often have you run into something where, “Oh, look, WordPress has a new feature, I need to rebuild my system”? Rob: Over the last four or five years, it’s happened a lot because, yeah, I mean, like I said, when I first took this thing over, Gutenberg had not even been introduced yet. So, you had the introduction of Gutenberg and blocks. That was one thing. Then this whole full site editing became a thing, which later became the site editor. So that became a whole thing. Then all these various APIs. I mean, it happens quite frequently. So I’ve been working to keep it modern and up to date over the past four years and it’s been an incredible learning experience. It not only keeps my WordPress knowledge extremely sharp, but I’ve also learned how various other toolkits are built. That’s been the interesting thing. From a development standpoint, there’s two challenges here. One of the challenges is staying modern on the WordPress side of things. For instance, WordPress coding standards came out with a version 3 and then a version 3.1 about two years ago. I had to update WP Rig to leverage those modern coding standards. So that’s one example is as WordPress changes, the code in WP Rig also needs to change. Or for instance, if new CSS standards change, right, new CSS properties come out, it is ideal for the base CSS in WP Rig, meaning the CSS that you get right out of the box with it, comes with some of these, for instance, CSS grid, Flexbox, stuff like that. If I was adopting a theme framework to build a theme on, I would expect some of that stuff to be in there. And those things were extremely new when I first took over WP Rig and were not all baked in there essentially. So I’ve had to add a lot of that over time. Now there’s another side to this, which is not just keeping up with WordPress and CSS and PHP, 8. whatever, yada yada yada. You’ve also got the toolkit. There are various node packages and composer packages of power WP Rig and the process in which it does the transpiling, the bundling, the automated manipulation of your code during various aspects of the usage of WP Rig is a whole nother set of challenges because now you have to learn concepts like, well, how do I write custom node scripts? Right? Like there were no WP CLI commands built into WP Rig when I first took it over. Now there’s a whole list. There’s a whole library of WP CLI commands that come in Rig right out of the gate. And so I’ve had to learn about that. So just various things that come with knowing how do you automate the process of converting code, that’s something that was completely foreign to me when I first took over WP Rig. That’s been another incredible learning experience is understanding like what’s the difference between Webpack and Gulp. I didn’t know, right? I would tell people I’m using Gulp and WP Rig and they would be like, “Well, why don’t you just use Webpack?” and I would say, “I don’t know. I don’t know what the difference is.” So over time I could figure out what are the differences? Why aren’t we using Webpack? And I’m glad I spent some time on that because it turns out Webpack is not the hottest thing anymore, so I just skipped right over all that. When I overhauled for version 3, we’re now not using Gulp anymore as of 3.1. We’re now using more of a Vite-like process, far more modern than Webpack and far better and faster and sleeker and lighter. I had to learn a bunch about what powers Vite. What is Vite doing under the hood that we might be able to also do in WP Rig, but do it in a WordPress way. Because Vite is a SaaS tool. If you’re building a SaaS, like React with a… we’re not a SaaS. I guess a spa is a better term to use here. If you’re building a single page application with React or view or belt or whatever, right, then knowing what Vite is and just using Vite right out of the box is perfect. But it doesn’t translate perfectly to WordPress land because WordPress has its own opinions. And so I did have to do some dissecting there and figure out what to keep and what to not keep to what to kind of set aside so that WordPress can keep doing what WordPress does the way WordPress likes to do it, but also improve on how we’re doing some of the compiling and transpiling and the manipulation of the code during these various. Topher: All right. I want to pivot a little bit to some personal-ish questions. Rob: Okay. Topher: This is a big project. I’m sure it takes up plenty of your time. How scalable is that in your life? Do you want to do this for the rest of your life? Rob: That’s a fantastic question. I don’t know about the rest of my life. I mean, I definitely want to do web development for the rest of my life because the web has, let’s be honest, it’s transformed everyone’s way of life, whether you’re a web developer or not. You know, the fact that we have the internet in our pocket now, you know, it has changed everything. Apps, everything. It’s all built on the web. So I certainly want to be involved in the web the rest of my life. Do I want to keep doing WordPress the rest of my life? I don’t know. Do I want to keep doing WP Rig the rest of my life? I don’t know. But I will say that you bring up a very interesting point, which is it does take up a lot of time and also trust in open source over the past four or five years I would argue has diminished a little bit as a result of various events that have occurred over the past two or three years. I mean, we could cite the whole WP Engine Matt Mullerwig thing. We can also cite what’s going on with Oracle and JavaScript. Well, I mean, there’s many examples of this. I mean, we can cite the whole thing that happened… I mean, there’s various packages out there that are used and developed and open source to anybody, and some of them are going on maintained and it’s causing security vulnerabilities and degradation and all this stuff. So it’s a very important point. One thing I started thinking about after considering that in relation to WP Rig was I noticed that there’s usually a for-profit arm of any of these frameworks that seems to extend the lifespan of it. Let’s just talk about React, for example, React is an open source JavaScript framework, but it’s used by Facebook and Facebook is extremely for-profit. So companies that are making infrastructural or architectural decisions, they will base their choice on whether or not to use a framework largely on how long they think this framework is going to remain relevant or valid or maintained, right? A large part of that is, well, is there a company making money off of this thing? Because if there is, the chances- Topher: They’re going to keep doing that. Rob: They’re going to keep doing it. It’s going to stay around. That’s good. I think that’s healthy. A lot of people that like open source and want everything to be free, they might look at something like that and say like, well, I don’t want you to make a paid version of it or there shouldn’t be a pro version. I think that’s a very short-sighted way of looking at that software and these innovations. I think a more experienced way of looking at it is if you want something to remain relevant and maintained for a long period of time, having a for-profit way in which it’s leveraged is a very good thing. I mean, let’s be real. Would WordPress still be what it is today if there wasn’t a wordpress.com or if WooCommerce wasn’t owned by Automattic or whatever, right? They’ll be on top. I mean, it’s obviously impossible to say, but my argument would be, probably not. I mean, look at what’s happened to the other content management systems out there. You know, Joomla Drupal. They don’t really have a flourishing, you know, paid pro service that goes with their thing that’s very popular, at least definitely not as popular as WordPress.com or WordPress VIP or some of these other things that exist out there. And so having something that’s making and generating money that can then contribute back into it the way Automattic has been doing with WordPress over these years has, in my opinion, been instrumental. I mean, people can talk smack about Gutenberg all they want, but let’s be real, it’s 2025, would you still feel that WordPress is an elegant solution if we were still working from the WYSIWYG and using the classic editor? And I know a lot of people are still using the classic editor and there’s classic for us, the fork and all that stuff. But I mean, that only makes sense in a very specific implementation of WordPress, a very specific paradigm. If you want to explore any of these other paradigms out there, that way of thinking about WordPress kind of falls apart pretty quickly. I, for one, am happy that Gutenberg exists. I’m very happy that Automattic continues. And I’m grateful, actually, that Automattic continues to contribute back into WordPress. And not just them, obviously there’s other companies, XWP, 10Up, all these other companies are also contributing as well. But I’m very grateful that this ecosystem exists and that there’s contribution going back in and it’s happening from companies that are making money with this. And I think that’s vital. All that to say that WP Rig may and likely will have paid products in the future that leverage WP Rig. So that’s not to say that WP Rig will eventually cost money. That’s just to say that eventually people can expect other products to come out in the future that will be built on WP Rig and incentivize the continued contributions back into WP Rig. The open source version of WP Rig. Topher: That’s cool. I think that’s wise. If you want anything to stay alive, you have to feed it. Rob: That’s right. Topher: I had some more questions but I had forgotten them because I got caught up in your answer. Rob: Oh, thank you. I’ll take that as a compliment. I mean, my answer was eloquent. But I’m happy to expand on anything, know you, WordPress related, me related, you know, whether it comes to the ecosystem in WordPress, the whole WordCamp meetup thing is very interesting. I led the WP Omaha meetup for many years here in Omaha, Nebraska and I also led the WordCamp, the organizing of WordCamp here in Omaha for several years as well. That whole community, the whole ecosystem, at least in America seems to have largely fallen apart. I don’t know if you want to talk about that at all. But yeah, I’m ready to dive into any topics. Topher: I’m going to have one more question and then we’re going to wrap up. And it was that you were talking about all the things you had to learn. I’m sure there were nights where you were looking at your computer thinking, “Oh man, I had it working, now I gotta go learn a new thing.” I would love for you to go back in time and blog all of that if you would. But given that you can’t, I would be interested in a blog moving forward, documenting what you’re learning, how you’re learning it and starting maybe with a post that’s summarizes all of that. Obviously, that’s up to you and how you want to spend your time, but I think it’d be really valuable to other people starting a project, picking up somebody else’s project to see what the roadmap might look like. You know what I mean? Rob: For sure. Well, I can briefly summarize what I’ve learned over the years and where I’m at today with how I do this kind of stuff. I will say that a lot of the improvements to WP Rig that have happened over the last year or two would not be possible without the advent of AI. Topher: Interesting. Rob: That’s a fancy way of saying that I have been by coding a lot of WP Rig lately. If you know how to use AI, it is extremely powerful and it can help you do many things very quickly that previously would have taken much longer or more manpower. So, yeah, perhaps if there was like five, six, seven people actively, excuse me, actively contributing to WP Rig, then this type of stuff would have been possible previously, but that’s not the case. There is one person, well, one main contributor to WP Rig today and you’re talking to them. There are a handful of other people that have been likely contributing to WP Rig over the versions and you can find their contributions in the change log file in WP Rig. But those contributions have been extremely light compared to what I’ve been doing. I wouldn’t be able to do any of it without AI. I have learned my ability to learn things extremely rapidly has ramped up tenfold since I started learning how to properly leverage LLMs and AI. So that’s not to say that like, you know, WP Rig, all the code is just being completely written by AI and I’m just like. make it better, enter, and then like WP Rig is better. I wish it was that easy. It’s certainly not that. But when I needed to start asking some of these vital questions that I really didn’t have anyone to turn to to help answer them, I was able to turn to AI. For instance, let’s go back to the Webpack versus Gulp situation. Although Gulp is no longer used in WP Rig, you know, it was used in WP Rig until very recently. So I had to understand like, what is this system, how does it work, how do I extend it and how do I update it and all these things, right? And why aren’t we using WebPack and you know, is there validity to this criticism behind you should use webpack instead of Gulp or whatever, right? I was able to use AI to ask these questions and be able to get extremely good answers out of it and give me the direction I needed to make some of these kind of higher level decisions on like architecturally where should WP Rig go? It was through these virtual conversations with LLMs that I was able to refine the direction of WP Rig in a direction that is both modern and forward-thinking and architecturally sound. I learned a tremendous amount from AI about the architecture, about the code, about all of it. My advice to anybody that wants to extend their skill set a little bit in the development side of things is to leverage this new thing that we have in a way that is as productive as possible for you. So that’s going to vary from person to person. But for me, if I’m on a flight or if I’m stuck somewhere for a while, like, let’s say I got to take my kid to practice or something and I’m stuck there for an hour and I got to find some way to kill my time 9 times out of 10, I’m on my laptop or on my phone having conversations with Grok or ChatGPT or Gemini or whatever. I am literally refining… I’m just sitting there asking it questions that are on my mind that I wish I could ask somebody who’s like 10 times more capable than me. It has been instrumental. WP Rig wouldn’t be where it is today if it wasn’t for that. I would just say to anybody, especially now that it’s all on apps and you don’t have to be on a browser anymore, adopt that way of thinking. You know, if you’re on your lunch break or whatever and you have an hour lunch break and you only take 15 minutes to eat, what could you be doing with those other 45 minutes? You could just jump on this magical thing that we have now and start probing it for questions. Like, Hey, here’s what I know. Here’s what I don’t know. Fill these knowledge gaps for me.” And it is extremely good at doing that. Topher: So my question was, can you blog this and your answer told me that there’s more there that I want to hear. That’s the stuff that should be in your book when you write your book. Rob: I’m flattered that you would be interested in reading anything that I write. So thank you. I’ve written stuff in the past and it hasn’t gotten a lot of attention. But I also don’t have any platforms to market it either. But yeah, no, I made some… I’m sorry. Topher: I think your experience is valuable far beyond Rig or WordPress. If you abstract it out of a particular project to say, you know, I did this with a project, I learned this this way, I think that would be super valuable. Rob: Well, I will say that recently at my current job, I was challenged to create an end to end testing framework with Playwright that would speed up how long it takes to test things and also prevent, you know, to make things fail earlier, essentially, to prevent broken things from ending up in the wild, right, and having to catch them the hard way. I didn’t know a lot about Playwright, but I do know how toolkits work now because of WP Rig. And I was able to successfully in a matter of, I don’t know, three days, put together a starter kit for a test framework that we’re already using at work to test any website that we create for any client. It can be extended and it can be hooked into any CI CD pipeline and it generates reports for you and it does a whole bunch of stuff. I was able to do this relatively quickly. This knowledge, yes, does come in handy in other situations. Will I end up developing other toolkits like WP Rig in the future for other things? I guess if I can give any advice to anybody listening out there, another piece of advice I would give people is, you know, especially if you’re a junior developer and you’re still learning or whatever, or you’re just a marketing person and just want to have more control over the functionality side of what you’re creating or more insight into that so you could better, you know, manage projects or whatever. My advice would be to take on a small little project that is scoped relatively small that’s not too much for you to chew and go build something and do it with… Just doing that will be good. But if you can do it with the intent to then present it in some fashion, whether it be a blog article or creating a YouTube video or going to a meetup and giving a talk on it or even a lunch and learn at work or whatever, right, that will, in my experience, it will dramatically amplify how much you learn from that little pet project that’s kind of like a mini learning experience. And I highly encourage anybody out there to do that on the regular. Actually, no matter what your experience level is in development, I think you should do these things on a regular basis. Topher: All right. I’m going to wrap this up. I got to get back to work. You probably have to get back to work. Rob: Yeah. Topher: Thanks for talking. Rob: Thanks for having me, Topher. Really appreciate it. Topher: Where could people find you? WPrig.io? Rob: Yeah, WPrig.io. WP rig has accounts on all of the major platforms and, even on Bluesky and Mastodon. You can look me up, Rob Ruiz. You can find me on LinkedIn. You can find me on all of those same platforms as well. You can add me on Facebook if you want, whatever. And I’m also in the WordPress Slack as well as Rob Ruiz. You can find me in the WordPress Slack. And then I’m on the WordPress Reddit and all that stuff. So yeah, reach out. If anybody wants to have any questions about Rig or anything else, I’m happy to engage. Topher: Sounds good. All right, I’ll see you. Rob: All right, thanks, Topher. Have a good day. Topher: This has been an episode of the Hallway Chats podcast. I’m your host Topher DeRosia. Many thanks to our sponsor Nexcess. If you’d like to hear more Hallway Chats, please let us know on hallwaychats.com.
Podcast: Exploited: The Cyber Truth Episode: 2026 ICS Security Predictions: What's Next for Critical InfrastructurePub date: 2025-12-30Get Podcast Transcript →powered by Listen411 - fast audio-to-text and summarizationAs industrial control systems become more connected, more Linux-based, and more exposed to IT-style threats, 2026 is shaping up to be a turning point for ICS security. In this end-of-year predictions episode of Exploited: The Cyber Truth, host Paul Ducklin is joined by RunSafe Security Founder & CEO Joseph M. Saunders and CTO Shane Fry to discuss what will define ICS and critical infrastructure security in 2026. The episode explores a bold prediction: We will see a major ICS breach originating from a web application vulnerability running directly on an embedded control device. As full Linux operating systems, Node.js apps, and web servers increasingly appear inside OT equipment, long-standing IT vulnerabilities are colliding with systems that are difficult—or impossible—to patch. Joe and Shane dig into why detection-only strategies fall short in constrained, long-lived devices, and why secure by design engineering, memory safety, and runtime protections are becoming essential. They also discuss the importance of accurate, build-time Software Bills of Materials, especially as regulations like the EU Cyber Resilience Act push manufacturers toward transparency, accountability, and provable supply-chain visibility. Together, they cover: Why ICS exploitation is shifting from theoretical to operationalHow web app and RCE vulnerabilities are creeping into OT devicesThe limits of detection-only security strategiesWhy memory safety and runtime protections reduce exploitable riskHow build-time SBOMs improve vulnerability tracking and trustThe podcast and artwork embedded on this page are from RunSafe Security, which is the property of its owner and not affiliated with or endorsed by Listen Notes, Inc.
JavaScript has grown far beyond the browser. It now powers millions of backend systems, APIs, and cloud services through Node.js, which is one of the most widely deployed runtimes on the planet. Keeping such a critical piece of infrastructure fast, secure, and stable is a massive engineering challenge, and the work behind it is often The post Node.js in 2026 with Rafael Gonzaga appeared first on Software Engineering Daily.
Mike's Year End Post (https://dominickm.com/2025-year-end-retrospective/) Mike on LinkedIn (https://www.linkedin.com/in/dominucco/) Mike's Blog (https://dominickm.com) Show on Discord (https://discord.com/invite/k8e7gKUpEp) Alice Promo (https://go.alice.dev/data-migration-offer-hands-on) Dreamcast assorted references: Dreamcast overview https://sega.fandom.com/wiki/Dreamcast History of Dreamcast development https://segaretro.org/HistoryoftheSegaDreamcast/Development The Rise and Fall of the Dreamcast: A Legend Gone Too Soon (Simon Jenner) https://sabukaru.online/articles/he-rise-and-fall-of-the-dreamcast-a-legend-gone-too-soon The Legacy of the Sega Dreamcast | 20 Years Later https://medium.com/@Amerinofu/the-legacy-of-the-sega-dreamcast-20-years-later-d6f3d2f7351c Socials & Plugs The R Podcast https://r-podcast.org/ R Weekly Highlights https://serve.podhome.fm/r-weekly-highlights Shiny Developer Series https://shinydevseries.com/ Eric on Bluesky https://bsky.app/profile/rpodcast.bsky.social Eric on Mastodon https://podcastindex.social/@rpodcast Eric on LinkedIn https://www.linkedin.com/in/eric-nantz-6621617/
JavaScript has grown far beyond the browser. It now powers millions of backend systems, APIs, and cloud services through Node.js, which is one of the most widely deployed runtimes on the planet. Keeping such a critical piece of infrastructure fast, secure, and stable is a massive engineering challenge, and the work behind it is often The post Node.js in 2026 with Rafael Gonzaga appeared first on Software Engineering Daily.
For episode 655 of the BlockHash Podcast, host Brandon Zemp is joined by Annalea Sanders, Co-President and Board Officer for the Blockchain Security Standards Council (BSSC).The BSSC-Blockchain Security Standards Council-is the leading authority in blockchain security—setting the standards that power trust and confidence.When industry experts discuss blockchain security, not many consider nodes, but they should. If a node doesn't operate correctly, then the risks permeate and impact the whole network, and its users. As a result, experts are placing more importance on node operation standards as a critical part of blockchain industry standards.
第 193 回のテーマは、Node.js ユーザグループ会長である @yosuke_furukawa との Drive Talk です。今日は、車での録音音質を向上するために、新しいピンマイクを導入しましたが、初期不良のせいか、とんでもなくノイズが入ってしまいました。音声編集を駆使してノイズ除去を頑張ってこれです。正直めちゃくちゃ音質は悪く、すごく聞きづらいです。充電もしたし、リハでは上手くいったのに、これなら iPhone で直接撮ればよかったです。それなりにガッツリ色々話したし、せっかく会長に有給を取ってもらって収録したので一応公開しますが、「音質が悪い」、「聞いてられない」などのクレームを、誰かに会うたびに言われるのも面倒なのでその場合は非公開にします。それでも良い人だけ聞いて下さい。 Show Note はこちら: https://mozaic.fm/episodes/193/drive-talk-jsconf2025.html
Show DescriptionAfter a bit of gaming talk, Chris and Dave are sharing a bunch of cool projects that our Discord community members have been sharing over the past year including things like a web component based admin bar, shape CSS generators, new website portfolios, HTML-first web framework, email markup databases, miniature paintings, AI tools and ducks, and a lot more. ShopTalk will be taking a break after this episode until the new year. Happy holidays for 2025 and we look forward to a great year in 2026 sharing our love of all things HTML, CSS, and building websites. Listen on WebsiteWatch on YouTubeLinks BALL x PIT on Steam Overwatch 2 Call of Duty® | Best-Selling Video Game Franchise THE FINALS on Steam Welcome to Steam Home | Vulkan | Cross platform 3D Graphics Dota 2 Counter-Strike 2 Learn JavaScript, React, and TypeScript to Node.js, Fullstack, and Backend | Frontend Masters HTML for People GitHub - StfBauer/markshell: Markshell allows you to convert Markdown to a beautiful output on the shell, Ideal for any custom built NodeJS CLI. Admin Bar Component | Will Browar ship-shape.win Quina - Menu Crashlands 2 | Games | Butterscotch Shenanigans How Many Dudes? on Steam Unoffice Hours Webring Unoffice Hours - Dave Smyth Dynamic Dummy Image Generator - DummyImage.com Lynn Fisher Nestflix o(m)g:image | Question 1 Making o(m)g:image, Part III: The HTML - Jim Nielsen's Blog Outlyne - AI Website Builder | Create Stunning Websites with AI Greenwood I Hid a Dozen Easter Eggs on This Website – Unapologetic MacStories - Apple news, app reviews, and stories by Federico Viticci and friends. SotB14 | State of the Browser 14 The Email Markup Database (2) Post | LinkedIn Storybook MCP sneak peek Andy Ford - miniature painter Rubber AI Baseline Tennis - Ulimate Tennis ladder for competitive and casual players Intersecting Us - Where we explore math stories together. bitty - a web tool for interesting pages Dolphin Maker 2.0 Chris Enns + Lemon Productions SponsorsStudioworksManage clients and contacts, send branded invoices, receive payments, access educational resources, and connect with a supportive community. We're building the best business hub for freelancers who want a custom client experience that feels polished and professional — with much more in store.
Tabnine (https://www.tabnine.com/) Eran on LinkedIn (https://www.linkedin.com/in/eranyahav/) Alice for Snowflake (https://alice.dev/alice-snowflake/) Mike on X (https://x.com/dominucco) Coder on X (https://x.com/coderradioshow) Show Discord (https://discord.gg/k8e7gKUpEp) Alice & Custom Dev (https://alice.dev)
Kent Beck: You're Ignoring Optionality… and Paying for ItIn this episode of Maintainable, Robby speaks with Kent Beck, a foundational voice in modern software development and author of Tidy First?. Kent joins from California to explore why optionality is a central, often underestimated dimension of maintainable software.Kent begins by describing the tension between features and future flexibility. Shipping new capabilities is easy to measure. Creating options for what comes next is not. That imbalance is where maintainability either flourishes or collapses. Senior developers in particular must learn to navigate this tension because they have lived through the consequences when no one does.They reflect on how cost models have shifted across the last five decades. Early in Kent's career, computers were expensive and programmers were cheap. Today the balance often flips depending on scale. At massive scale, electricity and compute time become meaningful costs again. That variability shapes whether teams optimize for hardware efficiency or developer efficiency.Episode Highlights[00:00:46] The Two Forms of Software ValueKent explains why software value comes from both current features and the options you preserve for future work. He describes optionality as the invisible half of maintainability.[00:03:35] When Computers Become “Expensive” AgainRobby and Kent revisit the shift from hardware-optimized development to developer-optimized development and how large-scale systems have reintroduced compute cost pressures.[00:07:25] Why the Question Mark in Tidy First?Kent shares why tidying is always a judgment call and why he put a question mark in the title.[00:10:14] The Real Cost of Speculative FlexibilityThey discuss why adding configurability too early creates waste and why waiting until just before you need it increases value.[00:13:46] Making Hard Changes EasyKent outlines his guiding idea. When you face a difficult change, make the change easy first, then make the easy change.[00:17:08] The Feature SawKent explains his features versus options graph and how teams repeatedly burn optionality until they hit zero. At that point, forward movement becomes painful.[00:19:37] Why 100 Percent Utilization Is a TrapKent discusses how queuing theory shows that full utilization pushes wait times toward infinity. Overcommitted teams have no room for design work.[00:22:44] Split Teams Do Not Solve the ProblemRobby talks about consulting scenarios where “tidy teams” and “feature teams” are separated. Kent argues that this splits incentives and prevents optionality from being sustained.[00:26:15] Structure and Behavior Should Not Ship TogetherKent describes why feature changes are irreversible, structure changes are reversible, and why combining them increases risk for everyone.[00:30:37] Tidying Reveals IntentWhile cleaning up structure, developers often uncover logic flaws or misunderstandings that were previously hidden.[00:32:00] When Teams Discourage TestingKent shares stories about environments where developers were punished for refactoring or writing tests. He explains why building career options is essential in those situations.[00:37:57] Why Tidying Is an Ethical ObligationKent reframes optionality as a moral responsibility. No one should make work harder for the next person who touches the code.[00:41:33] Succession and SlicingKent describes how nearly every structural change can be broken into small, safe steps, even when the change first appears atomic.[00:47:00] A Small Habit to Start TodayKent suggests adding a blank line to separate conceptual chunks in long functions. It is a small step that improves clarity immediately.Resources MentionedTidy First? by Kent BeckKent Beck on SubstackThe Timeless Way of Building by Christopher AlexanderThanks to Our Sponsor!Turn hours of debugging into just minutes! AppSignal is a performance monitoring and error-tracking tool designed for Ruby, Elixir, Python, Node.js, Javascript, and other frameworks.It offers six powerful features with one simple interface, providing developers with real-time insights into the performance and health of web applications.Keep your coding cool and error-free, one line at a time! Use the code maintainable to get a 10% discount for your first year. Check them out! Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.
Frank on LinkedIn (https://www.linkedin.com/in/franckpachot/) MongoDB (https://www.mongodb.com/) Alice for Snowflake (https://alice.dev/alice-snowflake/) Mike on X (https://x.com/dominucco) Coder on X (https://x.com/coderradioshow) Show Discord (https://discord.gg/k8e7gKUpEp) Alice & Custom Dev (https://alice.dev) Mike's Recent Omakub Blog Post (https://dominickm.com/omakhub-review/)
Episode Highlights[00:00:48] What Makes Software MaintainableDon explains why unnecessary complexity is the biggest barrier to maintainability, drawing on themes from A Philosophy of Software Design.[00:03:14] The Cost of Clever AbstractionsA real story from a Node.js API shows how an unused abstraction layer around MongoDB made everything harder without delivering value.[00:04:00] Shaping Teams and Developer ToolsDon describes the structure of the Search Craft engineering team and how the product grew out of recurring pain points in client projects.[00:06:36] Reducing Complexity Through SDK and Infra DesignWhy Search Craft intentionally limits configuration to keep setup fast and predictable.[00:08:33] Lessons From ConsultingRobby and Don compare consulting and product work, including how each environment shapes developers differently.[00:15:34] Inherited Software and Abandoned DependenciesDon shares the problems that crop up when community packages fall behind—especially in ecosystems like React Native.[00:18:00] Evaluating Third-Party LibrariesSignals Don looks for before adopting a dependency: adoption, update cadence, issue activity, and whether the library is “done.”[00:19:40] Designing Code That Remains UnderstandableWhy clear project structure and idiomatic naming matter more than cleverness.[00:20:29] RFCs as a Cultural AnchorHow Don's team uses RFCs to align on significant changes and avoid decision churn.[00:23:00] Documentation That Adds ContextDocumentation should explain why, not echo code. Don walks through how his team approaches this.[00:24:11] Type Systems and MaintainabilityHow Don's journey from PHP and JavaScript to TypeScript and Rust changed his approach to structure and communication.[00:27:05] Testing With TypesStable type contracts make tests cleaner and less ambiguous.[00:27:45] Building Trust in AI SystemsDon discusses repeatability, hallucinations, and why tools like MCP matter for grounding LLM behavior.[00:29:28] AI in Developer ToolsSearch Craft's MCP server lets developers talk to the platform conversationally instead of hunting through docs.[00:33:21] Improving Legacy Systems SlowlyThe Strangler pattern as a practical way to replace old systems one endpoint at a time.[00:34:11] Deep Work and Reducing Reactive NoiseDon encourages developers to carve out time for uninterrupted thinking rather than bouncing between notifications.[00:36:09] Measuring ProgressBuild times, test speeds, and coverage provide signals teams can use to track actual improvement.[00:38:24] Changing Opinions Over a CareerWhy Don eventually embraced TypeScript after originally writing it off.[00:39:15] Industry Trends and Repeating CyclesSPAs, server rendering, and the familiar pendulum swing in web architecture.[00:41:26] Experimentation and Team AutonomyHow POCs and side projects surface organically within Don's team.[00:44:42] Growing Skills Through Intentional GoalsSetting learning targets in 1:1s to support long-term developer growth.[00:47:19] Where to Find DonLinkedIn, Blue Sky, and his site: donmckinnon.dev.Resources MentionedA Philosophy of Software Design by John OusterhoutJohn Ousterhout's Maintainable.fm Interview (Episode 131)Search CraftElasticAlgoliaWordPress Plugin DirectoryRequest for Comments (RFC)Strangler Fig PatternC2 WikiModel Context Protocol (MCP)Glam AIAubrey/Maturin Series by Patrick O'BrianMaster and Commanderdonmckinnon.devThanks to Our Sponsor!Turn hours of debugging into just minutes! AppSignal is a performance monitoring and error-tracking tool designed for Ruby, Elixir, Python, Node.js, Javascript, and other frameworks.It offers six powerful features with one simple interface, providing developers with real-time insights into the performance and health of web applications.Keep your coding cool and error-free, one line at a time! Use the code maintainable to get a 10% discount for your first year. Check them out! Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.
Hoje o papo é sobre Node.JS! Neste episódio, mergulhamos em um papo sobre aquele nome que está por trás de algumas das principais ferramentas utilizadas no mercado atualmente, inclusive quando o assunto é IA. Vem ver quem participou desse papo: André David, o host que fala de tecnologias que estão por todas as partes Vinny Neves, Líder de Front-End na Alura Juliana Amoasei, Desenvolvedora JavaScript e Instrutora da Alura Monica Craveiro, Desenvolvedora Back-End
Matthew Sigel is the Portfolio Manager of the VanEck Onchain Economy ETF ($NODE), one of the most forward-thinking institutional products in the crypto ecosystem. In this episode, we break down how major institutions are evaluating Bitcoin — from market structure and sentiment to what's driving recent price action. Matthew shares the three indicators he uses to gauge Bitcoin's direction, how he thinks about buying during volatility, and what he's watching in crypto-linked public equities. We also dig into the broader digital-asset landscape — from smart-contract platforms to stablecoins and where he sees the strongest long-term opportunities.======================Bitizenship gives Bitcoin-forward investors a fast, compliant path to EU residency. Our Bitcoin Dolce Visa lets you invest in a 100% Bitcoin-aligned startup and qualify for Italy's Golden Visa with one strategy. Claim your free strategy call at https://www.bitizenship.com/pomp.======================BitcoinIRA: Buy, sell, and swap 80+ cryptocurrencies in your retirement account. Take 3 minutes to open your account & get connected to a team of IRA specialists that will guide you through every step of the process. Go to https://bitcoinira.com/pomp/ to earn up to $1,000 in rewards.======================In this episode, Pomp spotlights easyBitcoin.app—the app that pays you 1% extra on recurring buys, 2% annual bitcoin rewards, and 4.5% APY on USD. Download it now for iOS or Android at https://easybitcoin.onelink.me/F1zP/klc4v1p8 and start earning today. Your capital is at risk. Crypto markets are highly volatile. This content is informational and not financial advice.======================Timestamps: 0:00 – Intro2:06 – How institutions are thinking about bitcoin right now6:10 – How to evaluate metrics in real time and key bitcoin price levels10:33 – Crypto-linked equities and why $NODE outperformed17:08 – What reverses the bitcoin miner downturn?23:41 – Evaluating companies holding bitcoin on balance sheet34:46 – Matthew's outlook on altcoins and bitcoin dominance39:43 – Inside $NODE: structure, allocation, and strategy
One small but fatal flaw of most LLMs?