β ΒΆ Intro
Hello, friends, and welcome back to your weekly Linux talk show. My name is Chris.
My name is Wes.
And my name is Brent.
Hello, gentlemen. Coming up on this episode, it's time for a GitHub diet. We'll get into the tools helping us cut back. But first, our favorite features in Linux 7.0, and then we'll round the show out with some great boosts, some picks, and a lot more. So before we get into all of that, let's say time-appropriate greetings to our virtual lug. Hello, mumble room.
Hello. Hey, Chris. Hello, Brent.
Hey, guys. Hello, all of you up there and quiet listening, too.
What a crew we got.
Thanks for being here. Of course, you can join our Mumble Room every Sunday. Details are on our website, and we'd love it if you join us. It's pretty great. And look at all these years, Mumble's still here. Show going strong for like 12-plus years, almost 13 years. Mumble Room's still here with us the whole way. Speaking of being with us, go check out Define.net slash Unplugged.
Go meet Manage Nebula from Define Networking. It's a decentralized VPN built on the open-source Nebula platform, which we love. So it's more resilient than your average VPN out there. You get more control than anybody else. And it's a network design that doesn't depend on a single choke point. Nebula was originally engineered to secure Slack's global infrastructure. And now you can put that same architecture to work for yourself, for your enterprise or your home lab.
β ΒΆ Housekeeping
Try out Manage Nebula for free on 100 hosts. No credit card required. You go to Define.net slash unplugged. Nothing else offers Nebula's level of resilience, speed, and scalability. Get started with 100 hosts, absolutely free, no credit card required. Visit Define.net slash unplugged. Go redefine your VPN experience. IOS and Android apps recently updated. Thank you to Define.net slash unplugged. Thank you to everybody who supports
the show by going to Define.net slash unplugged. We do appreciate it. LinuxFest Northwest 2026, just a few days away. 13 days away. April 24th to the 26th at the Bellingham Technical College. Oh, boy. And the calendar is live. The unplugged program is currently scheduled to be in HC108, which I think is that big classroom we did that one year.
Hmm.
I don't know, boys. We got to give that some thought.
Yeah, you seem really unsure over there.
Yeah, the vibe just hasn't been right in the classrooms. We're not professors giving a lecture.
I thought all the construction the last couple of years in those sections we couldn't use was to build us like a brand new studio with an audience section in it.
Right, of course. That's what they'd spend their money on.
The first year we did a classroom was better than the second.
Yeah, I agree.
So there is some variable, but you're right. But one way or another, we had to make a show, right?
We'll make a show. One way or another. We'd love it if you want to join us. You can get the details at linuxfestnorthwest.org. I don't know. I think it may be Joops isn't going to make it this year. I got baby chicks at home now.
So maybe have you considered bringing the entire farm?
I think we bring the van. The van goes to Joops. Yeah.
The van will go to Joops instead. And the van will a hundred percent be there. Whether I am or not.
Joops junior.
All right. I have a question for the audience before we get into today's topics. Two things really. Number one, your question. Uh, I may become obvious why, but I'd like to know if your password manager disappeared tomorrow, which one would you switch to? Boost in and tell us if your password manager disappeared tomorrow which would you switch to? Alright? That's number one. Number two. The Elephant in the Room episode 666 is coming up and we have a new challenge.
To celebrate episode 666 of the Unplugged program we are announcing the BSD challenge! And it's early days, so you have a chance to get in and help us form what we're going to do because obviously this is episode 662, so we have a few weeks. It's not a Linux versus BSD thing. It's can Linux users function on BSD. One fresh B install, four levels to climb, and hopefully your Linux muscle memory only gets you so far.
This is what I have so far, and this is all subject to change, and I'd love the audience's input. I think we should have four levels to achieve. Level one is can you just get a usable system. Level two is can you get a daily driver? Level three is a power user. So can you do things like update packages, update the OS, set up SSH, restart and stop services? And then level four, and I think this is maybe where we have some debate.
I was going to say get jails or containers working, but I think Wes and Brent think level four should be something more challenging. And then we have a scoring system. But that's the rough outline that we'll get into more. But let's settle this level four stuff. stuff so i i i guess i proposed level four is you get a jail going but you guys think that's probably more level three stuff.
Yeah i mean it's just you know that'd be like saying it's not maybe it's not quite exactly the same but like if should level four for a bsd user on linux be running a docker container yeah that's.
A good way to put it.
Now what level four should be maybe it's like linux compatibility or getting full like docker on bs i don't know it should it feels like there should be a proper impressive stretch to it.
Hmm you have any suggestions for a level four stretch brent.
Uh, I have two. One would be, how long can you daily drive this thing? You know, you got it running, you got some of your applications on there.
Can you make it a full week?
Yeah. Are you using this as a desktop for a full week? Or is this like, you know, can you even use it as a server for a full week if that's your way to go? I have another twist though that might be interesting if you're, if you're up for it. You want more suggestions? Yeah. Yeah. What I want to know, like, what is the craziest place some of our audience members can run this BSD that they want to run for a week?
Do you have some crazy device or like, are you running a, I don't know, phone network on your farm and there's some BSD components to it? Or so not something you're currently running, but like during the challenge, what is the craziest thing you're willing to do for this BSD challenge? Bonus points.
Okay. Okay.
See this is why we need the audience's help because uh clearly we're too nix os brained over here to really even be able to formulate a bsd challenge at this point.
Isn't there a.
Bsd yeah level four i mean i like the idea i like that as an idea for level four but we need to have a few other things level four because i don't know if i have any cool crazy hardware to put it on right now.
Way better work at it.
But i want to get all the points so level four is official beastie whisper and i want to get something.
Fancy with like zfs like boot set boot environment set up so you.
Get like you.
Know rollbacks and stuff that might be too easy too though.
Intro okay well please do boost in or go to the contact page and send us your suggestions for the bsd challenge we what we our idea would be is to kick it off in 665 officially or 664 depending what you guys tell us, and then have the conclusion in 666, right? I think that could be fun. So that's the idea. Let us know what you think for the BSD challenge.
β ΒΆ The Kernel Time Knife
Well, as you're listening to this here podcast, Linux 7.0 should be landing. It is expected to release later today as we're recording. And even though Linus always says the major version numbers don't really mean much other than he doesn't like to get much beyond .19, there's always a bunch that ends up in these .0 releases every time.
Funny how that works, huh?
Yeah. So we thought we'd go through some of our favorite things in here. Surprise, surprise. Some of them are going to be file system related. but not all of them. Wes, I know you've been talking about for a little bit, the scheduler changes, some nice performance improvements there.
Yeah. Which ones are you thinking of?
Well, I don't know. You're the one that's been talking about them, but I think the one that I recall you mentioned is the time slice extension, although I don't really understand much about it, but I guess that sounds interesting. Notably less micro stutter and better desktop responsiveness with that one they have on there. And I remember you going on about scheduler changes recently. I just don't know.
Oh yeah. I mean, there's been a lot in general, how much of that made it into 7.0. I mean, there is a lot of stuff. Some of that is coming also in 7.1, because there's always excitement around that. But yeah, one in particular is the Time Slice extension. And it, It's notable because, A, scheduling is hard. You know what I mean? Like, it's probably one of the hardest things that the kernel actually has to do in order to do it right, especially because just about everyone uses the Linux kernel.
So, how do you get the right scheduling between a monster AI inference server or a Postgres database server and, you know, MyPixel? But this one has also been in the Time Slice extension, has been in development for, like, 10 years at this point, And it finally got merged, which is exciting just for the story of like open source kernel development.
Something taking that long and finally make it in is always a big deal.
Yeah, exactly. But it should help. Like there are times where you're in what are called critical sections as a process where you really don't want to be interrupted. You know, maybe you're doing something with the disk or, you know, some sort of critical part of your application.
And this is trying to help so that like user space processes can sort of request a time slice where they won't get preempted without some of the full performance overheads of like actually fully blocking preemption, where the kernel might still need to do something ultimately to maintain, you know, acceptable latency elsewhere, but to try to provide more information and more mechanisms to allow user space processes to better actually share the available resources and meet their own deadlines.
And so that's where the name time slicing comes from, is you can kind of, as I guess as a resource heavy application, you could say, hey, I'm going to need some time coming up soon, make it available for me.
Yeah, exactly. Exactly. I mean, it gets more detailed than that, right? Because there's stuff called restartable sequences and all of the heuristics that kind of go into like fully optimizing this stuff. There's also been more work, which got some drama over, which we talked about, I think in a previous members episode, maybe around Postgres having benchmarks that were like 50% slower on some instances that also had to do with some changes happening to preemption in the kernel.
And that's where right the whole thing that we have a actual preemptible thing where tasks do get interrupted and we aren't just running one application anymore it's still having consequences 30 years later.
Well here's the thing i've learned watching these kernel releases and it's very much so true with the 7.0 release you could kind of plan your next laptop or workstation upgrade around these so what's in 7.0 are a bunch of new drivers and what what gets called i guess the kernel developers call foundational drivers for the next gen cpu and gpus that are landing in the next amd in the intel and qualcomm platforms and a few others and so the nice thing is is that because these these
types of kernels take a little bit to get out except for ubuntu is going to ship it pretty soon. It means brand new laptops and desktops are probably going to work out of the box with Linux 7.0 with everything functional day one. And you're going to be able to get these new platforms like an AMD Zen 6, which I am particularly looking forward to.
And it's just going to work with 7.0. And what I mean by you could watch this and kind of plan your hardware releases is you can see, okay, this is landing now in 7.0.
And so if I want to get an AMD Zen 6 system and I use XYZ distro then i just wait till xyz distro gets 7-0 and that's my window of time to upgrade to that new hardware you know and that that will just ensure it's a smooth process and it's, It's so much new hardware coming to Linux with new capabilities across x86, ARM64, RISC-V, and even Power. Like, this is a massive CPU architecture release, Linux 7.0.
Yeah, there's SpaceMitK3, which is the first of the RVA23 profile specifications of actual RISC-V hardware being supported in the kernel, which I think also includes maybe some acceleration for some sorts of AI-type tasks. So maybe, I mean, it's still early days, but maybe, yeah, I think it's 8AI Accelerator Core. So what you can really do with it, how you get your hands on it, I don't know, but it's at least starting to look slightly less like only sort of developer machine enablement.
Okay. Is there anything else we need to cover? I mean, I know there's a lot in this, and Feronix and Linux Newbies has done a great job, or kernel Newbies, has done a great job of rounding a lot of this up, but file system area is pretty big this release, and I think we should probably get to that.
What, you're going to skip over the AI agent key support? Come on, the copilot key.
What?
Yeah.
No, this did not make my list of features. Tell me about this.
There's the co-pilot key, but beyond that, Linux 7.0 adds three additional standardized HID key codes for contextual AI interactions. Action on selection, contextual insertion, and contextual query.
What?
Chris, why is your face doing that?
I don't even understand what this means. I literally don't. Brent, do you have a guess of what this means? I'm sure Wes knows, but...
Sounds like maybe some buzzwords got into the mailing list here.
I mean, is it like something for deploying? Is it to enable agents to deploy and identify systems on cloud infrastructure? Like, that's the only place I could go with this.
I think it's for interactions, right? So that now you have, you could have something where it's like, select something and click a button, and you could have a universal, like, HID-level way to ask an assistant for help. Or we could remap it, whatever, because it's Linux, right? But like on Windows, you might have a copilot key, and then google got this more sort of fine-brained stuff so you can have like i want to ask the ai a question or i want the ai to insert or edit text here.
Or yeah.
That kind of.
The word key is used for so many things these days.
But like so you can have keyboard you could have like a keyboard key but this could probably also work if you were building one of those tubes that's constantly trying to sell you stuff probably work for that too you know i have a little button on there i can see that okay yeah that's true all right all right this is it's interesting the stuff that makes it at the kernel level okay now can we talk about file systems okay, So, Brent.
Yes?
I bet you would think if we were going to talk about file systems, you would assume we were going to talk about BcacheFS or ButterFS. But it turns out some of our traditional favorites got some nice updates as well.
So the old is the modern now?
Well, I mean, if you're using the older file system, quote unquote older, you still get good stuff, right? I think everybody knows XFS is one of our favorites.
It's one of your darlings.
But now one of Wes's predictions has come true.
Yeah, it looks like ext4 is getting faster concurrent I.O. Rights, and there's a new standardized generic I.O. error reporting layer across file systems. And, well, that means that container creation is 40% faster thanks to OpenTree namespace improvements. Wes, how do you feel about this?
I am pro. So you wouldn't be surprised by that, though. But yeah, we talked a little bit about it in the past. There's been a bunch of improvements tied to NOLFS being in this kernel and the OpenTree namespace stuff that means sort of the mount namespace handling, which is very important if you want to isolate a container or be able to pick and choose what mounts a container sees.
All of that stuff can be a lot more sane without having to copy every single mount on the system and then just to remove 80% of those to get the actual mount tree that you really want. And so when you tie that into improved stuff like, you know, concurrent direct IO writes to multiple files, and there's often lots of tiny files involved with containers, you can see how some of these performance wins really start stacking together.
That is good to see.
I'm curious, what did you base your prediction on then?
Oh, no. This was the prediction, Brent. And this is the one that made my list, is XFS has gained autonomous self-healing.
No way.
Real-time air monitoring plus automatic background repairs. This, I think, was one of your predictions, if I'm not mistaken, Mr. Payne.
I mean, you know, there's a lot of excitement around a lot of the file systems that we talk about. But you shouldn't sleep on XFS, right? They've been adding like sneaky copy on write style features. They've been adding more like dynamic stuff at runtime, more monitoring, and now more live information about file system health events.
And then that means you actually have the possibility to act on those and try to self-repair immediately instead of, you know, a month later when you notice and you run that FSCK.
Yeah, the patch set is interesting. It's done by creating an anonymous file that can be read for events by user space programs. Events are captured by hooking various parts of XFS and IOMAP so that metadata health failures, file IO errors, and major changes in file system states like unmount, shutdown, etc. Can be observed by user space programs. When an event occurs, the hook functions queue an event object to each event for later processing.
A program must have the ability to read it, yada, yada, yada, going on. In user space, we created a new, this is the part that is interesting, in user space, we created a new daemon program. It will read objects and initiate repairs automatically. This daemon is managed entirely by system D and will not block unmounting of the file system unless repairs are ongoing, which is interesting. So you can unmount it unless it's in the middle of a repair. It'll stop you from unmounting it.
The daemons are auto started by a service that uses fan O notify.
Yeah, F-A notify.
Thank you. F-A notify.
Yeah and that's what's so cool about this is it's not just the file system level kernel level functionality that like hey we have this new framework it'll be great once someone takes advantage of it no this is like actually also shipping a user space thing that can take immediate advantage of it i mean you know you got to get it shipped and packaged and available and configured in distros downstream and all of that but that'll happen.
You will have to have system d as well Another noteworthy XFS change is a performance improvement for parent pointers. They're used for storing backlinks in a file extended attribute for a parent and directory in its file name. And I guess in some cases... Wait in times had increased by 56% in some scenarios, and now those times are down to 8% for writes and 19% for deletion.
So, not bad. Yeah, it's kind of that boring level of optimization where you probably don't even know what the, why do we have these parent pointers and all of that? But, you know, file systems end up being a giant set of arrows pointing at different things, right?
Unless you want to copy everything all of the time, you need ways, like if you're dealing with extended attributes, you need ways to know details about the parent directory, where you're at in the file system, the permissions that are there. And if you have to go try to search some data structure every time you want to do that, you're going to have a bad time.
And so parent pointers help you go have back references, have links, have pointers, as the name implies, to be able to traverse around on the file system and get from here to there. And you know there's extra cost to those both size and then sometimes how they're implemented has performance and so the faster you can resolve all those sort of metadata relations in the file system the faster the whole thing will be.
So there's a few other items on our on our shared list i have one other big one on my personal list we have some memory management changes anything in particular you want to touch on before we get to the big news regarding the horns if you know what i mean.
Yeah uh there's some cool iou ring stuff going on i.
Was hoping you would cover that okay good.
Yeah iou ring security task level restrictions and there's a functionality called sec comp in the kernel that we use a lot for various sandbox and gets used in containers sec comp bbf is a thing it's a type of policy you can apply to filter the available system calls that can happen so you can say like hey this program doesn't need to use a bunch of these system calls. It only needs to read files and talk to the network in this way or whatever.
So you can set up set comp to then secure a program. SecComp filters work on these system calls, but they don't see IOU ring. At least they didn't before kernel 7. And this is because IOU ring is this whole sort of asynchronous ring that's meant to help have this section of memory that both user space and the kernel can talk to and then share there without having to have constantly switching between user space and kernel space, which can be an expensive operation like when you do a system call.
But the problem is now you've created this whole other way to effectively make at least a subset of system calls, which is using IOU ring to do it. And sec comp previously had no visibility. So you could do all this nice security work to filter the available system calls for an application with sec comp, only to then have IOU ring be a big gaping hole in that because it was effectively out of base.
So essentially now, you know, the limitations basically were containers and systemd that do apply these filters essentially couldn't. So they've added classic BPF filters or CBPF, which that's a whole other thing here. But yes, we have CBPF and eBPF in the kernel for these IOU ring operations and their task level restrictions.
They persist across fork. BPF filters can also examine sort of the arguments that are going into the filtering operation, which means they're strictly more capable than SecComp in that regard. And you might wonder why CPPF, why classic BPF Berkeley packet filter and not extended Berkeley packet filter with eBPF. That's actually because in containers, often eBPF for security reasons gets disabled.
So they needed some kind of way to do this with a bytecode, flexible bytecode format that could work both in containers and with IOUring's model. And thus, this patch set was born.
Wow, that feels like a pretty serious amount of constraints. That's very impressive.
And as usual, it was Jens Expo, who does just incredible work in file system performance and security work and IOUring in particular. So yeah, a very impressive change. And while it might be stuff you and I aren't using day-to-day all of the time, the folks doing really performance and latency sensitive work on linux and security work definitely will care.
Yeah and of course the biggest news of the 7.0 release is the tux logo is now customizable via a new k config option forgot that that's bearing the lead sorry about that everybody.
Oh yeah that's actually going to be most of our episode next week we'll be.
Playing with that and getting the jupiter rocket on there another big deal for 7.0 is the rust experiment is over. It is official. Rust is now considered part of the Linux kernel and has moved to a new stage of recognition. The experiment is done, i.e. Rust is here to stay. Miguel Ojeda said, the experiment is done. Rust is here to stay.
I hope this signals commitment from the kernel to companies and other entities to invest more into it, e.g. Into giving time to their kernel developers to train themselves in Rust. Thanks to the many kernel maintainers that gave this project the support and patience throughout these years, and to the many other developers, whether in the kernel or in other projects, that have made this possible.
I had a long list of 173 names in the credits for the original poll that merged the support into the kernel. And now such a list would be way longer, so I'm not even going to try to compose one. But again, thanks a lot, everybody. Wow how long have we been following that this.
Has been a journey.
Somehow i don't think this is really going to be the end of the drama but it is at least a very notable moment in that conversation right it's it's it's a turning point.
Will uh will they pull it out in a couple months or what.
Yeah no.
We're moving to zig yeah.
Yeah right it's moments like this that you just reflect all this and go gosh this has been a real journey you know this has been something we've watched for years, and it's finally landed.
How long did we spend, like, will they, won't they? Is Rust the right fit? How do you get agreement? What?
I think every time we do a segment like this, you just have to stop and marvel at everything the kernel is doing, all of the complexity that goes into the kernel, how much it changes even on a daily basis. And yet we get to just run it on whatever device we want to. And it works quite beautifully for the most part. Like it's astonishing. I think it's important to be reminded of that and to thank everyone for all
the crazy amount of work that they put into it that we get to take advantage of. So thank you.
Maybe a few less systems will be supported, though. Linux 7.1, the next version, is the end of the beginning. The beginning of the end, I guess, for i486 support. And this has, I guess, been in the works for a while. But Linux 7.1 is expected to start the removal of Intel i486 CPU support from the upstream Linux kernel. Linus Torvalds has reportedly said that there is, quote, zero reason to keep i486 support since almost nobody is still using it.
Ooh.
Uh-huh. And no modern Linux distribution ships with support. They say users who rely on 486 hardware are pointed towards using the existing LTS kernels that remain, for now. This is the first step, and it's a patch that removes the config option in the kernel for the 486 build. So the kernel will no longer build a 486 image. And then the steps further down the road will be full code removal, which will likely come in following kernel series, assuming there's no major objections.
You know, it's really kind of a salt in the wound because in 7.0, they dropped the last remaining parallel port Ethernet driver. So what's happening here? Yeah. And we got to make room for Wi-Fi 8 and 800 gigabit networking, I guess.
I will admit, the first thing that popped into my head when I saw this story was, should I fire up a 486 machine just one last time?
Yeah, I was thinking like, oh, stay tuned. You'll see a 486 challenge in Linux Unplugged in any time now.
I mean...
Level 4 BSD. Is he getting it to work on 486?
Watch it, E-Bag. Thank you to our members. Thank you very much for making this possible. We don't have a sponsor for this segment, but we're still here. Linuxunplugged.com slash membership. And if you want to support the whole network, it's jupyter.party. You get two options for the Unplugged program. You get the ad-free version still produced by Editor Drew, or you get the bootleg clocking in at about an hour 12 right now with lots of extra content.
Stuff we really should put in the show, but we want to make something great for our members too, so that's the bootleg feed.
β ΒΆ Gitervention
Both available with the direct membership or the jupyter.party membership. And of course a boost will directly support each episode the splits are set up automatically go to myself editor drew and the developer of the podcast app and you can support each episode with a boost and send a message on the show as well and that's one of our favorite moments so we appreciate that thank you members and thank you boosters.
Well with some recent workflow changes on my end i've been using git more now than i ever have It seems almost every folder on my system now has a little Git repository hidden in it. Chris, you recently leaned into Git as well this year. This is like your year of Git. And, well, Wes, you've been using it forever, and you showed us the way. Thank you. But we got us thinking, like, can we do Git in a different way? Because GitHub has certainly been ubiquitous. But can we do better?
Yeah. I feel it creeping into more and more of my workflow, too.
You know at first it was like oh this is great for sharing projects with the audience and that it is good for but then it's like well I'm already all set up and I'm authorized and I've got the command line tools and every app has a built-in so next thing you know I've got like 15 repositories and I'm checking stuff in every day and now I'm starting to look at making gists and I'm starting to put those up on get having just go home using an action and all these things I'm using more and more of
github and yeah I thought. I got to tap the brakes here a little bit. And we've been talking about this offline for about a year, if we should build our own GitLab or something like that. And so for me, this week, it came to a head when I was creating yet another gist. And I don't have like big requirements here. I want like kind of like a prompt library. I want a command library, you know, useful Nix OS commands or useful commands for a router, whatever it might be that I'm working on.
I want to just have like a library of these kinds of things I can go to and share with people. And GIST is a lazy way to do it on GitHub, but there's got to be other things in other ways. So I looked into OpenGIST, which is a self-hosted pastebin powered by Git. And as you would expect, you can just run it as a Docker container or whatever on your machine. And OpenGIST is pretty great. It's a AGPL 3.0 licensed. It is mostly written in Go and a little bit of TypeScript.
And the interface is really nice and simple. and it's pretty, pretty good. Didn't quite solve my needs, especially because I think I don't need just gist. I think I might need actions and might as well.
That was going to be my first question for you was, like, I think you have been using a lot of them. And maybe it's useful to frame sort of the capabilities because there's, you know, we're talking about a lot of different technologies, right? There's Git itself, the Merkle tree directed acyclic graph that like stores all of the wonderful details. That's totally open source. Then there's like GitHub as a proprietary service and UI and interface.
And then there's like the sub features, right? So like GISTs on GitHub are sort of like a pastebin snippet, but with GIST support or with Git support under the hood. And that's where I think OpenGIST is very interesting because it is like, there's a lot of pastebin things, right? We already run several, I think, between various people as part of the network, but not a lot of them also have Git under the hood, which is a pretty big upgrade.
It is only really directly targeting that one use case of like, I want a get back to paste bin.
It's a little narrow for what I, I, I, this is where I started. I might want something more broad than this. I'm not sure. I'm not, I guess what I'm trying to decide is do I want to go all in or do I want to have several tools I string together? You know what I mean?
Yeah, I do. Cause you kind of already, right? There's, that's where it's like. Not everyone is on GitHub, but it has a social networking effect to it. And there's that aspect. And then there's just the question of like, what are you doing? There's different activities that you do in Git. There's stuff that's totally private, that's part of your own mesh network and backend infrastructure.
There's stuff that's a mix where it is your stuff, but you want to have it available and shared with the audience or us.
Oh yeah, you too. Yeah, exactly.
And so maybe to that extent, it does make sense to have multiple tools. But then you also don't want to make even more crazy, complicated setups when the whole point was just to be able to like easily share or easily have, you know, backups and change control and change management.
So this is kind of my I guess you could say I'm at a bit of a fork in the road in a way. It's like I could I feel like I could. Yeah. You like that?
Yeah.
I feel like I could pause here and kind of. Take some guidance. And I know you've been playing with a self-hosted setup, but I'm not quite clear on what you've been working on and how far you've taken it. So I'm curious to know what you've been building, Wes. Brent, I'm curious to know if you've looked into this at all. And obviously I want to know what the audience is hosting. So, Brent, I'll start with you. Have you looked into any kind of self-hosted Git, Lab, 4GEO? Type solutions at all.
When we started with the website project to rebuild jupiterbroadcasting.com using the community and using you know best practices which meant i had to learn git, as you'll remember i was like for a couple weeks there just like deep diving into how git works on the back end how best to use it because i felt like i hadn't necessarily had the experience before yeah.
That was one of my favorite weeks ever.
Now it's just a daily tool things seem to happen. And back then, I remember thinking, well, given my deep lean to privacy and hesitation around trusting Microsoft, certainly I looked into what can I self-host myself. And these days, I am not putting any of my personal stuff on GitHub, mostly because I don't trust myself to not throw keys in there and stuff at this point.
So I have looked into alternatives forge joe and at the time get t and those options it felt at that point a little too powerful for what i was looking for which is just a little bit of hosting of some code but these days i think i need to revisit that i determined back then that i probably didn't need it but given workflow changes recently and using it daily and how that might solve some problems for me i haven't been looking actively at changing it but
i've been thinking actively about the implications of using github on the daily yeah and so i'm looking forward to hearing what wes can implement for us really is what it comes down to i'm.
On the i'm on the same path it's like well i'm only using it for this well i'm only using it for this well now i'm only i'm only using it for these three or four things.
On github.
In particular and some of my systems like my servers i just use Git locally, it's fine because I have a different backup strategy for that, but more and more of my projects have been drifting to GitHub. Alright, so what have you been cooking on in the background there, Mr. Payne?
Yeah, well, it started, I mean, I've done multiple, I've had a lot of stuff in Git, and I've used, you know, GitLab and various things. And there's a bunch of simple, you know, backend options for this simple web UIs just on top of Git or that kind of thing. But for me, it got more serious, because I had been mirroring stuff to GitHub, and they, you know, and I had my own backups of a bunch of my repos.
Sure yeah you know they added more easier private repo support without having to pay a few years ago so that was one thing but when we started playing more with open claw like that project is just such a mess especially just as fast as it moves and things change i was like there's no way not only do i need to have this running on nix os but i it just all needs to be in git or i'm going to drive myself insane but i didn't want all of that
to be public because it was going to be like an agent doing stuff and I was going to want to be like reviewing its changes and that kind of stuff. I wanted something that had the features of a forge, you know, not just code, but like actually something where I could do PRs and go review code and maybe in a way that had a structured API. And so I started looking into Forge.
I like all of those things. Yeah, you're right. Something where you could have pull requests because why not? I mean, if you're going to lean into a workflow to manage your infrastructure, might as well. And something that has an API means that you can integrate it with agent workflow. Uh so how are you running it and how far have you gotten with it.
Yeah so i've been running for a little while the bare for joe stuff's been working great it has really nice nix os support so like the abbreviated history is there's like a really simple tool called gogs uh gogs that is super small tiny like just a clean little ui and then at some point like 10 years ago that got forked into getia um or get t however you're supposed to say that and then there's been drama there with like the company and the people behind it and so
that eventually led to a soft fork of for joe um which is also the thing that is powering and developed by the codeberg folks and then at some point that soft fork became a hard folk hard fork so there's a lot of sort of vague compatibility um but all kind of going in their own direction i see um but what's neat about it is it is, it really is kind of just like as close to an open source github in a box as i think you could want.
If you go with something like GitHub or GitLab, it's very enterprise-y. And Forgeo felt kind of just right for HomeLab, self-hosted, maybe a bit of actual infrastructure, it could scale up. I mean, it sounds like the Fedora team is moving from, or some of Fedora at least, is moving from Azure, their own Forge, to Forgeo.
So it can scale up to pretty reasonable-sized organizations, but it's also still just a Go binary that can use SQLite, or it can scale up to like being deployed like I'm doing it with Postgres and a NixOS module because it has great NixOS support built in too.
I mean, the interface, as you're speaking, I'm kind of going through it, it looks like you're looking at a GitHub project when you go to somebody with a proper readme and all of that.
Yeah, and if you're used to using GitHub, you'll have no problems adapting. It doesn't have everything. Like, in particular, it does not have guests or snippets. I think there's a PR that's in progress, but I don't think it's merged yet. So, you don't get everything.
Well, OpenGist is simple enough that I can still see running that as a side service. The big one for me would be actions.
Yes, and so it does have actions, and I've been working on setting that up actually somewhat just this week. So I finally got it going. What's cool is you have, they're like, they're not necessarily GitHub compatible, but they are very GitHub familiar. So they are similar into the actions format, similar YAML files, and they have a similar runner concept.
So I guess... So Action is, it's like a reusable piece of code that runs on the Forgeo server, or Forgeo, or however you say it, or on GitHub, right? So could you, do I have that right? Like, can we explain what an Action is real quick before we get too far?
And so this is connects to sort of the CI, CD, continuous integration, continuous delivery. And GitLab probably like gets some credit for being one of the first forges that really built this in with their own GitLab CI stuff. And the idea is there's just a lot of automation. If you want the code to be the source of truth, then it makes sense to drive stuff as events off the code.
And so if you want to push, then, you know, maybe you're pushing to a new PR and you want it to go run the tests for you automatically and let you know if they pass. Or maybe you have a lot of contributors of different levels or different knowledge, and you want to have, you know, run some linting and formatting checks to make sure that random PRs meet the standards of the project.
And that can scale all the way to, you've merged your PR, and now you build your official package, and you push it to, or your container, and you push it to the registry, or you release it as like a release or a tag. Or that can all go all the way to trigger the deployment code, right?
And so this is how a lot of the community website, Brent, you were talking about our great community powered website and it uses actions right so it'll go when we have our scraper run it pulls it goes and scrapes and if it finds new episodes it makes a pr with that and the pr can kick off actions to go build the site and make sure it builds properly and on on some of them it can even go spin up a whole preview website that you can go look at so you can really
scale it from just run like a basic linter on your code all the way up to like go do stateful deploys, depending on what you want to do. But that's the little hook is basically you have some kind of way to trigger it, be that a push or a code change or some action in the repo, or a manual trigger or web hook. And it is an automation that is instantiated with the state from your repo, so that it already has the code and it can do stuff with it.
And I have like a basic one that I've been using a couple of things that I haven't, I really haven't explored it much, but I've been finding it very useful in that I have a couple of projects that I'm downstream of and I pull them and I build packages for them using a GitHub action. So then when I update my local system, it just pulls from my repository instead of the upstream one, which has like all this other, all these other dependencies and crap that it auto installs that I don't need.
But it just helps with, you know, just small things like that. So I have a package ready for me to go when I do an update and it runs like twice a day. That's kind of what I'm looking for.
Exactly. And you can go, right, like, I have one that abuses it like a cron job to go scrape bookmarks I do and ping a Slack channel. But yeah, you can also have it where, like, this is super useful for Nix packages where you can have it automatically go check and see if there's been a new released version upstream and go make a PR that automatically does the update and updates all the pins for you.
So yeah, I was looking for something like that, especially because I've been playing more with setting up. Well, there's a lot of ways to do it, but some kind of Nix build host or a Nix cache. If you combine those things, then you could have a Nix cache that your systems are on, and maybe you have a powerful system, and you can register on that system a runner for your CI system.
So it can run on whatever's running the Forgeo instance, but it can also run on whatever other system that has access over the network to be able to dispatch it.
Cool. Is that just like a container or something, or an agent you run on another machine?
Exactly, yes. You can have it run native if you want. So that's kind of neat because for some Nix stuff, like Nix can be the sandbox. They don't necessarily need a whole build container. But for other stuff, you might want it to have an Ubuntu base or a Nix OS base or use your own custom container. So it can do both. And so you can do that on the host that's running the forge or you can do that on some other networked host. And so you can set up a workflow, which is what I've been working on.
It doesn't totally work yet. This hopefully will be finished somewhat soon, but I got distracted by other projects, as you guys well know. but the idea would be, There are some stuff like some of my VPSs that it's like, I just don't really need to be building them on there. It works. It's fine. It's just not particularly fast. And I make all the changes in code anyway. So why not go have something that spins up, tests it, I can add more tests over time. If all that works, then go push it.
And then either the CI can trigger it automatically, or if I want to do it myself, or tell a bot or whatever, then on the next rebuild, not only has it already been validated, but then it can just go pull the build files.
So, this topic, I think, is coming up more and more. And I think one of the reasons it's growing is because there is a discomfort with this dichotomy of forces that are at play with GitHub.
And there is this network effect that github benefits from that is extremely strong and you see it in community you see it in tool adoption etc etc etc right and then on the other side of that there's this equally strong force if not becoming stronger of in shitification and it's always it goes this way with all of these commercial platforms they you know they always kind of start at the really good end of the spectrum and then over time due to corporate strategy taxes,
they tend to bend towards inshittification. And I think there's a lot of people concerned that GitHub is going that direction. And you mentioned there was drama in the past with 4G0, Do you feel like that stuff is settled? So like if I'm moving, like if I'm packing my bags, is this somewhere I can move into long term, do you think, Wes?
Yeah, I think so. I would say you should think about like which pieces you're trying to replace and for what. So like right now, I'm just using it as like a private backend forge for my own stuff on my own private infrastructure and mesh. But there are some things like you could obviously expose it publicly with a proxy or a port or whatever you want to do.
And they're working on some kinds of federation uh they even have some nlnet sponsorship on this i think to like be able to federate for joe instances so that's you know that's something that's coming and you can do custom actions but they have some there's like a forge uh for joe sync or something where you can at least do one-way sync so like you can do your primary development in your private forge but then push to github as sort
of a secondary thing whether you want to share that more publicly or as a sort of cheap backup because that was one of the things is like there are some things i might keep on github because it's primarily dominated about sharing or the social thing but there's a lot of stuff where it's like i want it on there for easy access or for reference but like i could do all the primary stuff locally and then just sync it later.
That sounds like quite a nice workflow actually yeah.
I don't have it all ironed out to be clear but uh it seems like a lot of other people which is where i'm pulling a lot of this from is just there's been a lot of folks experimenting with these types of workflows. And it seems like there's between Codeberg itself and Private Forgeo and the possible Federation, there's just a lot cooking there right now.
Brent, on that topic of it seems like we're entering this, where we're bending more and more towards incentivification, there was an article that the Software Conservancy published, and they start with something that I thought maybe we probably could have opened with, you know, if I were to plan this a little better. But moving off of GitHub for some people, it's not an easy task. Like there's some people in the chat room, like PJ, he's like,
oh, not really, wouldn't be hard for me to move. I'm not using it at all. That is easy. But other people.
Are deeply entrenched.
That is a deeper problem. And the Conservancy is trying to make a pitch here.
Yeah, I would call this almost a call to action this day here. Since June 2022, we've been encouraging and helping FOSS developers to give up on GitHub. We realize, though, this is not an easy task. GitHub is ubiquitous, though through their effective marketing, GitHub has convinced free and open source software developers that GitHub is the best and even the only place for FOSS development. However, as a proprietary trade secret tool, GitHub itself is the very opposite of FOSS.
By contrast, Git was designed specifically to replace a proprietary tool, BitKeeper, and to make FOSS development distributed using FOSS tools and without a centralized site. GitHub has distorted Git, creating add-ons and features that turn a distributed, egalitarian, and FOSS system into a centralized proprietary site. And all those add-on features are controlled by a single for-profit company, Microsoft.
By staying on GitHub, established FOSS communities bring newcomers to this proprietary platform, expanding GitHub's reach and limiting the imaginations of the next generation of FOSS developers. They give other reasons here in this article for why a lot of the anti-GitHub community wants to stay away from Microsoft. And there's one in particular that I think our audience would really feel hits home. And I wonder if this hit for you both as well.
They say Microsoft has escalated the incorporation of its for-profit Copilot product. The Copilot banner now incorporates many different proprietary so-called artificial intelligence products. However, the first Copilot product was designed to automatically generate code interactively for developers, and that feature is still pushed on GitHub users.
Copilot AI model was trained, according to GitHub's own statements, exclusively with projects that were hosted on GitHub, including many licensed under copy left licenses. Microsoft even admits that there was one document that they encountered and ignored a whopping 700,000 different times during training, and that was the GNU General Public License. Most of these projects are not in the public domain. They are licensed under FOSS licenses.
These licenses have requirements, including proper author attribution, and in cases of copyleft licenses, they sometimes require the works based on it, or then incorporate that software to be licensed under the exact same copyleft license as the prior work. Microsoft and GitHub have been ignoring these license requirements for quite a few years now.
Their only defense of these actions was a still-unretracted statement by their former CEO in which he falsely claims that unsettled law on this topic is actually quite settled. In addition to the legal issues, the ethical implications of GitHub's choice to use copyleft code in the service of creating proprietary software is a grave one. So the debate here is. Is it okay to use over 700,000 open source projects to fund their, well, business model at this point?
And this is something when Microsoft first bought GitHub, many of us imagined the dark ways that that could go negatively against open source ethos. And at the time, we didn't really have answers. But I think you could argue this is one of the reasons that we were hesitant back then.
I think maybe an interesting way to frame this, a model to use, would be if they were properly doing attribution, would that solve the majority of the problem? Is the issue not that they're using code that's open source and copyleft, but the issue is that when they generate that code, if it's close to the exact original code, they're not attributing it? I don't want to get nuanced into like, well, if it's changed by 25%,
but I just wonder if that is the problem. If it's just simply, is the core issue attribution?
I think the argument would be the issue is the licensing of the product that they're using. All of this code into.
Well, but that doesn't make sense, right? Because if you post a free software code on Stack Exchange, it doesn't matter if the Stack Exchange backend is running on Windows or not.
I think Brent means what gets output from, not runs Copilot.
Okay. All right. What do you think, Wes?
I mean, there's certainly like license fights to be had for sure, but there is that whole uncomfortable question of like, well, how much learning and what counts as learning do we allow, right? Because just about every single person who's ever contributed to copyleft went on to contribute to other differently licensed projects.
That's just how it works, right? And so we can argue if the scale of this matters, we can argue if LLMs count as learning when we're doing the statistical modeling with them or not. But I think for us, right, there's one thing on the giant scale, but as individual users, the VEM training on my open source or public code was not Not the thing that I cared about necessarily. I think for me, it'd be more about control and knowing when that was happening.
And where GitHub in particular is in an awkward spot is like there's the stuff in public. And I think at this point, you just sort of have to accept that if you put something on the available internet, it will be ingested for purposes unknown and uncontrollable to you. But then for people like me who are not paying GitHub, but still have some stuff that's private on there, that's where it gets murkier for me.
Because like if I'm a company that has like an actual contract with them, that's a whole other thing. That has its own sort of risk and uncertainty that's quantifiable by lawyers I employ and all that. But for me, without that and with no lawyers to deploy, it's sort of like, well, I want to have better boundaries of what do I consider I'm just sending off into the ether in the commons? What do I think is actually private and under my control? So that's the framework I'm currently using.
So would like a user toggle satisfy you? You know, if you could go and say like a checkbox, because maybe they have this, I don't know, they just don't train on my data. Does that solve that problem? I mean, these don't seem like particularly unsolvable problems.
Well, no, so for that, I think that's the trust thing, right?
That would go to the contract.
Because I don't have any audits. I don't have any enforcement mechanisms there.
Oh, so for me.
That's where I, if I don't want them to train on it, I don't want it on their platform.
Yeah, that I agree with. Yeah, that's...
I mean, I'm totally down for them adding that. I think that might help, right? They're giving people more control or at least the illusion or some level of control to have more say in that, I think would be helpful and would be an act of good faith what it actually does in terms of real consequences and how it changes things. I don't know.
I agree. And I think the best solution is to just move off the platform. If this is a concern of yours and for private stuff, I think that does make sense for stuff that I was going to share publicly with the audience. Anyways, I don't really care if they train on it. It's just not really been my complaint.
I also find that the, The co-pilot on the GitHub site has not actually been that annoying to me. I don't actually edit that much code on there or anything, but it's not like it's constantly injected in when I go look at GitHub or use it.
I'm sorry. People are editing code directly on the GitHub.com website.
Oh, yeah.
They deserve to be annoying.
They have a whole editor.
I guess I've seen that, but I didn't think anybody actually used it. That just seems crazy to me.
So what I was going to say is I find the copilot being built into VS Code but still requiring a login to be way more annoying than anything that they're injecting over on the GitHub side.
True, true. Yeah, there's a lot of strategy taxes around GitHub that I find very annoying. I will just as a quick aside, maybe I should leave it, but I'll just say. I just think if you were to go back in time 13 years ago and play this segment back for us back then, where we're sitting here and we're preening about intellectual property and protecting our licenses and our copyrights.
I just think it's so funny coming from a community that used to be about breaking the Tivos and used to be about sharing, you know, sharing things. I don't want to say pirating music and TV and movies, but a lot of people in this community engage in those activities and have since the days of Napster and have no qualms about it.
But then this topic comes up and all of a sudden now this is where they've decided this is the hill they're going to die on after a decade plus of stealing music, TV shows and movies. I just find it ironic, especially from a community that in the past has been sort of anti-copyright, anti-licenses that prevent them from hacking things, you know, proprietary blobs and things like that. And now all of a sudden, We're like the people that are like pro-proprietary information.
I just think it's pretty ironic. But people have the right to, you know, do it, choose whatever they want. And I think that's why some solutions around self-hosting your own GitHub alternative are viable. And I think it sounds like for me, for Geo, if I can figure out how to say it.
Could be about- For Geo. I guess it's Esperanto for Forge. So there you go.
Okay.
And yeah, I do think there are some arguments to be made around the scale and the like, I think a lot of the uncomfortableness is from the asymmetry of scale and resources and this feeling of like, I am doing this stuff and I wanted to benefit humanity and the commons or other people or whatever, but I didn't necessarily want to have that be underwriting your entire business model without you giving back. And so there's totally legitimate things there, but you're right.
We should also probably strive to make sure that we can find consistent frameworks to evaluate this stuff because it's changing fast and we want to figure out how to think about it well.
I agree. I don't think we should lose sight though, that even though they, if they have indexed and they've rolled over and all of this, that information has been made available to all of us extremely reasonably. And we have access to it through a lot of free tools now that are making all of us faster builders and we're building more things. So if your effort was towards making humanity better and making more information freely available to the people, that has been achieved.
And now more people are accessing and utilizing it, maybe not directly through you and the way you want them to consume it. But it is happening at a much larger scale than it was even six months ago. And the amount of free software that is being produced and published on platforms like GitHub is growing exponentially like a hockey stick right now. And so in a way, it has made that information more accessible to people.
And so if at the core of what you're trying to do when you create something as free software is improve the information and access to humanity that is being achieved, you may not like the means in which it's being achieved. But you can't deny it's happening. Just not justifying it. I'm just trying to say there's two sides to all of this. And people should have their options to opt out and not participate. And I'd like to hear what the audience suggests.
If there's something better than we've come up with, please let us know. Because I think this is going to become a bigger and bigger deal as people make their decisions here. Because this ain't slowing down, right? That bend is continuing. And the corporate strategy won't slow down.
β ΒΆ Shout-Outs
We have an extra special baller booster here, our dear, lovable, squishy PJ, Producer Jeff. Producer Jeff sent in 22,222 Satoshis. Says, I am a forgetful booster. Pin your tabs, Brent.
Yeah, Brantley, how come you won't ever pin your tabs over there? You know what? We just want you to gosh darn pin your tabs. Oh, yeah. All right?
Oh, I meant to tell you earlier, I pinned my first tab in years this week.
What? What? What?
I did.
What was it? Are you willing to share?
The song really got me inspired to change my ways. And I pinned an OpenCode web UI tab because I figured that would be useful. I have many, many questions. Maybe we'll get into that at some point in the future.
Huh. Okay. All right.
He's going to make us radically rethink our relationship with pinned tabs. I don't know if I'm ready for it.
I don't. Oh, geez. I got to have lunch first, I think. Speaking of lunch, Derivation Dengus came in with 21,633 sats. I'm loving these AI episodes, especially the practical AI tips. I've been pretty extensive on my NixOS home lab, so I've been trying to build systems that agents can safely take on some of the maintenance for. And, you know, things like that. There's still a lot of work to do and a lot to work out, but these episodes always give me good ideas. Keep them coming.
We did get a good amount of feedback. We did. On the emails, it was almost 50-50 split with one extra email coming in to the don't talk about it so much side on the AI stuff. So it was good feedback, and we're still reviewing it all. Please do keep telling us your opinions on it. If you're catching this after the fact, we still want to know.
Yeah, and I like how Dingus here points out, too, I think, something that is relevant to our last topic, which is whatever you think about how they were made, they're here now, and you can use these tools to improve your own open source work, your own home lab, and or easier escape from proprietary services. Nothing like an LLM script to help you do your Google takeout, that kind of thing.
There you go.
That has been my entire week. I will just divulge.
Ooh, I didn't even know that. Well, our dear Magnolia Mayhem comes in with 2,345 SATs.
Two males in a row. Nice.
And a Knicks Book Machine giveaway follow-up. I love this. I finally got my wife to sit down and use it. There wasn't that much information that I could glean from the experience, but that's mostly because there wasn't anything that she ran into. Wow. I gave her the prompt of, imagine you're someone who needs a job, and this just got set down in front of you as a laptop.
Gave her the prompt.
She immediately just went to Indeed.com. I can't even say she was impressed, because to her, it was just a computer, which I think is maybe the best response I could have gotten. From her perspective, Linux is my i3 desktop. She didn't even know she was on Linux. Best report I could give, up next, grandma.
Oh!
Oh, yeah.
Let us know how that goes. Interesting. You know, that is probably the best report possible, I suppose. Thank you, Mr. Mayhem. Appreciate that.
Well, we have a couple boosts here from Elray. El Rey 741,
β ΒΆ Picks
While I can appreciate other listeners' sentiments, and initially for a little while I agreed, that there was too much AI conversation in Linux Unplugged, but then I reflected on it a while back, and I have really appreciated the pragmatic and fun approach JBS has taken to the AI topic. For a while, you've used it in the background and not brought it up much, because I'm assuming it wasn't as applicable to the wider audience, for example, the song generation that we do.
But as you found things had greater impact to your day life, you've brought more intentional topics to us, the audience.
Oh, thank you. I think that's fair.
I also wanted to throw out there that I've loved the members bootleg feed update having the video enclosure. Life has been crazy busy, so being able to see the amazing studio, your facial reactions, and friendly faces has been awesome when I get some downtime.
It's so nice to hear from LRA, too. Hope you're doing well.
Yeah, me too.
Agree?
And thank you for the feedback.
FYI, since you've chatted with Fountain a lot in the past, when rotating to landscape mode, oh, this is a bug report, I think. When rotating to landscape mode using the video version in full screen, the Fountain logo cuts off part of Chris's head. So when you go to the third person shot, since Chris is on top, not a big deal, but you know, Chris's face.
Yeah, I do like to be on top and that is something I'll talk to them about. You got to have that wide screen. I mean, it's just a 16 by nine video. Thank you. It's good to hear from you, sir. User 266 is here with 4,709 sats. Woo-hoo! Long-time listener, first-time booster.
Nice.
That's great. Maybe my last, since I'm switching away from Fountain, though. Too many bugs for me. Some people hit them, man, you know? It's really gotten very, very good, but in terms of some of the other apps, they still have like a decade on them. But he says, all the talk about AI has been okay with me, but not whole episodes. There's so much more going on in the FOSS world. Well, that is, there is a lot.
True. It doesn't get as much coverage as it should, So that's one of the things we try to take on as we can.
And feel free to boost or email in too if there's something we have missed in the FOSS world that's exciting.
It says greetings from Italy.
Because we don't see it all.
Greetings from Italy to you too, or at least back from us.
Italy meetup, let's go.
Let's go. All right, I like that.
All right, well Ensign Nix comes in with 2,048 sats. I'm not a fan of AI, but I acknowledge that it's a useful tool. The thing I dislike the most is that it's been placed on too high of a pedestal by the big tech companies and advertised as the answer to all of humanity's problems. And as a result, now I can't buy memory or a hard drive without breaking the bank. I actually want the AI bubble to burst so we can shape its future instead of greedy corporations who only care about profit.
I will say.
That's a fun, refreshing take. I like it.
I agree.
It's a nuance in that you can't blame the tech for the way the corporations around it decide to make purchases even before they have the money to pay for it all. But it is the silly part of the curve, for sure.
I think what Chris is trying to say is, it's not the tech, it's the people.
Yeah, it often is, though. It often is.
And boost in and we'll send you the studio address and you can send your RAM here.
We need it. Oh, man.
Adversaries 17 boosted in 4,220 satoshis, Well, I think you guys are balancing AI and non-AI topics very well indeed. I can definitely tell there's a lot of work put in each week to keep topics fresh and highlight the lesser hyped things. Please keep it up.
Oh, thank you, sir.
Thank you.
I like the adversaries. NK of comes in with five, you think I got that right, 5,000 sets. Another one, I like the AI coverage, but I know it's not everyone's cup of tea. Could chapters help those wanting to skip the subject? I think the current ratio between AI and not is good. So keep up the good work. Thank you.
Do we have chapters in our feed that people can use?
We do have chapters.
It does bring up, you know, that could perhaps, and I'm failing at this all the time, but kind of like with Nick's, perhaps then if we do think consciously about keeping, you know, not an absolute ban or anything, but just keep, don't inject AI into every chapter when we don't need to.
It did take a drinking challenge to get us to behave a little bit.
Yeah.
Hopefully it doesn't get that bad.
So hopefully we can avoid that. Well, Kiwi Bitcoin Guide comes in with 4,567 cents. I enjoy the AI subject matter and the way you cover it. I'm fairly new to the Linux and FOSS world, and now I have to weave AI into it all, so I appreciate the way you bring it into the Linux ecosystem. Give examples of practical use cases and also potential hooks to be aware of. AI seems to be here to stay, and everyone needs to understand how to use it, so keep the content coming. That's my vote.
Thank you.
Thank you.
Yeah, that has, so, I mean, I do really appreciate all the positive feedback, because it does sort of balance out some of the negative feedback. I think the takeaway is when we talk about it, talk about it in a practical useful context that uh you know and i think that's what something we've been good at with with an open source focus.
The way i've been approaching that tool is like what can i do with it you know the the technology is really just the means to doing something bigger and greater and i think that helps me.
I think to buy a.
More positive relationship with it.
Like you were mentioning one of the models you were you were leaning into this past week uh is an open source one and um and.
They're quite capable these days.
Yeah that's been really fun to explore too.
Well turd ferguson boosted in 10 000 satoshis, As someone a bit more seasoned than you boys, I've been appreciating the light but practical AI talk. I don't know about you, but I have been noticing a slowly but growing trend of people reluctantly accepting and then really beginning to embrace this technology.
This reminds me of a meme I saw on social media. Somebody screenshotted their blog headlines, you know, just like the RSS feed of their headlines. and a year ago it was why I will never use AI or Vibe code. And then like six months later it was some of the things I'm finding it kind of useful for. And then three months after that his blog post was I don't write a line of code anymore. This is incredible.
And it is funny how you see people start on a journey. It's like when you find something that's useful for it, it begins to crack that kind of assumption that you've made about it I think I think there is something to that.
It's also just wild because everything changes so fast between the capabilities.
How you can use.
Them and how easy or hard they are to use and all of that too which does not always jive well with our human level speed.
And like many people have pointed out there's a lot of noise out there too you know a lot of noise it's very confusing all of that too, Thank you, Turd. Appreciate that. Forward Humor comes in with 4,444 stats. Hey, guys. I just wanted to say thank you for all the variety in the show, including the AI and tech news. I always appreciate a show that entertains me and keeps me up to date. Not enough time in the day to stay current on my own.
The show continues to dive deep on interesting and helpful topics. Keep up the good work. Wow, Forward Humor, thank you. We did not pay these people. We did not pay them to say that.
They're paying us for some reason.
They're paying us, and we didn't know. Thank you, guys. Appreciate that.
Tomato comes in with a row of ducks.
I think it's tomato.
Hey, you say potato, I'll say. I'm simultaneously sick to death of hearing about AI and enjoying Love's AI coverage.
Wow.
You are all on a very, very short list of exceptions because you strike a good balance, both in terms of the amount of coverage, but also being neither cheerleaders nor thought-free haters. I'm pretty much aligned with Brent, and like he clearly is, I'm enjoying hearing Chris and Wes's AI adventures.
I just watch from a small distance and keep my detective shield up.
He lets us burn the tokens on the agents.
Then I can be more efficient.
You're watching from your hardware hacking lab, buddy.
Yeah, it's more of a bug lab at this point. SpookySatCom came in with 1, 2, 3, 4, 5 satoshis. For someone who isn't completely sold on the overall value of all the AI development, I do find value in your approach to covering the use cases for it. So keep up that great work.
Wow. Thank you. All right. That's great, Spooky. Appreciate that. That's a good amount of signal there. And, of course, you're always welcome to counterbalance or add your own. It's going to be a topic of consideration for a while as we find that balance. Thank you, everybody, who streams stats as well. 15 of you collectively stacked. 24,874 sats. When you combine that with our boosters, that brings this episode to a humble but very appreciative and thankful,
124,185 sats. Now, this is a value-for-value show, which means we put it out there for free, and if you got value from it, you can send it back with a membership or a boost. Fountain FM does make it easy. They make a lot of easy ways, including self-hosted or fiat channels or whatever it might be to boost. But then there is a galaxy of options when you go to AlbiHub, from self-hosted to apps on your phone and whatnot to participate including just boosting from the podcast index.
Go check it out. And thank you everybody who supports with a boost or a membership. Keeps the show going. Coming on Lucky 13. How about that boys? That's crazy. So crazy. Wow. All right, to make up for last week following the rules and only having one pick, we are really breaking the rules.
It's a blowout.
It's a pick blowout this week, and both Wes and I came across SSH Route, a network-aware SSH router that routes connections to different IPs or ports, keys, jump hosts, etc., based on your active VPN or network. So if you're moving between networks or VPNs, this is for you. It detects your active network or VPN, automatically selects the right host, the right port, the right identity file, the right jump host,
et cetera, for each connection without you having to touch your .ssh slash config like an animal. You make a few definitions in there, and you're good to go. Every connection SSH route detects which network you're on, if it's your office LAN, a wire guard peer, a mesh network, and then it resolves the correct SSH parameters before handing off to the real SSH binary. Pretty cool.
That is slick.
I think this one confused some folks who saw it after it was getting promoted on Reddit and a few other places, just because it might be a tool that you hope you don't need, you know? Like in a sense of, if you have a sane universe and really well-architected networks and like super modern tools and really coherent thought about infrastructure, then maybe you don't need something like this. But for the rest of us who do have all of that mess, maybe it's helpful.
And you get, like, the main part is you can keep all of this stuff declarative, keep it in a yaml file something tells me that would make it pretty easy to wrap into a nix os config if you needed to that kind of thing.
Interesting yeah you know wherever i go i can just ssh into my machines no problem i don't need it but uh i figured somebody out there might now uh tell me about render cv i have a feeling this could be useful for people out there that hate creating resumes oh.
That's me actually i hate creating.
Yeah well.
Computers and resumes really.
Well yeah Who doesn't hate creating resumes?
I have been actively looking for work. So if anybody has something that seems interesting for a Brent, I'm all ears. But that said, this week, I was like, I should probably update that old resume of mine. And I did not want to do it the same way I've done it in the past. I wanted to do it programmatically because, come on, I wanted to put that thing in Git and keep track of it. Different branches for a different job. I'm like, come on.
I'm a better me than I was in the past. And I found there are many, many, many, many options for this, which is a good thing. But the one I ultimately settled on way too late at night was RenderCV. This is basically a resume builder. It says for academics and engineers. I don't know if I fit into either of those. But you can basically version control your CV, which is quite obvious and super useful. It is a JSON. I think it might be JSON. So it's relatively easy to edit.
But the thing I loved the most about it is that it's really quite handy to use with your favorite AI companion because it's just a heck of a lot of text similar to an XOS. You just treat your resume like your infrastructure.
Right. The source file, it's a YAML file. And so if you've got something that can work with a YAML file, that's all you need.
Is it YAML? See, I didn't even need to care. It's just text.
You're technically still right because YAML is a superset of JSON, it turns out.
Wes. Damn it.
Thanks Wes. At least someone loves me. That is the worst.
Well, actually of the episode.
What I really loved about this approach is, of course I mentioned I could track different resumes and different branches and keep track of them over time, which is what quite obviously useful, but also I can just have a variety of different versions that I'm working on concurrently and interface with it the way I interfaced with it was basically using my favorite AI tool.
And that meant that I could, I have it check my silly ways of trying to promote myself, which I am very bad at and just be like, hey, give me some kind of objective way of talking about myself because I feel this entire process is very uncomfortable for me. And so it turned it into more of like an infrastructure project than it did me just talking about myself, which was a good way to break into like.
Okay, let's get this done. Like I, like you, cannot conceive of a way to like talk about myself in the structure of a Word document in paragraphs.
Right.
But for some reason, a structured YAML document that's just like, that does make sense because it's just attributes. That to me, I could work with, ironically. And it looks like what it produces is a pretty good, clean looking resume.
Oh, yeah. I was really impressed. I was super impressed. So I would highly recommend it. You don't necessarily have to use this particular tool. There's a bunch of them out there that do different things. But if you haven't leaned into this way of taking care of your resume i highly highly recommend cv.
And it seems like a great way like you say where you could iterate on it over time and you could keep those iterations and get if you'd like.
If you don't you're doing it wrong.
It really also comes down to me having just been lazy and i said go find everything you can about me on the internet and like compile a cv for me because there's information out there right And it did really well. I was super impressed. I said, like, make sure you grab some, you know, GitHub.
Stats because this particular application i was looking at was pretty like git heavy and i was like go go pull some insights from github go like you know so very impressed i'm sure you can ask your favorite ai buddy to do the same thing for you.
I have nerdy thoughts on this yeah just because i took a look because actually i've been working on my own sort of version of this before even seeing the render cv existed so i really approve of your find here because i i took a look into the code and the spirit is great because it's purely this like data oriented pipeline as you noticed right you put in yaml and then you get out pdf or it can do markdown and it can do html and under the hood it uses types and i think it can do latex
as well but types is a modern rust based really nice type setting and layout engine so that's why the pdfs look so nice as they do. Plus, it uses Pydantic, which is a great Python. There's a lot of Python under the hood. And Pydantic is a great validation and schema library for Python. And as a result, they export a JSON schema, which then can be applied to the YAML config. And that tells editors or AI helpers what the schema and the keys are.
So if you open it in VS Code, you can get sort of an autocomplete or a helper to show you what's allowed in this field and what are the valid keys and stuff.
And then on the backside, and this is something I'm looking at copying or implementing my own version of or running at render CV stuff on the side or whatever, they have a whole set of tools used to parse the resulting PDF and essentially a test to make sure that it can parse out all the details it expects and sort of get it back to a YAML-y state, which helps if you're going to submit to these automatic systems that look at your PDF and do that in their own sort of HR backend system.
You want to make sure that your PDF isn't going to be opaque to those and render CV has that all baked in. So super professional grade. You don't have to like pick the nerdy fun data and get route and then feel like you're losing out to the people who have the word resumes because that's what everyone else set up to support. So I really like that.
And I enjoyed how I could treat it almost like building my next config where everything gets, you know, during build time, it tells me if I made any mistakes, which I made plenty of, and I got all that fixed up. So instead of, you know, exporting a PDF, checking it and be like, oh, that didn't work or didn't get formatted the way I wanted, all of that got checked, let's call it at build time when it was doing the exports instead of wasting all my time.
You know what you could do? Stretch goal. See if your helper can help. You could turn it into a totally Nixified build. So you did Nix build and you got out a PDF on the other side. And you could have the resume stuff that's in YAML be in Nix if you wanted.
Incredible.
Stay tuned next week.
All right. So the last one, it has been a very, very long time since we have done a hardware pick. But you often hear us referring to these ESP devices. We're loving these things. We talk about them more and more on the show. And it's a great way to take a lot of your Linux hackery knowledge and apply it to physical hardware. But it can be intimidating to start physical hardware projects, especially when you don't know anything about where to start.
This past week, the Open Home Foundation had their State of the Open Home presentation. And along with that, they announced the ESP Home Starter Kit. It's an official ESPM Home Starter Kit, and they call it the easiest way to start building your own smart devices. No soldering, no breadboards, no coding experience needed. Plug-in modules. They have a visual YAML editor, and you're up and running. It integrates with Home Assistant or standalone right away. $39.99.
The majority of the profit supports the Open Home Foundation and funds future ESP Home and Home Assistant and other Open Home Foundation projects.
This looks fun.
Yeah, it does.
It's a really neat bit of kit. It's, it, it also just has a really cool visual appeal to it. And it includes in the box, you get enough to actually build something useful with it. You get a motion sensor, you get a temperature and humidity sensor. You get a 10 X RGB LED board to play around with, with a buzzer module.
Huh? What's that?
And a physical button. So, I mean, obviously you could use this to control lights, monitor bedroom temperature and humidity. You could trigger automations with the physical button module. You get audible notifications with the RGB. And it's really easy to get started. And everything just plugs in together. Just all connects. And it comes in cool little cases and whatnot, too. And it's $40.
It is expected to ship mid-May. I've put my hat in because the pre-sales just went immediately since it was on the live stream.
So did you get a sense, like, is this going to be a one-off or hopefully something that turns into like an ecosystem that keeps getting developed in future models and versions?
I would bet if it's successful that the latter. So the way that I've noticed, they kind of dip their toes in with these kinds of things and they sell it through a third party and they kind of see how it goes. And if there's a strong response, I would not be surprised if the foundation started doing more starter kits like this.
Home assistant has gotten to the point that if you if you utilize all of their features it's just as easy to get something working with home assistant as it would be with home kit or any other i mean even to the point of on your phone it'll slide up and say a new device is detected would you like to add it to home assistant you just hit a button and it just adds it i mean it's gotten really good so easy and this this is going to work like that and i just i think it's going
to be really exciting because it's also a really you know two three hour saturday project could be a really fun thing and a great learning experience too. So it is called the ESP Home Starter Kit and it's currently being sold by Apollo Automation and I'll put a link to it in the show notes, of course,
β ΒΆ Outro
which you can find those show notes at linuxunplugged.com slash 666. No, we definitely want your input on how to shape and do this BSD challenge because our hope would be that you participate along with us. And we want to kick it off in episode 665 and conclude in episode 666. So we've got a couple of weeks to set the ground rules. So please go to the contact page or boost in your thoughts on a BSD challenge and what you would like to accomplish, what you'd like to see us accomplish.
Any thoughts on the scoring a level four challenge anything like that please help us out we'd love to see that and don't forget linux fest northwest also just around the corner 13 days scary.
Yeah how's the audio stack on freebsd because uh you know yeah.
We're gonna end up running oh my god.
That's whatever you're done.
No no we gotta do the math on that we better do the math on that I hope we dodged that one. We're doing it live.
People. We're doing it live.
Speaking of live, we'd love it if you joined us live. We do it on a Sunday, a Tuesday on a Sunday at 10 a.m. Pacific, 1 p.m. Eastern. Yeah, that's over at jblive.tv, or if you're on the go, just tune in jblive.fm in your browser or whatever you want.
VLC on Android? Great for that.
Great for that. Wes Pano, there are extra levels of detail around the show. It's not just an audio podcast. You could say there's different types of metadata, even.
Yeah, that's right. We have lovingly crafted Editor Drew Blast titles in JSON format, hosted on the cloud for easy access, dynamic updates. Jump right to the content you want, skip the AI section, go right to the stupid AI section, whatever you like. We don't care. We don't judge.
We don't care.
Just download the MP3 file and we're all good.
No, I'm kidding.
But we also then take the wonderful stems that Editor Drew produces and we run that through some wizardry to produce diarized transcripts that, you know, aren't maybe 100% perfect but are pretty darn good and at least help you furthermore find out exactly what we said or jump to the content you want.
I hope the best transcripts in the business because we feed the thing individualized stems of each of our tracks so there's no crosstalk. It's as clean and crisp as it can get because we care about that kind of thing. Thank you so much for listening to this week's episode of Your Unplugged Program. You're welcome to join our virtual lug in Mumble next week.
And, of course, as we do the BSD Challenge, links to everything we talked about today, our contact page, our Mumble info, our matrix info, our membership, all of it. LinuxUnplugged.com and a bunch of great shows over at jupiterbroadcasting.com. Okay, that's it for us. Thank you so much for joining us. And we'll see you right back here next Linux Tuesday. And you know when that actually is. That's on a Sunday.
