Chris: I just about drank all my Red Bull. Oh, I did drink all my Red Bull.
Brent: Uh-oh.
Wes: Uh-oh.
Chris: Wes brought me a winter iced edition.
Wes: They're pretty nice.
Chris: The iced vanilla berry. It's quite pleasant. It's a nice winter treat.
Chris: Do you think they'll have this in the summer? Because I think it could be refreshing all year round.
Wes: I think you're right. Maybe pour it over a little ice in the summer while you're sitting on the deck.
Chris: I think it could be our drink of choice on the road trip.
Wes: Do you think they'll sponsor us?
Chris: You know, B-Rent's talking about flying into Vancouver and then coming down
Chris: with us in the car to California I support that I know wouldn't that be nice I.
Brent: Know that wasn't plan A, B or C but plan.
Chris: A sounds fabulous boys trip I'll miss the van but it'll be a solid boys trip well I know.
Brent: I know I know if it wasn't like so many mountain passes that are really snowy
Brent: to get there plus like a five day trek.
Chris: I understand of course we.
Wes: Do want you fresh.
Chris: Every Airbnb we booked is only for two people so you will have to sleep in the car but that's fun,
Chris: Hello, friends, and welcome back to your weekly Linux talk show. My name is Chris.
Wes: My name is Wes.
Brent: And my name is Brent.
Chris: Hello, gentlemen. Well, as we prepare to hit the road for Planet Nix,
Chris: we're going to chat with two individuals who have seen some major shifts and
Chris: transition in Linux over the years, and we're going to get their take on where we stand right now.
Chris: Then we're going to round out the show with some great booths and picks and
Chris: a lot more. It's a big episode, so before we get there, we've got to say time-appropriate
Chris: greetings to our virtual lug, which is PJ. Hello, PJ!
Chris: No shade to all the folks up on quiet listening. To be honest with you,
Chris: if I was listening to the show live, that's how I'd be doing it.
Chris: I'd be up there in the quiet listening.
Wes: No risk of accidentally showing up on stream.
Chris: Yeah. That way I can make my fart noises and stuff and it doesn't want it.
Wes: And we get to see it, right? That is true. Everyone else watching,
Wes: it's a little hard to tell. We know you're there, but it's a little hard.
Chris: It's nice for us.
Wes: With Mumble, it's right there.
Chris: It gives it the live vibe. We are live every single Sunday over at jblive.tv. Is that what it is?
Wes: Jblive.tv.
Chris: Is that where you go?
Wes: Or jblive.fm if you just want a tight little HTTP MP3 stream.
Chris: Wes, what if I just want to do it in my podcast app?
Wes: You can do that.
Chris: I can?
Wes: Both live audio and live video if it supports an alternate enclosure.
Chris: Whoa, in the podcast app?
Wes: That's crazy. It's got to be 2.0.
Chris: Okay. Well, let's say good morning to our friends over at Define.net.
Chris: Go to Define.net slash unplugged and meet Manage Nebula from Define Networking.
Chris: It's a decentralized VPN built on the open source Nebula platform that we love.
Chris: And it's optimized for speed, simplicity, and security.
Chris: And unlike the other systems out there, there isn't a central provider or a
Chris: central control plane that can knock you offline.
Chris: In fact, you can build out the network as resilient as you like.
Chris: You can let them manage it entirely. You can have one system to talk into another
Chris: system for backups, or you can have a worldwide enterprise system.
Chris: It's best in class. It's very impressive. It's one of the projects that we have
Chris: followed from the very beginning, and we're super excited to have them on the show because we love it.
Chris: We've been, like, totally dialed into where this thing's going, and we're using it.
Chris: Nebula was built in 2017. That's how long we have been fanboys.
Chris: So go check it out because you can get started, 100 hosts for free,
Chris: no credit card required.
Chris: You go to defined.net slash unplugged, and you deserve a better VPN experience,
Chris: one that you fully control, especially when it's your infrastructure and you're
Chris: going to use it for a while. Defined.net slash Unplugged.
Chris: And thank you to Defined for supporting the Unplugged program,
Chris: our one and only sponsor right now.
Chris: Well, Planet Nix is just one episode away. We will be in studio,
Chris: although I was thinking it would be fun to just hit the road early and do one
Chris: show from- You're right.
Brent: Just to do it.
Chris: Just to do it, but then I think about what a pain in our behind that would be, and I think- No.
Wes: It's a lot more work for no reason.
Chris: We'll just drive harder and faster. So we have one more episode in studio,
Chris: and then we're hitting the road to Pasadena for Planet Nix and, of course, Scale.
Chris: Planet Nix is bringing engineers from Anthropics, Spotify, Microsoft,
Chris: and AWS for just practical getting things done Nix talks, nerd workshops.
Chris: The agenda is live March 5th through the 6th. Check it out. Planet Nix.
Chris: It's going to be amazing.
Chris: Phlox is sending us there. I'm very, very grateful for that because this is
Chris: something that we would have so much FOMO on if we couldn't make it.
Wes: Oh, my gosh. I know. So much.
Chris: It would be so intense. And Phlox is the perfect company to do this.
Chris: They're in the right position. they're trying to make reproducible dev environments
Chris: that are actually usable for everyday folks they're kind of you know in the
Chris: mix here so we're going to have a meetup,
Chris: it's going to be great meetup.com slash jupiter broadcasting the details aren't
Chris: necessarily final there but we will get them locked in we do appreciate if you're
Chris: going to make it if you can sign up because it lets the venue know one more unplugged boys.
Wes: I'm getting nervous.
Chris: Hopefully the weather's great,
Chris: I hope so.
Wes: Why do you say things like that? You're just setting us up.
Brent: I know, right?
Chris: If you can't make it too, we would appreciate any support you can provide.
Chris: A boost or becoming a member would be a big help because the show is running
Chris: hyper lean at the beginning of the year. And these are pretty expensive for us.
Wes: And maybe also let us know what you want to see out of some of our coverage.
Wes: The things you're curious about, stuff we can check in on.
Chris: We're going to be at scale too. And that is the largest Linux event in the Northern American area.
Chris: And so there's a lot there. We will be on the ground.
Chris: We do have a promo code. You can use unpludge, U-N-P-L-G, to sign up and get
Chris: 40% off your tickets to scale.
Chris: And if you're nowhere in the area, you're not going, you're just sick and tired
Chris: of us talking about this, the good news is we're almost done.
Chris: And then you won't have to hear us go on about this anymore.
Chris: And we do appreciate your patience. Really, we do.
Chris: Well, we had a chance to sit down with Michael Stonke, the VP of Engineering at Phlox.
Chris: And i did a little of my
Chris: internet stalking before we sat down with michael and
Chris: i discovered that he's been responsible for some projects that we have all used
Chris: and benefited from in one form or another so he joins us now he'll be at planet
Chris: nix in just a couple of weeks as well giving a talk yep giving a talk a good
Chris: talk we'll have that linked in the show notes so let's welcome michael to the program.
Michael: A.K.A. Stonkey, welcome to the Unplugged program. It's great to have you, sir.
Michael: No, thanks for having me. So you are the VP of Engineering at Phlox,
Michael: and I think that is particularly interesting.
Michael: I'm just going to get right into it because this is my bad.
Michael: I didn't realize that you were the co-founder of the extra packages for Enterprise
Michael: Linux back in the day in 2005.
Michael: And now here you are all these days later at Phlox doing Nick stuff.
Michael: Still involved in packaging, turns out. Yeah, I mean, that was kind of how it
Michael: came full circle was when Flux kind of reached out to me.
Michael: I was like, wait, that was me to run a whole business based on packaging? Hell yeah, I'm so in.
Michael: So yeah, I mean, I've loved packaging my entire life. It was just one of the
Michael: coolest things I have ever gotten to do and work on.
Michael: And so why would I not want to keep doing it?
Michael: And, you know, there's different ways, there's different theories,
Michael: but I've packaged for basically every Unix and Linux under the sun.
Michael: And they all have advantages and disadvantages. advantages and nix
Michael: was actually something i had looked at first in i'm
Michael: gonna say 2007 2008 somewhere in there
Michael: and and i just thought okay a bunch of haskell people decided packaging
Michael: just wasn't difficult enough um and they made
Michael: nix and so i kind of dismissed it for a long time and you know obviously kind
Michael: of sitting on the sidelines i saw things mature and stuff like that but i really
Michael: hadn't given it a shot until flox had reached out and i started playing with
Michael: it again i was like oh there's actually a lot here that i really like so yeah
Michael: and looking back on it i would have changed my career completely if I'd have known Nix,
Michael: because some of the work that I was hiring dozens of people to do probably could have been removed.
Michael: Oh, yeah.
Michael: So I guess also for a little bit of background, you spent some real interesting
Michael: time at Puppet during a real key moment in history and CircleCI.
Michael: So that really feels like a very interesting background to now bring to Nix,
Michael: because it's a totally, totally different world and sort of almost a 20-year
Michael: journey to kind of bring you to this point. It still must have been quite the leap, though.
Michael: I have to imagine from that background, going to what you're doing today,
Michael: that must have been a bit of a mental learning process.
Michael: The tech wasn't too bad. I mean, there's, there's new words,
Michael: you know, you hear things like derivation or you hear things,
Michael: you know, like provenance, you know, spoken about so regularly and things like
Michael: that. And like, that's, that's fine.
Michael: And it, but so there was new vocabulary to learn, but most of the principles
Michael: were basically the same, you know, it was like, why do I chatter the immutable
Michael: bit of my distribution server?
Michael: Well, because it should be read only. So you can't ship the same thing with
Michael: the same version with a different shah sum. And it's like, well,
Michael: it just handles that internally.
Michael: Like, you know, so there's a lot of those principles made total sense once I unpacked them.
Michael: And there were other things that didn't make sense and frankly still don't to a lot of degrees.
Michael: You know, there's just choices that are made. I'm like, I have no idea why this
Michael: decision was made or for whom this was made.
Michael: You know, was it made to make one developer's life easier or every user of Nix easier?
Michael: You know, things like that. And I'm, you know, and again, there's just not,
Michael: every technology has these moments. So it's like, this is not unique to Nix.
Michael: Yeah. But, you know, kind of from the puppet world, where we wanted to declare
Michael: the state, we wanted to have, you know, state enforcement and all of that.
Michael: Looking at Nix, you actually end up in a very similar kind of CSE,
Michael: you know, graph theory, I'm going to walk my dependencies kind of mode.
Michael: It's almost the same stuff. It's just applied through a, you know,
Michael: different language lens, different client server models and,
Michael: you know, things like that. So, yeah, maybe you flip it a bit,
Michael: right, where you can the system's working with you instead of sort of having
Michael: to impose item potency from afar after the fact.
Michael: Right, right. It does make me, it does kind of stand out to me that,
Michael: you know, between Apple and Puppet and Circle, like, you've been involved clearly
Michael: with a lot of the different lifecycle in software, not just,
Michael: you know, building a backend service that runs a SaaS.
Michael: It's like actually having to do good builds and get them out there on infrastructure
Michael: and get them configured and running properly on end machines,
Michael: which I think probably connects a bit to Fox's mission, too.
Michael: Yeah, I mean, you know, at Puppet, it was built basically a whole distribution
Michael: of this thing called Puppet Enterprise. that had to run on all these different
Michael: platforms. We're testing on 100 different targets or whatever.
Michael: And so through that testing, we had to build custom CI systems because there
Michael: was nothing off the shelf that did anything that we needed it to do.
Michael: And eventually that's where CircleCI comes in. They see me give presentations
Michael: on the way we build and test Puppet and they're like, we'd love to have you.
Michael: And so I get to go do that, which is super fun because the cost of being wrong
Michael: at Puppet was you had to ship a new version.
Michael: You had to wait for your customer to take it up. And that might be a change
Michael: window that's nine months from now before they even get it installed and all that.
Michael: You go to CircleCI and it's like, Like we can ship literally 85 times.
Michael: And it was just awesome. You know, like that is so cool. And then at Flux,
Michael: there's a little bit of both because it's like a client piece and a server piece.
Michael: And the servers, we can be moving all around and we can be updating and,
Michael: you know, adding new observability capabilities or, you know, whatever all the time.
Michael: And then on the client, we ship it every two weeks and roughly,
Michael: I mean, almost always every two weeks, but every now and then we take a week
Michael: break if it's like a holiday week or we're all at an offsite or something.
Michael: But, you know, and that gives you that client on your computers,
Michael: whether it's, you know, client, server, laptop, whatever, but,
Michael: and, and so it has a little bit of both of those like backgrounds that I really,
Michael: you know, got to, got to work in.
Michael: And so it, I would say, generally, it leverages a lot of my background pretty well.
Michael: So then, okay, where is the gap now for regular enterprise adoption?
Michael: Because you kind of just made a great case, but it still seems a little slow. I mean, it's picking up.
Michael: Yeah, I think that a lot of the friction is, it's like socio-technical,
Michael: it's not just technical.
Michael: And so you have, you know, I think Nix is, it's cool.
Michael: It's, it's, well, the documentation and the getting started guides are still
Michael: a little bit esoteric, or maybe you're like, this one's weird if you're doing
Michael: it in this way versus that way.
Michael: But a lot of companies end up evaluating nicks for
Michael: using it and what we find is there's kind of one person who's the
Michael: champion of the nicks you know experience and if
Michael: that champion is no longer available for whatever reason you
Michael: know they win the lottery they leave they get hit by a bus they are on pto they
Michael: have a baby whatever it is the nicks effort kind of stagnates and then basically
Michael: gets a bad rap because people like oh this nicks stuff no one understands it
Michael: but like we rely on it this sucks it's always broken no one knows how to fix
Michael: it why do i have to learn all this that That doesn't get totally different.
Michael: Yeah, right, right. And so, you know, when Michael, our founder.
Michael: You know, was at D.E. Shaw, which is a giant hedge fund, you know,
Michael: big financial services. Cost being rung there, very high, by the way.
Michael: You know, you're talking millions of dollars a minute at times.
Michael: So, and so for them, they needed a lot of precision, which meant they need to
Michael: know where software came from and everything. And so they found Nix as this build system.
Michael: And he was, this is awesome. My developers can't use this. And so,
Michael: he started working on what are the abstraction layers, what are the patterns,
Michael: what are the workflows that people need, and that was eventually spun out to become Phlox.
Michael: And as we've been developing Phlox, it's been, well, how do we work on team
Michael: collaboration and team usage and team understanding versus kind of that superhuman
Michael: individual that maybe eats, sleeps, and breathes this stuff and sees it more
Michael: religiously than probably pragmatically.
Michael: And I think for us, if you're religious and love Nix about it, cool, that's fine.
Michael: I think a lot of people just want to get their work done and move on and that's
Michael: cool too and so we want to help you do that with these principles that are
Michael: awesome from nix yeah kind of it kind of reminds me of of editors you
Michael: know you could do something where you have a custom neovim setup and it really
Michael: fits you and you've like made it bespoke and it's great and it works really
Michael: well but you can't really onboard someone to that and it's kind of nix is the
Michael: same way right it's a it's a private superpower it's incredible but yeah trying
Michael: to make sure everyone else is on the same page with your particular way of injecting
Michael: the right uh modules different story.
Michael: For us, like, one of the more interesting things I would say about,
Michael: like, Flox right now is we're not just trying to be, like, Nix++ or Nix with a veneer.
Michael: You know, like, there are other capabilities within Flox that are more about
Michael: portability of usage and about acceleration of environments and,
Michael: like, all these kind of environmental things that are, I would say,
Michael: more Flox primitives than, like, Nix primitives at this point.
Michael: And that's really important to us as well because we don't just want to be,
Michael: like, Nix++ because if all you're going to do is make Nix better,
Michael: just go work upstream and make Nix better. Like, that's the right thing to do.
Michael: But we were trying to build it more with a commercial eye toward adoption from,
Michael: you know, businesses that actually want to want to get work done and have a
Michael: build system that's consistent.
Michael: Any of those primitives stand out? I'm just kind of curious.
Michael: I've dabbled with Phlox, but I haven't used it in part of a shipping team yet or anything.
Michael: Yeah, I mean, I think the Phlox environment is kind of the thing that we would say is different.
Michael: You know, in a lot of ways, it resembles a Nix profile, but it's like a Nix
Michael: profile that is a big superset of what a Nix profile can do.
Michael: You know, we have service management within there.
Michael: So you can have developer services kind of into, you know, you could say flock
Michael: services start or flock services status and kind of get, you know,
Michael: I have my Postgres running, I have my Redis running.
Michael: So the second I can clone the thing I'm going to go work on,
Michael: I can just clone, activate, start services.
Michael: And now I've basically got a working developer setup, you know, within moments.
Michael: And then more on the runtime side or, you know, builder side,
Michael: you can build custom packages. You can add them in there. you can activate things
Michael: where you have libraries enabled to compile against or you only have binaries
Michael: in the bin path. It works with ZSH and not just Bash.
Michael: So there's all sorts of enhancements that we've done there but some of them
Michael: are also just not things that a Nix shell sets out to do and that's totally fine.
Michael: For us, we want the Flux environment to be the unit of change.
Michael: It's got history, it's got generations, you can roll back to previous versions
Michael: of it, everything like that so that it's more of an enterprise capability.
Michael: Yeah, that makes a lot a sense of kind of taking some of the ideas in the broader
Michael: ecosystem in ways Nix gets right and maybe applying them to a broader scope of ideas. That's neat.
Michael: Yeah, if you kind of think about like a thing that was a unit of work and all
Michael: the CNCF workflows and, you know, we built all sorts of tooling around it and everything.
Michael: And it's kind of similar like that. And we just we use the Phlox environment.
Michael: It's not to say we can't work with containers, by the way. We totally work with
Michael: containers, but you don't have to. It's optional. Yeah.
Michael: OK, so I want to shift gears and talk a little bit about another gap that I
Michael: think maybe you're bringing up in a talk on Friday.
Michael: So I kind of wanted to get a sense of, oh, I don't have a picture.
Michael: I kind of want to get a sense of what you'll be talking about,
Michael: Nix and AI, are we there yet?
Michael: And then you have a line in here, why aren't more ML teams using Nix?
Michael: Yeah, well, so there's like so many threads to pull on in that topic.
Michael: And I mean, I think part of it is model distribution is, it's expensive and
Michael: it's bespoke to a large degree.
Michael: It's like your home directory has a dot, you know, olama directory or whatever.
Michael: And it's just got gigabytes and gigabytes of stuff in there.
Michael: And if you have another user on the same system, they have this same thing.
Michael: They also have gigabytes and gigabytes of stuff in there. It's just like,
Michael: I mean, just from an efficiency standpoint, it makes me angry.
Michael: But like also is it versioned is it packaged like how do you know what's in
Michael: it where did it come from was it from hugging face was it you know did you get
Michael: it straight from somewhere else did you just go download it off github like
Michael: there's all sorts of needs there for those ai and ml teams and i think you can
Michael: just look at it as well what if they were just packaged and like you know
Michael: they should be read only like those models shouldn't be being written to so
Michael: like a lot of the things that nix does by default you kind of want those those
Michael: those defaults and And so packaging some of that, but also, you know,
Michael: just being able to pass it around and be like,
Michael: you know, we, a lot of those models also don't care what architecture they run on.
Michael: So you don't need like a package specific, like this is on AR64 and this is
Michael: on, you know, PowerPC or whatever. It's like, it's, it's just inputs.
Michael: So not all of them depends on the model exactly, but like, you know,
Michael: there's just different ways of doing that stuff.
Michael: And so I think that's part of it, but also one of my favorite things I've been
Michael: doing since I've worked at Phlox is I have a program that I like to throw and
Michael: say, generating expression to build this program.
Michael: And I'll throw it at an LLM. It's a really, really simple Go program, I'll be honest.
Michael: Like it's maybe got, I don't know, maybe 15 dependencies and like most of those
Michael: are really well-known Go stuff, like nothing esoteric. And when I first did it,
Michael: i'd iterate with chat tpt 30 35 times to
Michael: get a build that worked yeah and it was like crappy and
Michael: like now you know if you pull up like anti-gravity or
Michael: claude or whatever and just be like hey yeah give me a nix expression that
Michael: it one shots it yeah and like that is a huge difference and
Michael: so now when it one shots it's like is this the best nix expression
Michael: i've ever seen no that's right um you know does it
Michael: do everything the way that i would prefer it to be done no but
Michael: does it give me the package it does i'm like that's huge and
Michael: so some of this is you want of look at like evals over time
Michael: and the way that most models are are kind of scored is they
Michael: have these things called formal evaluations and we've never built one of those
Michael: for nicks i just had this program that i've been using for three years and like
Michael: that's what i've been doing that's been my eval and so i'll probably end up
Michael: talking about that i love that yeah that is really okay i'll be there um yeah
Michael: all right so i have i have a question unrelated but i have to ask you before
Michael: we let you go because you know i was doing my due diligence and uh i always
Michael: like to check out a guy's GitHub before he comes on the show.
Michael: And I noticed that you have a project called Mandatory Fun, a repository called
Michael: Mandatory Fun. What's this about?
Michael: So it's basically this idea that I had with a buddy of mine,
Michael: or maybe a couple buddies of mine, that was, we love to make different collaboration software.
Michael: And basically, you can think of it as like shitposting at scale.
Michael: I don't know if I can say that, but I will. You can beep it out, I guess. So, but,
Michael: Like some of it was, we wanted a pipeline where you could shoot your AI generated
Michael: images as fast as you can and it would drop it into a channel in Slack.
Michael: And like, it's just fun that way. Or like we had, you know, like I think a lot
Michael: of my Hubot extensions are in there.
Michael: We have a lot, you know, a lot of like bot related activities in there.
Michael: And then some of the stuff I was also playing with how does a monorepo work?
Michael: Because that is a giant monorepo with several subprojects.
Michael: And honestly, the more that I played with it, the less I like monorepos again.
Michael: I go back and forth every time.
Michael: Just like the industry. Yeah, the grass is always greener where I'm not standing.
Michael: But, I mean, generally, I also have a thing where, like, if you have,
Michael: like, a permanent Zoom meeting and somebody joins, they can throw a webhook
Michael: and, like, notify you through Slack so that you can say, hey,
Michael: somebody's joined the Zoom.
Michael: And so, like, my buddies and I have, like, a standing Zoom. And if somebody's
Michael: there, you get a notification, and you can be like, I have time to join right
Michael: now and say hi or whatever.
Michael: And so it's just stuff like that where it's a bunch of how do you collaborate with your friends?
Michael: And, I mean, not to say that it wouldn't work in a work setting,
Michael: but it certainly wasn't designed that way. And that's why we pulled the name
Michael: Mandatory Fun as just an idea.
Michael: So I think just it's a great it's a great just a great title.
Michael: Mandatory Fun. That's that's always that's always how it works.
Michael: And a nice mix of, you know, right. These sort of collaboration, corporate workflows.
Michael: But yeah, like real people want to do it in a more casual way to get fun stuff done.
Michael: Yeah. Yeah. Well, and there's no rule that says you can't have fun while you're
Michael: working. So I encourage people to do that.
Michael: Well, I think we're going to have a lot of fun at Planet Nix.
Michael: I'm really looking forward to it.
Michael: Yeah, I certainly hope so. you know I think we have we have several hundred
Michael: people registered right now and we usually get about several hundred more during
Michael: the last week so you know it should be should be four or five hundred people which is,
Michael: And there's so much going on this year. It's going to be just like the energy
Michael: there, I think is going to be crazy.
Michael: People are going to be laptops, open building stuff.
Michael: Yeah. We, I mean, we have work areas. We have, you know, kind of workshop tables. We have talks.
Michael: We're going to have stickers. We're going to have giveaways,
Michael: trivias, all sorts of stuff.
Michael: Gosh, we got to get ourselves to California.
Michael: Mike, thank you for coming on and chatting with us. And I look forward to seeing
Michael: you in California in just a few days. All right. Well, thank you so much. Thank you, sir.
Chris: Well, if you would like to support this here production, you can do so directly,
Chris: linuxunplugged.com slash membership,
Chris: and you get access to the bootleg feed, which is nice and long.
Chris: Or you can get the ad-free, which is tight and, you know, great,
Chris: I guess. It's still got Drew's touches, which is really the best part.
Wes: Yeah, you get it clean, super well-produced, well-mastered.
Chris: You get all the shows, ad-free and bootleg, at jupyter.party if you want to
Chris: support the whole network and help us get down to scale.
Chris: And, of course, you can send us a boost to get us down there as well. Appreciate that.
Chris: Well, Kelsey Hightower is back. He joined us about a year ago.
Chris: He's a software engineer who calls himself retired, although for somebody who's
Chris: retired, he still works quite a bit. He hits the speaker scene a lot.
Chris: He is known renownedly for his Kubernetes work, open source advocacy,
Chris: really an insightful speaker.
Chris: And he's going to be joining us at Planet Nix, but we had a chance to sit down
Chris: and talk with him before Planet Nix.
Chris: Kelsey welcome back to the unplugged program and happy pre-planet nix to you.
Kelsey: Oh happy to be here you guys have
Kelsey: that whole broadcast studio i'm glad i broke out the re20 today like i.
Chris: Was literally gonna.
Kelsey: Go pure ipods.
Chris: Oh my.
Kelsey: God now now i understand why i.
Chris: Got the.
Kelsey: Mixed pre out for you all.
Chris: You fit in you look good right yeah we got the same leg yeah
Chris: we appreciate it so the last time we talked it was
Chris: just before planet nix and of course we saw you at planet nix last year um
Chris: but it feels like since then there has
Chris: been a just next level
Chris: of i'm trying not to use the word hype kelsey but
Chris: it's all i can think of hype around ai system
Chris: management agentic development and management of systems and it strikes me you
Chris: made a really i think keen observation in an interview you had with jet brains
Chris: back in december and you said that you spent your whole career trying to make
Chris: these systems as determinate as possible, right?
Chris: To know exactly what they're going to produce every single time.
Chris: And this is, in this last year or two, it's kind of flipping that on its head a little bit.
Chris: And I wanted to know if you could expand on that comment you made in that JetBrains
Chris: interview, because I thought that was pretty insightful.
Kelsey: Yeah, I think for a lot of people who have been doing either software development,
Kelsey: IT operations, even the lights in your home, When you push the button to turn
Kelsey: the lights off, you want the lights to turn off.
Kelsey: You don't want to push the button and the lights like, I'm thinking about turning
Kelsey: off your lights, but given that you haven't eaten dinner yet,
Kelsey: I'm going to keep the lights on.
Kelsey: Like, that's not what you're expecting. We expect these systems to be deterministic.
Kelsey: So these are machines first and foremost.
Kelsey: And when we build machines, we kind of want them to do exactly what they're
Kelsey: designed to do. Light switch on, light switch off.
Kelsey: And so when you turn that into the software world, anytime we get behavior that
Kelsey: we ourselves didn't intentionally design, we call those bugs or defects or security
Kelsey: vulnerabilities if they're ever exploited.
Kelsey: And so we've been spending the last, I don't know, couple of decades trying
Kelsey: to build reproducible software, deterministic software, right?
Kelsey: We want these things to be predictable.
Kelsey: So then we can make promises. Like we have SLA as a whole discipline around
Kelsey: observability is saying that if this thing doesn't do what it's supposed to
Kelsey: do, then we have a problem.
Kelsey: And so what you get with an LLM, so let's say you take away some of the deterministic
Kelsey: work. So to me, the value of an LLM is just somewhat of a human persona that
Kelsey: we can lay on top of these systems.
Kelsey: So instead of just telling people what the temperature is today,
Kelsey: maybe this thing can say it in a very polite way or maybe in a kind way.
Kelsey: It's like, oh, that was a fun interaction.
Kelsey: But it also does another thing that I remember for the first time when I wrote a regular expression.
Kelsey: I want to write a regular expression to filter out all the email addresses.
Kelsey: And so you craft this like you think is the best regular expression in the world.
Kelsey: And then you find out that it's not actually capturing all the email addresses.
Kelsey: Because either A, you didn't understand what's a valid email address,
Kelsey: or it's a really hard problem to solve.
Kelsey: And so now, what was the saying back then? If you use regular expressions to
Kelsey: solve a problem, now you have two problems.
Wes: Exactly.
Kelsey: And so I think the regular expression was the first time I think a lot of us
Kelsey: have ran into something that just looking at the regular expression,
Kelsey: you can't really tell what it's going to do.
Kelsey: But there's a lot of power in this kind of Swiss army knife approach.
Kelsey: And LLM can say, look, maybe you didn't write your software to create XML output
Kelsey: and JSON output and YAML output.
Kelsey: If you just code the data structure, you now have this universal tool that can
Kelsey: convert between these different formats,
Kelsey: making a JPEG or an MPEG or a PDF out of an invoice, that is an amazing capability
Kelsey: that is in some ways subjective on how to format a PDF from an HTML doc.
Kelsey: And so the LLM allows you to do all of that. So I understand why people are super excited.
Kelsey: But at the same time, though, then we see ourselves now with the flexibility,
Kelsey: building a bunch of guardrails to make sure that it doesn't generate something
Kelsey: that's out of bounds from our expectations.
Kelsey: So that's kind of what I meant by we spent our whole careers making these deterministic,
Kelsey: predictable systems, and now we're letting them a little bit more loose.
Kelsey: And then we're all like crossing our fingers that they don't turn off the Internet.
Chris: It does surprise me. And we're kind of rushing into it, too, in a way.
Wes: You touched on some of the like how it can manipulate outputs or transform data
Wes: or maybe, you know, shuffle things on a pipeline or between deterministic tools.
Wes: And I've also heard you touch on maybe thinking of AI as a like a surface level
Wes: interface. I wonder if you could maybe expand on that.
Kelsey: So this part I think is very important. If you just take a timeout,
Kelsey: you don't want to bash the technology. We don't even have to take a position
Kelsey: on whether it's helpful or not.
Kelsey: But the reality is the CPU architecture is the same.
Kelsey: The programming languages are the same. So that means the things that you could
Kelsey: do, you could have always done given these particular tools.
Kelsey: And for me, that takes the magic out of all of this. So then if you use an LLM
Kelsey: to write code, what is the LLM doing?
Kelsey: Well, the LLM is producing syntax in the way that you would have produced syntax.
Kelsey: So that means it sits at the surface, Meaning what it outputs is still targeting
Kelsey: the same output you would have done, which is also at the surface.
Kelsey: Now, what would a below-the-surface technology look like?
Kelsey: It would look like, let's just bypass Golang and the JVM.
Kelsey: Let's go straight to assembly, right? Let's just go and program the logic gates directly.
Kelsey: And that's not really what most people are doing. Most people are literally
Kelsey: just providing themselves with a better user experience. And I'll give you another
Kelsey: example, which is, I think, more applicable to the average person.
Kelsey: If you ask an LLM to give me a summary of this particular document or in my
Kelsey: database, the customer that spent the most money in June of last year.
Kelsey: Now, you could have done that with SQL, but SQL is very cumbersome.
Kelsey: It's very strict. You have to know the dialect.
Kelsey: And sometimes the SQL is very far away from your intent.
Kelsey: And so the ability just to make that one statement and then have the LLM at
Kelsey: the surface translate that into the correct SQL query and then return a response,
Kelsey: that is the perfect level of abstraction for what most people want to do,
Kelsey: which makes it highly effective on being able to interface to lots of existing systems.
Kelsey: And I think this is why LLMs in some ways are deserving of some of the hype
Kelsey: and the attention that they're getting because they can be very useful in many domains.
Chris: So I wonder with this established and your thoughts on going from very deterministic
Chris: systems to sort of not so deterministic, you don't really always know what you're going to get.
Chris: Is there a layer here at the environment level to kind of manage this?
Chris: Is this an area where you think maybe particularly NICS could have some strengths?
Chris: Curious on your thoughts on almost solving it from a different direction in this instance.
Kelsey: So we were to talk about NICS in particular. So what does NICS represent?
Kelsey: Below the surface, Nix has tried to work really hard to give you at least a reproducible outcome.
Kelsey: If your app that you're building requires a specific set of libraries,
Kelsey: we've tried for a long time to get away with semantic versioning, like this is 1.1.2.
Kelsey: But it turns out those are just suggestions, right? Nothing stops a developer
Kelsey: from re-releasing 1.1.2 that does something totally different.
Wes: Your version of a miner is not mine.
Kelsey: Right? Exactly. So in that world, it's almost like, ah, you can't really trust these labels.
Kelsey: So I think what Nix does really good is it says, look, let's just turn our file
Kelsey: system into a data store and, you know, make these things predictable.
Kelsey: Sometimes you need a different version of Ruby on the same system.
Kelsey: And the fact that it acknowledges that and leans into that and just gives us
Kelsey: a tool to deal with that kind of complexity.
Kelsey: So we take that diamond problem and we just try to give it an honest solution.
Kelsey: These are the things you depend on. Here's the things that make it work.
Kelsey: And just give you a way to articulate that, express that, discover that.
Kelsey: And so if you think about it from the AI perspective, then what you have is guardrails.
Kelsey: So if you want to express a build, if you want to express output,
Kelsey: what you have now is at least a framework where you're not starting from scratch
Kelsey: and say, hey, at the surface, I would like you to build my application.
Kelsey: Well, if you were to target maybe the next ecosystem, you get something super
Kelsey: reproducible. And I always like to think about the quality of these tools as
Kelsey: if I were to remove the LLM, what am I left with?
Kelsey: And I think you're left with something that's still usable, even if you chose
Kelsey: not to use an LLM again, maybe downstream, your build system,
Kelsey: your deployment systems, generating S-bombs.
Kelsey: Those things can be done without the magic of AI and all of its complexities,
Kelsey: because you've kind of targeted something that's going to be a little bit more
Kelsey: strict and domain driven.
Kelsey: So that's where I see tools like Nextill having a ton of value.
Kelsey: And this is why I think the explosion of things like skills and MCP,
Kelsey: where you can just say, hey, let's not invent package management or build systems.
Kelsey: Let's just teach these tools how to leverage them.
Wes: Something else I saw you talking about recently with our other guest today,
Wes: Michael Stonke from Phlox, is you're looking back at the original Borg paper
Wes: and kind of pointing out that, you know, they weren't really using Docker for
Wes: Borg, even though Kubernetes these days does, right?
Wes: They were using a package manager that turns out kind of shared a lot of properties with Nix.
Wes: And you've been also making the point, which I really like that,
Wes: you know, okay, I can do this stuff at the surface, but if we haven't necessarily
Wes: mastered 20-year-old tech, from Nix to just a lot of other things,
Wes: like maybe we need to be looking at that too.
Kelsey: You make it a really important point. I mean, I have this thing now where I
Kelsey: just try to take all my technology offline from like eight to eight.
Kelsey: 12 hours of uncomputer-assisted thinking.
Kelsey: And so those are the shower thoughts, the prep time before you go to bed,
Kelsey: you know, while you're cleaning.
Kelsey: And I thought about it. It's like, you know, most companies have struggled with
Kelsey: even deciding what to build.
Kelsey: And a lot of times when you ship something, you can't just go take it back.
Kelsey: And the part where you say, hey, now AI lets us move 10 times faster.
Kelsey: Sometimes I hear 10 times more tech debt, 10 times more bugs,
Kelsey: 10 times more things you shouldn't have shipped in the first place.
Kelsey: And so when I think about our ability to understand what's available in our
Kelsey: tool, I'm looking at, I'm staring at a collection of tools.
Kelsey: And a lot of times, I think people never really understood the core decision
Kelsey: that happened with Docker.
Kelsey: Docker comes after decades of
Kelsey: decisions around trying to reinvent package managers, RPM, Debian files.
Kelsey: It's just so many of them, Jim, and they're all kind of solving the same problem.
Kelsey: There is nothing you can do with one programming language on its own.
Kelsey: At some point, you're going to have a form function interface to some C library,
Kelsey: SQLite, LibC. It's just something's going to happen.
Kelsey: And we all try to pretend that that wasn't real or that Debian and RPM could get us there.
Kelsey: And so we just kept rebuilding these package managers trying to solve problems we've created.
Kelsey: Docker is born from that world.
Kelsey: Docker just says, well, if that's what it's going to be, let us just let you
Kelsey: keep doing that. And look, it was fun.
Kelsey: It did speed things up. But in many ways, it sped up the mistakes.
Kelsey: There are now far more things to scan than before.
Kelsey: So before we were scanning servers and VMs. Now we're scanning apps.
Kelsey: We're literally scanning apps for OS vulnerabilities.
Kelsey: We're scanning apps for all of these things that now are getting packaged because
Kelsey: we're still doing the same mentality as before.
Kelsey: I think if you rewind the clock back 20 years and say, hey, what's the real
Kelsey: problem? The real problem is we don't really even know what our dependencies are.
Kelsey: The real problem, we don't even know what we're linking out to these days.
Kelsey: And the vendoring approach, it just kind of created a mess. So that original
Kelsey: Borg paper was like, you know what?
Kelsey: The best way to think about software is in a holistic way.
Kelsey: You can't think about the Ruby ecosystem independently of the C ecosystem.
Kelsey: And so what you do is you just say at some point, this is just how computers work.
Kelsey: Apps will start, and then they will reach out across the file system loading
Kelsey: things that they need in order to run.
Kelsey: So that NPM package is much closer to the NICS philosophy around intentionality
Kelsey: around what's on your machines, intentionality around what we link to,
Kelsey: and then you manage the system from that regard.
Kelsey: And then I think it's a little easier to think about secure software supply
Kelsey: chains, but you need to know what the software supply is before you can secure it.
Kelsey: And so I think it's just thinking of what we're dealing with.
Kelsey: And again, and I said this at the Nix event, there's nothing stopping someone
Kelsey: from saying, hey, Docker is a really awesome way to package and distribute things.
Kelsey: What if I was using Nix inside of a Docker image? So I still get the portability.
Kelsey: I still get access to things like Heroku and, you know, Lambda and all of these
Kelsey: container only platforms.
Kelsey: But that container image, when combined with intentionality,
Kelsey: I do think gets us there much faster than starting over from scratch.
Chris: Well said. Kelsey, I'm really looking forward to Planet Nix and your talk.
Chris: First up, first up, you and Ron, and we're going to be there.
Wes: I think you mean chat.
Chris: Chat, right. It's going to be a chat. Thank you so much for taking a little
Chris: bit of time and joining us on a Sunday to talk about this and get us in the
Chris: mood and the mindset for Planet Nix. I hope we get a chance to talk at the event, too.
Kelsey: I'll be around. Thanks for having me.
Chris: Yeah, thanks, Kelsey.
Brent: And now it is time for le boost we have a row of grandpa ducks 22 000.
Chris: You said it. I had to do it.
Brent: Starting us off, we've got a row of, what are these, Grandpa Ducks?
Brent: 22,222 Satoshis from Chuck Runamuck.
Brent: Chuck says, how are you now? Good?
Chris: Hey, how are you? Fine, and you?
Brent: I was building a new VM server the other day. What's your go-to remote desktop app?
Brent: It used to be VNC for me. I use it all through my corporate career.
Brent: Then X2Go was the new hotness for a while.
Brent: That got janky, though, so I switched to No Machine, which I think is the proprietary mother of X2Go.
Brent: What do you use now to connect to your headless desktops?
Chris: You mean besides my psychic intuition? I got to give a shout-out for my old buddy KRDC.
Chris: Are you guys familiar with this one, KRDC?
Wes: Yeah, I haven't used it in a minute.
Chris: It's nice. You can get them all on there in a list. It'll still do RDP. It'll do VNC.
Chris: It'll do what you need. A lot of days, people are using themselves some kind
Chris: of VM that has a web interface as well.
Chris: So you've got yourself like a cockpit option if you're going with your natives
Chris: or, you know, the Proxmox type thing where you get yourself a console interface.
Chris: That's pretty popular. Right? Is that good? You think that's good? You got any? You have it?
Brent: In a different flavor, you know, we've used Rust Desk quite a lot to do remote
Brent: access. It's not quite, you know, for a virtual machine necessarily,
Brent: but that can work in a pinch if you need to do that kind of thing.
Chris: Yeah, I still like Rustisk. And they've updated for Wayland quite a while ago
Chris: now, so that's been working, which is really good.
Wes: And we've seen a lot of Wayland improvement generally, I think,
Wes: in terms of remote desktop, both like in GNOME and Plasma, but more broadly, too.
Chris: Well, thank you, Mr. Runamuck. We appreciate you. Distro Stu's here with Spaceballs
Chris: Boost. That's 1, 2, 3, 4, 5 sats.
Chris: Chris, you mentioned Uptime Kuma in your network setup. I've been using Gatis,
Chris: which is similar, but has a declarative config for endpoint monitors.
Chris: Here you go. Here's my Nix setup. It links me to that. Side note,
Chris: I set the service up to debug some networking issues.
Chris: Turned out my switch by switching my router to OpenSense to Nix was the solution. Hey, we've been there.
Brent: Very nice.
Chris: You know what? Honestly, Linux makes a great router. Why do you think all these
Chris: embedded systems are based on Linux?
Wes: Especially, right, you're not trying to push, like, tens of gigabits per second
Wes: where you need some, like, hardware offload or something in,
Wes: like, an enterprise use case.
Wes: Like, you just have a gigabit or something. Like, modern Linux will be fine.
Chris: More than fine. It'll be fantastic.
Wes: And so Nick's boosts in with 5,000 cents.
Wes: I'm glad to hear you're doubling down on Matrix. You had me going for a moment there, Chris.
Wes: I thought you were going to announce a switch to Discord. You might have thought that too.
Chris: Yeah, I did.
Wes: It does make me wonder though, why don't you just use Mattermost?
Wes: After the glowing review in the previous episode, is it not a better, more stable fit?
Wes: You could even use your AI minions to set up a separate instance for the community.
Chris: Mattermost has sort of a Slack vibe. It doesn't really seem to be the right
Chris: tool for the job. Do you have that impression as well? It's a good tool.
Wes: Yeah, I think maybe for some communities, you know, I've seen some folks kind of do that where...
Chris: Well, you use Slack for some communities.
Wes: Right, yes, exactly. But I think for the style we're going for,
Wes: especially with the amount of, like, self-hosting, interop, like,
Wes: something like Matrix and the Federation and the ability for other,
Wes: you know, people to run their own servers or use ours or, like,
Wes: another community one and be able to all connect together is pretty killer.
Wes: You know, there are maybe other options. XMPP, we used IRC for a long time,
Wes: but those had at least closer to some of that.
Chris: You know, I'm surprised XMPP hasn't come up more recently with the discussions
Chris: of agents and agent-to-agent communication.
Chris: Seems like XMPP should be getting a little bit more love than it is.
Chris: Yeah, I think, don't you think, Brent, the federating aspect is pretty big for us?
Brent: I think it's big and it's also quite fun. Like, as an audience member,
Brent: to have your servers federated to other audience members and the studio,
Brent: it's just a really fun networking paradigm.
Brent: I'm going to say paradigm. mm-hmm well kiwi bitcoin guide boosted in 2500 satoshis,
Brent: I got an OpenClaw question. What are the pros and cons of self-hosting OpenClaw
Brent: on a server in a homeland?
Brent: After looking at my options, I thought I'd try hosting the agent on a Pi at home.
Brent: But a friend pointed out malware and security vulnerabilities and suggested a VPS instead.
Brent: What would you suggest? And can you recommend a good VPS service suitable for this particular task?
Chris: We've sort of been debating this very question behind the scenes.
Wes: It depends a lot on what you task it to do and what you allow it to do and are
Wes: hoping that it does and what it can reach out to.
Wes: Like on the VBS side, a lot could be suitable because it depends on your workload.
Wes: You know, especially if you're using a LLM provider that's not you,
Wes: that stuff's all offloaded.
Wes: So besides just like the OpenClock gateway, which is a node service running
Wes: a server, it's only ever doing what other commands it needs to do from the work
Wes: you're putting into it. on the LAN side, it might depend on like what access do you want it to have.
Wes: It can be really useful if maybe you want it to be able to run scripts to make
Wes: reports or control your audio bookshelf or your jellyfin or something,
Wes: or maybe you want to do some network segmentation.
Wes: So all it can do is reach the outside network, except for some blessed paths
Wes: that you allow with tightly controlled API keys.
Wes: So there's a lot of different ways you could, but you need to kind of understand
Wes: what you want it to do and what you're willing to accept the risk for.
Chris: I think there's a couple of easy yes, no branches on this path.
Chris: If you have a machine that can run a local model,
Chris: Run it locally because then you don't have a cloud dependency when it comes to the LLM reasoning.
Chris: I think also there is an argument to be made to run it local if your intention
Chris: is to have it interact with Jellyfin and Home Assistant and your RAR stack and things like that.
Chris: If a lot of its work is going to be executing local APIs, it will have to still
Chris: do reasoning and instructions with the LLM.
Chris: But then a lot of that execution can actually take place via scripts that it
Chris: creates and those run persistently local.
Chris: And a lot of us actually have systems that are capable of running models that
Chris: can at least be used for memory systems and things like that.
Chris: So it's something that I think we're both debating.
Chris: It really, like Wes said, comes down to a big depends. But there are a couple
Chris: of yes-no paths. And the number one yes path is if you can run a local model.
Chris: If you don't intend to integrate with local self-hosted services on your LAN
Chris: a lot, I think that's another vote for going with a VPS.
Wes: Yeah, and it might depend, like, is it mostly pulling strings on APIs?
Wes: Is it doing research and making reports for you? There's a lot of different
Wes: modalities you can use with this stuff.
Chris: Yeah, good question.
Wes: Let us know what you do.
Brent: I'm going to go the complete other way as a suggestion and suggest that you
Brent: install this on an ESP32.
Brent: I saw two projects that's, one of them's called Mimi Claw and used an ESP32 to get this running.
Brent: And there's another project out there, OpenClaw ESP32. So if you want to go
Brent: the Jeff route, we will send this your way.
Chris: Wow, that's crazy.
Wes: Yeah, that way it's not powerful enough to really harm anything.
Chris: That's something else, isn't it? Or at least you can catch up to it,
Chris: right? All right, I'll take the next cue. McEwitt comes in with 2,048 sats.
Chris: Just says, keep up the good work. Thank you very much. Appreciate that value.
Chris: And Sam H comes in with a row of duckariskies. That's 2,222 sats.
Chris: I'm definitely interested in hearing you talk about the clause.
Chris: I'm very conscious of the security concerns.
Chris: But I thought your basics in LUP 654, isolated setup, dedicated accounts,
Chris: etc., were a helpful starting point.
Chris: It'd be nice to see open-claw variants that defaulted to local models and an open chat platform.
Wes: True.
Chris: Yeah, a lot of these are based around Discord or Telegram or Slack.
Chris: Like I was saying just a moment ago, I think XMPP has been left out in this.
Wes: Yeah.
Chris: There are some other solutions out there, and there are plug-in systems available.
Chris: But I agree. I think the two other projects that haven't really solved this
Chris: but I'm watching with some interest are IronClaw and Nanoclaw.
Chris: IronClaw is, surprise, surprise, Rust-based.
Chris: And Nanoclaw is Python-based, but a nice, tight little Python project.
Chris: And they're doing different things security-wise. And so we're seeing several of these now develop.
Wes: You know, the other thing maybe to think about is, Kelsey touched on this,
Wes: is consider what you have the agents do and what you make deterministic.
Wes: Because if they're just triggering scripts that you've already blessed and aren't
Wes: going to surprisingly call the delete API, you'll probably have a better time
Wes: than if it just has full access to everything and you expect it to kind of do
Wes: that dynamically every time.
Wes: Pete Zinger boosts in with the 7,680 cents.
Wes: I'm relatively new to the show and only started listening last year.
Wes: Well, welcome. Thanks for listening.
Wes: A few weeks back, I got talking to Abe, and he showed me a concept video from
Wes: 1967 called 1999 AD, where the home computer would talk to other computers to do things.
Wes: He's also been helping me run my own Abe's.
Wes: I have two, and I just let them be, I don't call them Pete's because Petiverse
Wes: doesn't have the same zing to it.
Wes: I am more sure than ever that this separation of duty is the way to go.
Wes: Separate AIs that have, oh, no, the boost got cut off.
Chris: Yeah, cut off there. Yeah. But I'm imagining you saying that they have separate tasks or jobs, right?
Chris: Because if you keep them relatively focused, they don't wander off and get lost
Chris: in the context and whatnot like that.
Chris: And you can also then scope the permissions and things like that.
Wes: And probably easier to manage the context window.
Chris: Yeah. Yeah. And memories and all kinds of things. Yeah, absolutely.
Wes: Thanks for the report. And that's exciting. Let the Abe spread.
Chris: I've thought about that, too. I wish I could call mine Chris's and have a Chris
Chris: first, but it just, it just doesn't have the same ring, does it?
Wes: Southern fried sassaboo sin with a row of ducks. Condolences to Brent.
Wes: Silver is a nice consolation prize.
Chris: Oh, this is a sports ball reference, isn't it?
Brent: This is a hockey reference in both genders.
Brent: We played the U.S. and lost both games in overtime to you folk.
Brent: So darn you. Shaking fist. Shaking fist over there at you both.
Chris: Yeah, well, we personally had something to do with it, so feeling pretty good
Chris: about that. Didn't even know about it. Actually, I did. I saw the cheating, at least.
Chris: I saw the embarrassing, disgraceful cheating.
Wes: His friend didn't bring up on his own.
Chris: No, interesting, huh?
Brent: I didn't see any of that.
Chris: All right, well, thank you, everybody, who streamed or boosted,
Chris: even below the 2,000-set cutoff.
Chris: You sat streamers, 22 of you collectively, sent in a nice, a little bit more than a row of McDuck's.
Chris: 22,649 sats sent in by our sats streamers. And you combine that with our boosters.
Chris: It's a pretty light week, and we are getting ready for some big trips,
Chris: big coverage, and very light on the sponsors.
Chris: So we'd love to see some support from you next week if you are in the mood.
Chris: We got 80,388 sats this week. It's all right.
Chris: It's okay. It's all right. It's all right. Don't cry. It's okay. Are you all right?
Brent: So sad.
Chris: It's all right. It's all right. These happen, especially because we had a great
Chris: New Year's and end of year. We really do appreciate that.
Chris: But your boys are getting ready to head off into, what do you call it,
Chris: the rough? It's not a battlefield.
Chris: It's a nerd field, really. We're getting ready for it either way.
Chris: And the boys could use some support.
Wes: The great conference cloud.
Chris: Yeah. We sacrifice our health so you don't have to. Actually,
Chris: I think we've been really lucky the last couple of days.
Wes: We have done very well. It's not.
Chris: That California brings.
Brent: You've got a whole regiment, I think, is helping.
Chris: You know what? I should think more about that. I should get that locked in is
Chris: what I should do. Thank you, everybody who does support us. And,
Chris: of course, thank you to our members who put that on autopilot.
Chris: Keeps us going. Means the world to us.
Chris: Well, we got too many picks this week. Most of it's my fault,
Chris: but you boys also found some really good ones.
Chris: And let's talk about WebSocket Cam. It's an app for Android that exposes your camera.
Wes: That's right. Access Android camera via WebSocket client API.
Wes: You can also run AI and computer vision tests with ease from a live camera.
Wes: Stream written in a hundred percent colin gpl3.0 and you can get it on obtainium i.
Chris: Think you should be their ad man you know written in 100 pure cotton.
Wes: I have yet i can't full disclosure i haven't had a chance to try this yet but
Wes: as someone who's used droid cam more than a handful of times over the years
Wes: having more options of taking advantage of a probably decent camera you've already
Wes: paid for and is in your pocket i think is really neat.
Chris: I agree with you, Wes Payne. Good pick. Stay tuned for Brent's fantastic pick
Chris: in a moment. Well, I don't know if it was Brent's, but I'm giving it to him.
Chris: I want to just mention that I have created a couple of projects.
Chris: If you are playing around with the claws, one of the things that OpenClaw doesn't
Chris: have built in, which is a little disappointing, and I'd love to see him fixed
Chris: one day, is an MCP bridge or an MCP client.
Chris: But you can add one via a plugin.
Chris: So I have built one, an OpenClaw plugin that bridges any MCP HTTP server as
Chris: a native tool to OpenClaw.
Chris: They don't have one yet, but MCPs are big. The model context protocols out there, they're big.
Chris: And OpenClaw is kind of not really built to solve it directly.
Chris: They recommend you use MCP Importer, which uses a CLI interface.
Chris: So I created a plugin that lets you use MCPs directly in OpenClaw.
Wes: And you're already running it in production, is my understanding.
Chris: I am. It's working well. And to that end, then I created a MCP server for fresh
Chris: RSS, which definitely should have one. But since they don't have one, well, now we have one.
Chris: So it's an MCP server I created that sits in front of the Fresh RSS Google Reader
Chris: API, exposing the feed management as tools for your AI agent.
Chris: It supports streamable HTTP transport.
Chris: And it's very easy to get going on Nix. Flake is ready for you.
Chris: The details on how to set it up in your config are all there for you.
Chris: It just requires a password that you set up on the Fresh RSS server.
Chris: And then you plug it into your gateway once you have my other thing working.
Chris: And there's even a guide on there for your agent if you're too lazy to do it for yourself.
Chris: And you should see significant token savings when you do this because it uses
Chris: a lot less reasoning, pulling down the whole XML feed and going through it and
Chris: just sorting out the few things that you want.
Chris: Because the MCP server exposes in particular options and tools and makes it
Chris: a lot more efficient. So it's a great way to get like a daily briefing.
Chris: Without burning a bunch of tokens.
Wes: Yeah. Do you have any workflows you're willing to share around like what you
Wes: have your agent using these tools to pull from fresh RSS?
Chris: So mostly on demand stuff for when I'm prepping a show, I can be like,
Chris: hey, what are the headlines in this category? Because I've broken the shows
Chris: down into individual categories now.
Chris: And then a supplement to that in my morning brief, which has a lot of stuff in it.
Chris: I have headlines from each. I have the top headlines from each category for
Chris: each show that shows up in a morning brief that's pulling from fresh RSS.
Wes: Very nice.
Chris: And the thing that's really great about that is all I have to do is add and
Chris: delete feeds in Fresh RSS, and it won't show me the stories I've already read in Fresh RSS.
Chris: So I'm only seeing the stuff that's unread that's been exposed to me because
Chris: all of that is just in Fresh RSS already.
Chris: So it's really cool. And I like it a lot.
Chris: All right. Who wants to tell us about this utility that promises to replace
Chris: your home folder? Tell me about this.
Wes: Wessel? Wessel?
Chris: What is it, Brentley? Did you find this?
Brent: Is it a WESH project? WESH, did you make this one?
Chris: This is great. Why would I want to replace my home folder?
Wes: Yeah, I think I've found this, and I'm not sure if it's a great idea or not, but I love it.
Wes: It's super inventive. It's a clever idea, and for some folks' workflow,
Wes: maybe it is the right idea.
Chris: Yeah, okay, give us an example, a little tastier why you might want to use this.
Wes: Well, organize your computer by replacing user folders with SimLinks project folders.
Chris: Okay.
Wes: It's a tool that helps you by creating individual download, desktop,
Wes: et cetera, right, like the XDG standard folders you're used to from like your home der, right?
Wes: For each project, it replaces the original folders with symlinks to the folders
Wes: of the current active project.
Wes: Now the random files you download will be placed in the download folder they belong to.
Wes: Also, all the like .config files you might have for project specific settings,
Wes: maybe for IDEs or tools or whatever, those all get sandboxed too.
Chris: Brent, I think you ought to set this up right before the trip.
Chris: So that way you could give us a report on how it goes.
Chris: You know, we could talk about it while you're on the trip I don't think anything's going to go wrong It.
Wes: Is written in Rust and has the MIT license so maybe that makes you feel better.
Chris: What do you think, Brent? You give it a go?
Brent: The hardest decision is to decide what a project is.
Brent: Because I feel like our trip is like a meta project and there are multi-projects within it. Yeah, yeah.
Chris: That's the most Brent answer possible.
Brent: Isn't it? Well, I'm true to form. True to form.
Chris: Yeah, I feel like the hard question is where do you sim link to?
Chris: You know? Do you put it on your scary raid? That's probably not a good idea. But it's fast.
Wes: I think it might already have a spot that it uses.
Chris: Oh, that's lame.
Wes: But you can probably configure that.
Chris: Well, see, what I like about being able to do it myself is I won't be consistent
Chris: over the years that I use this.
Chris: So I'll start with one spot, and then a couple years go by, I'll start doing
Chris: it in another spot. And you give me four or five years, and I'll have symlinks all over the place.
Chris: It's really kind of, it's like a web of knowledge on my file system via symlinks.
Wes: You can't find anything, but it's all there.
Chris: Yeah, it's all linked. It's all there. Somebody could probably put it together,
Chris: you know, if they came back and pieced it all together.
Chris: All right just one more episode before we hit the
Chris: road meetup.com slash jupiter broadcasting is where you go if you're going to
Chris: be there we want to see you and don't forget you can get 40 percent off your
Chris: scale registration when you use our promo code on pledge you n p l g 40 that
Chris: ain't that ain't nothing that ain't nothing,
Chris: With that, links over at linuxunplugged.com slash 655, if you can believe it.
Chris: You got any pro tips for people before we get here? Like maybe fancy JSON chapters
Chris: or transcripts, things like that?
Wes: We have both those things.
Chris: What?
Wes: Yeah, that's right. We have cloud chapters. So it's a JSON file that your podcatcher
Wes: can download or you or your agent.
Wes: And it tells you where we talked about the things in the show.
Wes: But if you need more granularity than all of the words that we said,
Wes: you know, up to some possible error rate.
Wes: Never, never. Those are included in SRT and VTT format that you can get in the feed.
Wes: And these days we're trying, not always, you know, new, but we're adding an
Wes: MP4 in an alternate enclosure as well.
Chris: You know, we ought to start, we ought to just advertise to sponsors.
Chris: Hey, yeah, we're the agentic ready podcast.
Wes: That's right.
Chris: We've got our chapters in JSON and we have our transcripts in two formats.
Wes: And we have rich podcasting 2.0 metadata via the tags.
Chris: That's right. And that also means.
Chris: That means we're lit. We are live every single Sunday using the live item tag,
Chris: so you can listen to your podcast app of choice, or you can go to jblive.tv.
Chris: If you're on the go, check out that clean audio feed over at jblive.fm.
Chris: Links to everything over at linuxunplugged.com. That's the source of truth,
Chris: and I'll give one more shout to our virtual lug.
Chris: Details at jupyterbroadcasting.com slash mumble.
Chris: You never know, when we're on the road, it can be hit and miss.
Chris: So you probably want to join next week, just so you can try it out,
Chris: because you know if we're in studio, there will be a mumble room.
Chris: So you probably ought to join us. Next week.
Chris: Make it a Tuesday on a Sunday. All right. Thank you so much for joining us on
Chris: this week's episode of the Unplugged program.
Chris: And we'll see you right back here next Sunday.