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. Coming up on the show today, we're going to take a look at
Chris: a handy tool that Brent's been
Chris: using to crank out a great-looking static site in really just minutes.
Chris: How it works, what it does, and why we're starting to like it.
Chris: Then we're going to round out the show with some great boosts,
Chris: some really great picks, and a lot more. So before we get to that,
Chris: and man, you're going to want to stay around just for the picks,
Chris: let me tell you what. I'm excited.
Chris: Let's say hello to our virtual lug. Hello, Mumble Room. Time appropes.
Mumble: Hello. Hello, Chris. Hey, Wes. And hello, Brent.
Chris: Hey, guys. Thanks for joining us. Nice to have you here. Mumble Room's always going during the show.
Chris: We love it if you join us. Details on our website. And good morning to our friends
Chris: over at Defined Network.
Chris: Go check out Defined.net slash unplugged and meet Manage Nebula,
Chris: fast, decentralized VPN built on the open-source Nebula platform we love, we use every single day.
Chris: and history being my teacher, I learned it over and over and over again.
Chris: When it comes to something as foundational as my network and everything that
Chris: runs on top of it that I build over the next few years, I want to own that stack end to end.
Chris: Nebula gives you that control with industry-leading encryption,
Chris: optional self-hosted lighthouse nodes, and a design originally built to connect
Chris: Slack's global infrastructure of all of their customer data.
Chris: You know, their goldmine.
Chris: And that's how strong it is. And now you can use it too. It's resilient enough
Chris: for the enterprise, simple enough for your home lab.
Chris: You can connect to 100 hosts for free. You can get them for free,
Chris: no credit card required, and support the show by going to defined.net slash
Chris: unplugged. That is defined.net slash unplugged.
Chris: Thank you to Define for sponsoring the Unplugged program. Appreciate you guys.
Chris: All right, boys, I've been doing the math three ways, checking my list,
Chris: checking it twice. So that's a lot, math and list.
Chris: And I just don't see it feasible for the crew to make it down to Texas Linux
Chris: Fest this year. I hate to say it.
Chris: I really hate to say it because we love Texas Linux Fest.
Wes: We sure do.
Chris: But the funding is getting tighter, right? Because energy costs are up and housing costs are up.
Chris: And so even though we could maybe afford a flight, we couldn't afford anything else about it.
Chris: And that's really just the reality of it. It's very expensive.
Chris: And there also really isn't any great economic incentive for a sponsor to send
Chris: us because it's kind of expensive to send us down to cover an event.
Chris: And there's not a direct return for them. It's not like we're going to spend
Chris: the entire time talking about them. We would plug them, but we wouldn't spend the entire time.
Chris: And really where it does make economic sense is for the events to send us,
Chris: but they don't A, have the budget and B, they don't have people that are organizing
Chris: sponsors to bring us because, you know, we kind of bring publicity for the show, for the events.
Chris: So there's just not really any way to make it work as far as I can tell.
Chris: And it doesn't feel like the right time to go to you, the audience,
Chris: and ask for the money either. I think everybody's feeling tight these days.
Chris: And it just doesn't feel like the right time to say, hey, send us to Texas Linux
Chris: Fest. And it's really kind of makes me a little sad, not because we can't ask, but because...
Chris: It's like if a tree falls in the forest, in a sense. Texas Linux Fest is special.
Chris: It's very special to the Linux community in the sense that very few tech communities
Chris: have these types of grassroots events still.
Chris: But nobody really covers them. And once the weekend is over,
Chris: it can kind of feel like it just never really happened to the rest of the world.
Chris: Which is sort of the hard part about it.
Wes: Yeah. Yeah, it's easy. If you weren't there, you didn't make the connections,
Wes: you didn't see that one random talk you didn't expect to.
Chris: You don't know that these things are kind of important. Yeah.
Chris: Yeah, and plus there's always something brewing at Texas Linux Fest that ends
Chris: up being really good for us to learn about.
Wes: Oh, for sure.
Chris: Great connections, too. But the economics are what they are,
Chris: and I wanted to say it now because if you're planning to go,
Chris: I just wanted to let you know that it doesn't seem like we're going to be able to make it.
Chris: We think it's a great event, and we think you should go. And if we could make
Chris: it, we absolutely would go.
Chris: But that's just sort of the state of it right now. And I don't want anybody
Chris: making plans thinking we're going to be there and then show up, and we're not there.
Chris: so i wanted to let you know that's currently our intention is we'll try to cover as we can.
Wes: But uh also just a quick shout out to listener big cookie.
Chris: Big cook.
Wes: Who sent us uh some delicious cookies.
Chris: Oh yeah i put that in the feedback but i agree that was we should grab them
Chris: i well we'll grab them for the no no we get it go good go ahead i was gonna
Chris: say we'll grab it for the feedback yeah we've been snacking on cookies and one
Chris: of them brent is a maple shortbread cookie oh Ooh.
Brent: Yeah. That one's for me, right?
Chris: Well, it might have been. We still have a lot of the classic Hermit ones because
Chris: the kids came and they kind of like locusts came in and ate them all.
Chris: It's a really nicely packaged, made right there in Vermont.
Wes: Yeah, covered bridge cookies.
Chris: Big Cook sent them to us and they're just delicious. Just absolutely delicious.
Chris: So thank you very much. That was a nice treat. We got them after the show last
Chris: Sunday and we really enjoyed them. It was a great post-show snack, as it were.
Chris: You know what? Probably be this week's post-show snack, too.
Chris: All right. So, Brentley, you sat down to build a website this week,
Chris: and I can only imagine you must have started it.
Chris: I mean, you must have started at what you had built in the past and tried to
Chris: decide if that was the way to go. Take us there, Brentley. Tell us, tell us about it.
Brent: Well, once upon a time, I woke up and built my website, and that was one day
Brent: in 2012. And for some reason, I never planned this.
Brent: It's just like, what today?
Chris: Wow.
Brent: Yeah, 2012. And I was super proud of this thing. It was meant to be like my
Brent: main photography portfolio website, and that it did.
Brent: So I took, I don't know, a whole day to build this thing and I worked on it
Brent: for weeks after that and kept updating it and stuff like that.
Brent: But it was built on WordPress, of course. That was like the modern stuff at the time.
Brent: And it was kind of cool back then. I had a responsive theme,
Brent: so it looked good on mobile and everything. And that was the big thing back
Brent: then, right? And really cool photo galleries that showcased.
Chris: Just plugging away, you know, plugging a photo gallery. You got a photo gallery.
Brent: Yeah and like super high quality too if you wanted it there were ways of getting
Brent: like you know the high res stuff for anybody who had a decent internet connection or whatever.
Wes: It's really hard for my like this is all true it's just really hard for my brain to get it's been so.
Brent: Long that i spent.
Wes: With wordpress solely as like legacy.
Brent: Yeah but you're right.
Wes: I mean it was it really opened up a lot of and you could sell easy self-hosting
Wes: yeah it sort of changed the activation potential for even having a website.
Brent: Yeah what was really attractive to me was that um,
Brent: i guess wordpress allowed you to take control of your own website right it was
Brent: the thing that felt like everyday users could just build something really cool yeah
Brent: and being a little bit more technical of course i could host it at like some
Brent: shared hosting and have it be reasonably fast you know and,
Brent: enough security in place that it wasn't you know i wasn't getting totally swamped
Brent: with yep bots and stuff like that.
Chris: And then years later too as it kind of went on like there was like optimization plugins you could.
Brent: Do to.
Chris: Make sure it was like cached and you know all the things you would do to a wordpress
Chris: site to try to make it faster reprocess your images yeah yeah.
Brent: Yeah right yeah yeah and so like that was pretty cool back then but it turns
Brent: out i haven't changed that website uh since then,
Brent: and uh it's not so cool anymore so uh the other thing is i don't really do photography
Brent: these days and it's been a while gents uh quite a while so for me this website
Brent: was just getting stale uh,
Brent: and wasn't serving me really any purpose if anything it was confusing folks
Brent: that like associated that url with me because they would go there and be like hmm,
Brent: he never talks about photography anymore this doesn't make any sense,
Brent: So this week, I woke up, and for some reason, I felt very motivated to make a website.
Brent: So I thought, geez, I'm going to tackle this to-do I've had on my list for the
Brent: last, what, four years or a long time anyways. And it turns out I did.
Brent: Made myself a new website. And it was way easier than it was back then. Took way less time.
Chris: When I get those kinds of inspirations, I do try to act on them because if I
Chris: wait like a week, it'll fade and it won't really be did you have that?
Chris: So you kind of almost it's like an artificial time box in a way but it's still an important time box.
Wes: And there's something about the spark too right where you're like okay right
Wes: now this doesn't feel like a project it's not a big task I want to do it I can just do it right now.
Chris: Yeah.
Brent: Whatever I ate that morning just inspired me you know.
Chris: I'm gonna bet that you probably consider going Hugo out of the gate just because
Chris: you have experience with it from working with the community to build the new JB.com.
Brent: Yeah definitely When we built the new JB website, I had on my list to build myself a new website.
Brent: And we had a bunch of amazing community members help us build this website with some really cool tech.
Brent: And static websites seemed like kind of amazing and was new to me.
Brent: So I went into the project thinking, yeah, okay, I'm going to use Hugo because
Brent: I had such a good experience with it, building our website with the community.
Brent: and um it's simple enough that like i don't,
Brent: i could just edit the markdown whenever i feel like it and that's all i need,
Brent: right so that's what i went into this project thinking i was going to choose
Brent: but like vastly simplified from our website because i don't need,
Brent: you know all the features that we have i don't even need a menu or anything
Brent: i was picturing just a landing page.
Chris: The other thing if i were building a personal site today and i'm wondering if
Chris: you thought about this you probably We did.
Chris: I don't think I'd want to go through the expense or hassle of setting up a VPS
Chris: with a database and Nginx.
Chris: So did you think about how to host it too?
Brent: Well, I knew that a lot of people use just static site hosters.
Brent: Like, I guess GitHub does their pages and Cloudflare has some.
Brent: And, you know, a bunch of these are popping up all over.
Chris: So you did consider it. You don't have to tell me what you did yet,
Chris: but I'm curious if you considered it.
Brent: 100%. I knew I wanted to do this because I'm spending, I don't know what it
Brent: is, like $150 a month for mail and hosting of my current website,
Brent: which doesn't serve me, you know?
Chris: Yeah, okay, that's a bit much.
Brent: This is a complete waste of money. What am I doing?
Chris: We should be doing more with that box is what I'm hearing.
Brent: Well, exactly right. And so I knew I wanted to not do that.
Brent: And I knew I needed just a really simple website that didn't,
Brent: you know, I didn't need to host photos and all this media or stuff anymore.
Brent: So as simple as possible was my goal.
Brent: And turns out you can go extremely simple these days and it's still really quite effective.
Brent: You know, back in 2012 that you'd have to write an HTML page or something like
Brent: that. So I knew I wanted it to be hosted as simply as possible.
Chris: Okay. All right. So you didn't go with Hugo. I'm hearing the but in the sentence.
Chris: You didn't go with Hugo. So tell us where you did end up. Yeah.
Brent: Well, I started with some explorations. Like, I...
Brent: Well, okay, I'm going to be honest. I used the robot to help me and I used the
Brent: heck out of DeepSeq V4 Flash, but to do some explorations.
Brent: Like literally the opening question was, hey, I think I want to build a website
Brent: with Hugo. Should I? And what are the alternatives?
Brent: because like I have an idea maybe it's the wrong idea right if uh if someone
Brent: definitely knows better than I do so um,
Brent: it turns out even compared to when we did the website a couple years ago there
Brent: are new alternatives that are really really cool that are kind of in the same
Brent: ballpark so the one that kind of caught my eye was Zola,
Brent: and uh one of the main reasons it caught my eye was that it's written in rust of course.
Chris: Oh it is is.
Brent: It uh-huh all right well.
Chris: If you if you hold on do you would you like it.
Brent: I would i vote very much.
Chris: There you go.
Brent: Ah see it just feels like success.
Chris: So Zola.
Brent: Yeah, Zola, which, you know, is a fast static site generator written in Rust,
Brent: they say. I was like, that seems really simple and exactly what I need.
Brent: But the benefit of using a little bit of AI to help here was that I was like,
Brent: well, compare these for me.
Brent: And let's write a little snippet because I want the simplest website to maintain
Brent: as possible and to edit as possible. I was like, give me a markdown file,
Brent: and that's basically all I want to do.
Brent: And so I had to make some snippets side by side.
Brent: Let me compare them. And Zola was just simpler. I don't know.
Brent: It just felt better. And the technology seemed good.
Brent: And the author wrote a note that I thought was really important.
Brent: because they said, I wrote Zola and,
Brent: its Terra engine from an intense dislike of the insane Golang template engine
Brent: and therefore of Hugo that I was using before for about six plus websites.
Chris: I mean, sometimes you need a muse, a motivation.
Wes: Development by spite goes a long way.
Brent: And that quote alone made me go, hmm, all right, I'm going to try something
Brent: new then. We'll see how this goes. Turns out it went pretty well.
Chris: All right. So Zola, Z-O-L-A, and you can find it at getzola.org.
Chris: When I looked at it, a couple of things jumped out at me that seemed like you're
Chris: obviously going to like.
Chris: Obviously the markdown stuff. But it looks like the actual...
Chris: I don't know, size of it is pretty small. You could get down to a single executable
Chris: to build the entire website if you want. I have to imagine that simplicity also spoke to you.
Brent: Yes, and it was available in Nix packages, which also deeply spoke to me,
Brent: because it meant I could just try it without really needing to install anything like that.
Brent: It's such a beautiful... Nix OS is such a beautiful thing.
Chris: It's packaged for several distros, yeah.
Brent: Sure, and I think that's great. But for me, it was like a zero setup trial to
Brent: just give this a shot. Right.
Chris: Yeah. Well, if it's, if it's one executable, you can really just run it on anything.
Brent: Yeah.
Chris: Yeah.
Brent: And I was building this from my cabin, uh, on the other side of a river in like,
Brent: you know, Northern Ontario over a cell connection.
Brent: Oh, so I didn't really have much bandwidth to be downloading like massive binaries
Brent: or anything like that so it helped that it was teeny tiny and i have to say,
Brent: it was super fast like insanely fast.
Chris: Tara you mentioned tara is that like an end a rendering engine that zola uses
Chris: and it's that's the part that's written in rust.
Wes: Well it's all rust.
Chris: That's all rust.
Wes: Okay yeah so tara ends up being a template engine in rust that takes a lot after
Wes: the style of other popular template engines like Jinja and Django's templates.
Chris: Okay. And so you can do things like, I imagine templates and themes and different
Chris: kinds of styles and all that kind of stuff.
Wes: Yeah, and the template comes in right because you ultimately want HTML,
Wes: but you have Markdown or maybe Toml at the front matter of your Markdown.
Wes: And so you need to somewhere to get that content,
Wes: into the actual form. And so the template is the thing that sort of binds those
Wes: and abstracts that together so that you can have one template that knows how
Wes: to render a blog post or a, you know, resume site or whatever.
Wes: And then the building engine, Zola or Hugo or whatever, takes all of your source
Wes: files, feeds them to the right templates, gets HTML out, and then you're done.
Chris: Okay. But Brent, this simplicity that Zola offers, it must come at the cost
Chris: of some features that Hugo has that Zola doesn't have?
Brent: And I mean, yes, I needed so few features actually that that worked in my favor.
Chris: Sure. That often is the case. Like if you just want a quick dashboard,
Chris: I was actually thinking like, I just, I could use Zola to get myself just like
Chris: reports, just render my, you know, cause right now I'm getting them in Markdown. Why not?
Brent: True. Yeah. Make them pretty.
Chris: Yeah.
Brent: So Zola and Hugo are like super similar, which is why I think I felt,
Brent: comfortable trying something brand new um because it was like well like i already
Brent: know the concept of these static site generators so both are really fast at compiling static sites,
Brent: that's great uh hugo's written in go and zola of course is in rust and uh but
Brent: there's that bigger philosophical difference in the templating so zola's got tara as wes mentioned.
Chris: Menus i'm i think one of the things i remember reading is like hugo has support
Chris: for menus and zola doesn't have support for menus.
Brent: Yeah, Hugo's much more mature, and it has like a thousand plus themes,
Brent: and it's well-known, it's battle-tested themes.
Brent: I guess for the show, we don't use that. We want to use something crazy,
Brent: right? And that's your fault. So thanks, Chris.
Chris: I don't know. I mean, it's like if you need a corporate website with certain
Chris: menu navigations and community built things, then Hugo might be the right answer.
Chris: But if you need a personal resume website or a dashboard or something like or
Chris: a link list just for our start page, Zola is perfect in its simplicity and it's really its speed.
Wes: I think that shows up too, where it sort of has a little, like you don't need,
Wes: it has fewer concepts and you don't need as much to get started necessarily,
Wes: right? Like you might just need one global config file and then like a directory
Wes: tree and then you can have a website.
Chris: Yeah. Also kind of timely because Zola 0.23 was released in August,
Chris: September as we record right now.
Chris: the developers describe it as one of the most big, large, breaking changes of
Chris: Zola that they'll ever have,
Chris: they moved to Terra 2 the shortcode system was also removed,
Chris: and markdown content was promoted to more first class,
Chris: so like kind of just went through the transitions you needed,
Chris: Brent to be the tool that you needed last month.
Brent: Like I didn't notice any of this so it's all completely by chance You know,
Brent: had I been on the other side of that transition, maybe I would have been really
Brent: angry, but this is somewhere for me.
Wes: It is nice to be on this side. Like, okay, well, clearly they're still investing.
Wes: This is the new shiny version.
Chris: I'll just learn the new API. Yes, yes, exactly. All right. So with that in mind,
Chris: I'm curious to hear what you built.
Brent: All right so i woke up that morning feeling very website-ish and i think i should
Brent: describe how this all went for me uh i described what i wanted and what i found,
Brent: but the process was just like kind of amazing because like i mentioned i teamed
Brent: up with deep seek v4 flash which is super fast super cheap and totally understands
Brent: this stuff uh which is great and I,
Brent: suggested that it just like, go find public information about me.
Brent: There's tons, like take the JB website, I don't know, go scrape LinkedIn or
Brent: something and certainly go take the stuff off my old website.
Brent: and compile it into something that looks nice, right? Like, I could do that, but I want you to do it.
Wes: You just told the bot, hey, do you know who you're working with here?
Chris: Yeah, I'm kind of a big deal. Go look me up on the internet.
Wes: This is an ego-based project that I'm going to need you to get this way.
Brent: Well, isn't that what a website is?
Wes: I mean...
Chris: Also make me look good, no mistakes.
Brent: What was nice, though, is that it just, like, compiled all those things into
Brent: a few different options that I could put on this one landing page.
Chris: It successfully e-stocked you, is what you've just demonstrated.
Brent: Yeah, yeah, 100%.
Wes: See, I noticed he shared the ultimate thing that he built with us.
Wes: He didn't share this part of it.
Chris: No, I didn't.
Wes: There's no brent.json that was shared.
Chris: And for all we know, he's doing the same thing on us, and keeping dossiers now,
Chris: or something with his buddy Deep Freak over there.
Brent: Yeah, your website will be ready tomorrow. That's fine.
Chris: Oh, thank you. Thank you. Okay. Interesting, okay.
Brent: Because this is such a fast and efficient,
Brent: static site generator it like when you make changes to like i was primarily
Brent: making changes to the content itself so it was just a markdown file,
Brent: and i would hit save and almost immediately it would get updated in the browser
Brent: so like the time that's nice at which you could see the result of what you were
Brent: doing it was instant basically,
Brent: And that is not the experience that you have with WordPress,
Brent: if you remember how that goes.
Brent: The whole WordPress experience that I had previous to building this website
Brent: was like, add a thing, wait a really long time for the page to load, and then,
Brent: go to the actual website and refresh it, and then wait for that to load.
Chris: Make sure your browser didn't cache it, make sure the performance optimizing
Chris: extension you use doesn't have cache, and then maybe you need to go back into
Chris: the admin dashboard and clear that one.
Chris: Then clear your browser cache, then refresh the page.
Wes: Oh, you probably have a Clash Clearing plugin that you have to go hit if it wasn't wired up right.
Chris: You've got to do this often, so...
Brent: It describes exactly the process I would go through every time I would change
Brent: my WordPress website, which is why I stopped changing it, because it was such a terrible experience.
Chris: That's why. I love it. I thought it was because you lost it in all your tabs.
Brent: Well, you know, sometimes. So I found that live editing was really nice.
Brent: And because I was on such a terrible internet connection,
Brent: building everything locally before I deployed it to the actual website was beautiful
Brent: because it was like as fast as it possibly could be.
Brent: Didn't need the internet really at all. And it was instant. Yeah.
Brent: I don't know. It was even better than I had imagined this process would go,
Brent: which I'm glad because had it gone worse, maybe we wouldn't be making a show
Brent: because it wouldn't be done.
Brent: But the process, like Zola worked so well that the hardest part of the process
Brent: of making the website for me wasn't the new technology I was trying.
Brent: It was the terrible network I was using.
Chris: So, yeah, sure.
Brent: Like i i thought it was probably a good idea to like archive my old website
Brent: and that took freaking forever also because oh sure it's wordpress you got to
Brent: click through stuff images and,
Brent: well exactly and so that was actually the most frustrating part of the whole
Brent: thing was like everything that wasn't the new website,
Brent: right like the downloading of archiving stuff and The technical debt.
Brent: Yeah, exactly. So I ended up deciding to deploy it with GitHub Pages because,
Brent: it was super simple. I know it's battle-tested.
Brent: Another option was Cloudflare Pages, and you can host this. It's such a simple
Brent: website. You can host it any way you want.
Brent: But that got me up and running almost immediately. And I have to say,
Brent: when I switched the DNS to it, it was instant as well.
Chris: Oh, nice.
Brent: And yeah, so it was like in a very short amount of time, in quite a time-blocked
Brent: session, I went from start to finish with a technology that was totally new
Brent: to me and with a result that I'm pretty happy with.
Chris: And now you don't have to pay for that VPS eventually.
Brent: Yeah, exactly. Someone remind me to cancel that.
Chris: And it produces a really nice, clean kind of like bio page that's just super simple. Yeah.
Chris: Really nice links, your face.
Brent: Yeah, my face. Yeah, yeah.
Chris: You know, kind of just what you need if you want to like a domain,
Chris: you know, kind of thing. So with a landing page.
Chris: I like that. It looks professional, you know?
Brent: Wow. Thank you.
Chris: Was that an existing theme? Did you just kind of browse through some of the
Chris: community themes and land on one you like? Or was that kind of a mix?
Chris: Or how did you land on that look?
Brent: I'm going to be honest. Like I asked it to just generate me like a first go
Brent: so that I could be really critical about the themes. And like we would then
Brent: look at options and stuff in it.
Brent: This is the first one that showed up. I was like, hmm, wow, this is exactly
Brent: what I was picturing. So I didn't even have to do like the browsing through
Brent: a bunch of themes and stuff. So it was super, super easy.
Brent: I got to say. And I got lucky. I think there's a lot of luck based here.
Chris: So that's a great example of a nice, clean, simple page. probably really right
Chris: now, you know, very much Zola's sweet spot.
Chris: And so they're not really, Hugo and Zola aren't maybe direct competitors,
Chris: but we decided to do the right thing and try to see if we could make Zola do what Hugo does.
Chris: And so, Wes, you took a crack at seeing if you could get Zola to render the
Chris: JupyterBroadcasting.com Hugo website using the Zola stack.
Wes: Yeah, why not?
Chris: Why not?
Wes: Because here it is a tool that's broadly in the same sort of capability set,
Wes: right? We have a bunch of markdown files and templates and stuff,
Wes: and it turns it into a website.
Chris: Yep.
Wes: We want the same thing.
Chris: Sure.
Wes: And, you know, as we've talked about, like, it has a bunch of the same stuff,
Wes: single binary, markdown in, um...
Wes: Well, let's just see. So if you go to zola.jupiterbroadcasting.com,
Wes: you should see. It is running on my laptop at the moment.
Chris: Oh, my God, Wes.
Wes: So why not be that fast?
Chris: Oh, my God. People are going to crash your laptop.
Brent: Oh, and loaded almost instantly for me.
Chris: Instantly loaded.
Brent: Instant. Wow.
Chris: It actually kind of looks. Okay, so we don't have the menu. Oh,
Chris: but we do have a hamburger menu that does give you everything.
Wes: And you should have the normal menu. I think you just don't have quite enough screen.
Chris: Oh you're right if I expand the browser I do have the normal menu it's just
Chris: because I have it captured for the screen that actually works really well.
Wes: Hey it collapsed was helping me test it.
Chris: And then look if I go into the show I noticed that you're just using the embedded
Chris: player because the domain.
Wes: Difference yeah so we did make some simplification choices there which we can get into chapters.
Chris: Did we do that or did you do that.
Wes: No no that's so we tried to as part of this I wanted to highlight some of the
Wes: stuff that was in there that we don't normally show.
Chris: That's a great idea Wes.
Wes: Just because part of a big part of doing it we can get into it but a big part
Wes: of it was dealing with like the data model that we have especially because we
Wes: have like a scraper several scrapers generations of scrapers involved hundreds.
Chris: And hundreds and hundreds of posts.
Wes: Yes um but uh in doing the episode page it was like well what data do we already
Wes: have that we could be put in here that we just haven't yet but i don't know
Wes: what do you think did it does it work.
Chris: I'm i am shocked i don't know if you looked at that i don't know if you could
Chris: tell that's not the Hugo site other than maybe it loads faster.
Wes: There are a couple of pages like the live page and there's a few picks and stuff.
Chris: I should do a little side by side. I should. Cause I can see like a little bit
Chris: of font rendering difference, but I actually prefer the way Zola's doing it.
Chris: It's a little bigger and bolder.
Chris: I'm just toggling between the two right now. It's surprisingly consistent.
Chris: I actually forgot which one was which just for a second.
Wes: Yeah, I did that several times. Well, because I wanted them both up right as
Wes: I was developing on this one.
Chris: Wow, Wes. It's spot on. Were you impressed by this?
Wes: Yeah. Because at first, I mean, it took a little while to do enough to make it work, I guess.
Wes: Like, the actual rendering worked really well.
Wes: But the biggest thing is Hugo's a lot more flexible, right?
Wes: In some of the templating stuff, which we can talk more about,
Wes: but then also in, and this is a trade-off, but in like the types of concepts
Wes: it has and the number of things it can represent and how it understands those
Wes: and the relationships between them.
Wes: Whereas the data model in Zola is a little more constrained,
Wes: which can be really nice because you don't need to deal with all of these concepts
Wes: that you maybe don't need to care about for a simple website.
Chris: Sure.
Wes: But we have grown a website over many years now that also brought over a bunch
Wes: of past history and sort of, so we're using a lot more of those concepts.
Chris: And so- Do you make your own in Zola?
Wes: Not quite in the same way that you can in Hugo.
Wes: So what I ended up actually doing is doing a round of Python pre-processing,
Wes: to sort of take all of the data in the Hugo format and then convert it to a Zola-friendly format.
Chris: That's a little bit of a cheaterade, but I like it.
Wes: Well, there basically was no way around. doing that.
Chris: Right. So if you're willing to pre-process the files, then Zola works.
Wes: And to be clear, there's,
Wes: Like some amount of this was because Zola doesn't offer things.
Chris: Well, we have a lot of weird stuff.
Wes: And then some amount of this is basically we designed the current data model
Wes: knowing we were building a Hugo website. They co-evolved together.
Wes: So it can only tell you so much.
Chris: That's why I'm so impressed. It works as well as it does. Yeah.
Wes: And that's where the Python stuff was. A lot of it was mostly just sort of like
Wes: normalizing, changing some key names, dealing with things like Brent likes to
Wes: put emojis everywhere on the website.
Brent: I was hoping those would break something at some point.
Wes: And one of the differences is there's times where Hugo will,
Wes: by default, sort of just, if it runs into something, it'll just not worry about
Wes: it and move on. And Zola will very loudly err.
Chris: Which, you know, you could argue either way.
Wes: Yeah. You can make both regimes work.
Chris: When a website's like 10 years old, you're like, oh, just build.
Chris: When a website's brand new and you want it nice and tight and efficient, you want to know.
Wes: So there was some stuff that, like, probably want it to be handling that it
Wes: wasn't because it was just skipping over.
Wes: but the flip side was there was stuff it was just dealing with that Zola immediately
Wes: choked on that we had to like iterate through to make that work,
Wes: reasonable things though yeah and so some of that was like well we have tags
Wes: and it wants to kind of think of those as a taxonomy and then it can automatically
Wes: build you right like oh here's all the episodes that have tags and that kind of stuff right but,
Wes: the way Hugo does it and handles emojis ends up being different than the way
Wes: Zola does it and then you have to come up with a different workaround that involves
Wes: perhaps pre-processing so that you can separate those out so they can still
Wes: be displayed as tags but they can't actually live in the full this.
Chris: Is what you get.
Brent: I'm so sorry Wes.
Wes: Yeah so some of this was you know that kind of stuff things we did to ourselves
Wes: but there was also limitations just in terms of like,
Wes: So I think the Zola templating language Terra, I mean, A, it's more familiar
Wes: to other things, you know, like Jinja, that are quite popular out there.
Wes: And it's nicer for a lot of the common stuff that you're going to do,
Wes: but it isn't quite as flexible.
Wes: Now, I have mixed feelings about templates in general, at least in a more general
Wes: programming language environment, and how much logic you should put into a template.
Wes: But when the alternative is some other logic like living in a pre-process or
Wes: whatever, sometimes it makes sense to just have it in the template.
Wes: And so you have a lot more ability to sort of like iterate through and filter,
Wes: and chain access to your content in the template in a way that Terra doesn't
Wes: really offer you in the same way.
Chris: That sounds like the kind of thing that you get when you have tens and tens
Chris: of thousands of users for many, many years.
Wes: Right. So like a big one here, right, is like Zola templates can only loop through
Wes: lists and things like this, not ask questions in a way that Hugo can ask questions, right?
Wes: So like we have some scripts in this setup now that have to figure out like
Wes: for the shows to display on the main page,
Wes: in Hugo, you can just sort of dynamically get the most recent episodes sorted
Wes: through your whole collection or your different collections combined into one
Wes: collection and then filter through that. And you don't really have an easy way to do that.
Chris: Right.
Wes: Zola with Jara.
Chris: So let me flip it around. If we were building JB.com today and we knew we were using Zola.
Chris: We really wouldn't be hitting these snakes, right? Like these would,
Chris: would we be missing certain functionality? We'd still have to.
Wes: There would be some, if you wanted it to have exactly the same functionality.
Wes: So like the pagination is, is, is the result of this, right?
Chris: Okay.
Wes: Where you got, Hugo handles that a little more for you. Pagination is sort of per tree in Zola.
Wes: Whereas we wanted something that was cross tree in Hugo and Hugo can kind of
Wes: just do that, but then it does it by generating like each pagination result is a pre generated html,
Wes: thing okay so for every page you click through yes it's pre-generated uh-huh
Wes: but you can have hugo do all of that yeah whereas we there wasn't necessarily
Wes: as clear of a way to do that given the hierarchy of our data as we have it in zola,
Wes: and so a pre-processing script kind of just goes and figures that out and then
Wes: can just write out oh here's the most recent 80 episodes we'll just display
Wes: those or whatever and then so now it uses a bit of javascript to sort of do
Wes: the pagination versus this like pre-computed step so there's trade-offs there too.
Chris: I mean here's what i'm noticing is a lot of you are talking about the things
Chris: it doesn't do but then you both seem to really like it is that fair do you like
Chris: it it seems like you're impressed by it to a degree.
Wes: Yeah i think um like i like rust more than i like go okay right and i also never
Wes: liked the go templates yeah yeah i would still say the jb site should be using hugo but,
Wes: i think if you aren't using any of the more complicated features if you don't
Wes: need the robust sort of template library or like if.
Chris: If you were going to build fullpane.com as like a bio site for yourself would you use zola.
Wes: Yeah i think if i wanted a static site generating tool i think zola would be my default.
Chris: Yeah or Like reports. Yeah.
Brent: That means I made the right decision. Thank you, Wes.
Chris: I mean, I think I'm going to use it. I think I'm going to use it to review reports
Chris: and just get them in an HTML format.
Wes: Because a lot of the stuff, like, I don't think you'll run into a lot of the limitations. Sure.
Wes: And this is why I wanted to test on the JB site, was to try to figure out,
Wes: like, where will it really break?
Chris: Yeah, it's a great test.
Wes: I think Zola rewards when you can kind of adapt your content to it,
Wes: and Hugo is a little more willing to bend towards your content.
Chris: Yeah, okay. Which is perfect for what Brent's doing. It's because he's starting over again, right?
Wes: Yes, exactly.
Chris: This is a and it's such a simple tool to get started with and markdown is such
Chris: an approachable language that it and it's so common online now that I think,
Chris: this is this is one to keep if you're not interested in a site now it's one
Chris: to keep in your back pocket so it's Zola and you can find it at getzola.org but we'll put a link,
Chris: to several things like the CLI command usage there's some whole CLI set there
Chris: that's really good to have they have some search stuff and indexing stuff that
Chris: you can bolt on which is really nice a bunch of good things in there.
Chris: Nice find there, Brentley. Now you've got to keep it updated somehow.
Chris: But I suppose all you have to do is, right, you just update the markdown,
Chris: commit it, push it, and page is updated.
Brent: Exactly.
Wes: And I've got to give props to Brent. He did make sure he got himself a nice little flake there.
Chris: Yeah, I saw that.
Wes: And what's great too is when you do it with Nix, you can have the build just
Wes: use Zola, and then the output derivation is the static files,
Wes: and then you just either upload that or you serve that behind engine next you
Wes: do whatever you need to do.
Chris: Whatever you got to do.
Brent: You know the only reason I made a flake.next was because I knew Wes would require.
Chris: It makes him so happy and it's worth doing it just it's worth it for how happy it makes him,
Chris: Well, we got some feedback into the show, and Greg the Lawyer writes,
Chris: Hey, Chris Wesson, Brent, episode 682 was a banger. I love hearing your breakdown
Chris: of QuickShell and had to chime in with what I have been building over on my side.
Chris: I put together my own setup called Wintermute OS.
Chris: I call it that because I'm a big fan of Gibson's Neuromancer.
Chris: In the book, Wintermute is an existing AI orchestrate that orchestrates its
Chris: own emergence into a higher state of consciousness.
Chris: It seems to fit given how AI is unlocking new levels of Linux power for us all.
Chris: Wintermute is Nix OS, Wayland, Hyperland, and Quickshell.
Wes: All right.
Chris: Very, very nicely done. With Quickshell, my bar is exactly what I want, where I want it.
Chris: I took inspiration from Ama Archie, Home Assistant plugin, and I have configurable
Chris: panel controls, entities, and I get some sensor readings when I want them.
Wes: Love it.
Chris: I showed off my SingThing panel in the Matrix room in episode 681 as a testament
Chris: to the power of agents in Quickshell. I created that panel during 681.
Wes: Putting the quick in Quickshell. I love it.
Chris: Two custom panels, different apps. Quickshell pulls all my theming to make the desktop feel unified.
Chris: One of my favorite quality of life additions is a custom camera settings pop-up.
Chris: I have a Logi webcam, and without an app running, its settings consistently
Chris: default to less than ideal.
Chris: Quickshell to the rescue. Now, right-clicking on the existing screen recording
Chris: glyph pulls up a panel with a button to instantly apply my defaults to addition
Chris: to direct controls for exposure, focus, pan, tilt, and color balance on the fly.
Chris: This used to be done with external GUI utilities or terminal commands before
Chris: I could even do a call or recording.
Brent: We do this exact thing in studio. And Chris, you hate it every single time.
Chris: It is such a pain in the butt. I should think about this. NixOS pulls QuickShell Plus...
Chris: thinkers, I think, is letting me build a personalized declarative desktop that
Chris: doesn't really feel janky.
Chris: The setup bridges Unix philosophy to my desktop. Instead of a pre-built environment
Chris: that I have to either submit to or alter until it's unrecognizable,
Chris: I can use these building blocks to craft just what I need.
Chris: And now I have a premium desktop experience that works just how I want it to,
Chris: and I can reproduce it across multiple machines.
Chris: Thanks for the great show and keep up the awesome coverage. Cheers, Greg, the lawyer.
Chris: He's also not criticizing Genome says or any of that love it all I agree and
Chris: what a great project winter mute OS kind of took what I was thinking about and
Chris: just ran with it to the next level Greg.
Wes: Yeah it looks really.
Chris: Nice thank you for sharing it's always.
Wes: Fun to see what people build.
Chris: Screenshot of the JB website too gotta love that,
Chris: thank you Greg appreciate the value,
Chris: or the email I guess thank you Greg appreciate the form of e-value he usually
Chris: does boost it he will boost in And he, in fact, is our second booster. So let's get to that.
Chris: However, producer Jeff sneaking in right now with a baller boost,
Chris: 66,666 Satoshi's spooky.
Chris: Jeff's been figuring out another way to boost without bolts.
Chris: Experimenting, but swap market, swap market.github.io worked well for me to
Chris: use my liquid stash. Still experimenting. Hope to boost more again soon.
Wes: Oh, well, we appreciate it.
Chris: Yeah. Check out DJ, also the Blockstream app, you know, and if you're on the
Chris: Lightning Network, moving between lightning wallets is ain't no thing.
Chris: Ain't no thing. Thank you, PJ.
Wes: I like he's out there experimenting.
Chris: Mm-hmm.
Wes: Oh, well, it's like you saw the future. Greg the lawyer booths in with 30,000 sats.
Chris: Hello, Greg. Good to hear from you again.
Wes: Short and sweet. Live long and prosper.
Chris: You too.
Wes: Live long and quick show.
Brent: We've got an otter brain here with 10,000 sats.
Brent: As a college educator, I arrived at an AI course policy.
Brent: I am prohibiting use for quizzes and exams, and students are not allowed to
Brent: generate responses to homework prompts.
Brent: I am allowing use for help with finding sources, however, or help with describing
Brent: a concept introduced in class.
Brent: For homework and presentations, I ask for a brief citation of model and prompt.
Brent: I'm curious to see how this is going to work long term. I'm hopeful for the
Brent: strengths of this tooling is that it can help learners to build confidence and ask good questions.
Chris: I think it's a pretty balanced policy.
Wes: Yeah, I like it.
Chris: Pretty thoughtful. I'm curious if you want to share Otter without maybe revealing
Chris: too much, how you will know if they used AI, if you have a system to detect that and if it works.
Chris: I'd just be curious to have any more information you can share.
Chris: You know, what kind of bakes my noodle about this banning AI in schools thing,
Chris: and I'll just quickly address this, is I spent the 90s fighting tooth and nail,
Chris: to get OpenOffice or StarOffice and the Linux desktop on any school system I could get.
Chris: And I came up with every scheme, every way to save money, to repurpose old hardware.
Chris: You know, I did the math to compare the licensing costs on Microsoft Office.
Chris: And over and over again, the school board rejected it for one reason.
Chris: And I listened to this reason for probably five, six years. I mean,
Chris: it started the year I moved into the school district. And the reason was...
Chris: When the students leave school, the applications they'll be using in the workforce
Chris: will be Microsoft Office and Microsoft Excel.
Chris: And if we put OpenOffice on their machines, or LibreOffice wasn't around yet,
Chris: but if we put a StarOffice or OpenOffice on their machines, they'll be learning
Chris: something that isn't in the workplace and it won't serve them.
Chris: And so we must spend hundreds of thousands of dollars a year to the licensing
Chris: regime so that way the students are prepared for the workplace.
Chris: And yet we are just dismissing that logic now i think otter brain has the good
Chris: balance here i think that's the right way to do it but i'd be curious to know
Chris: how you actually enforce it thank you otter brain good discussion appreciate
Chris: you uh keeping us in the loop,
Chris: hey gene beans here with a row of ducks 2 222 cents,
Chris: i'm so impressed to hear that omicon foundation is sponsoring devs for multiple
Chris: years yes in fact i believe they are now at a total of 12 million in funding
Chris: and they've also launched individual funding and they're already at like $50,000
Chris: in individual contributions from end users.
Chris: So it seems to be getting speed, Gene Bean. Nice to hear from you.
Wes: Magnolia Mayhem comes in with $5,289.
Wes: Well, first we get a boosty, boosty, boost.
Chris: Oh, of course we do. Here you go, buddy.
Wes: And then Mayhem goes on. Some years ago, I promised that my next boost would be from Boost CLI.
Wes: I guess those days have come and gone, but I hope you'll accept this LBCLI boost in its place.
Chris: That's neat.
Wes: We sure do. Yeah.
Chris: I mean, boosting from the CLI is pretty cool, however you're doing it, right?
Chris: That's great. Thank you. nice to hear from you mayhem appreciate the value.
Brent: Well thomas english boosted in a row of sticks 11 1111 sets.
Chris: Thanks guys i vibe clanked nixos into every computer to hand out but my phone has eluded me
Chris: i got my nubal flakes going my hermes and trek project across the sardia skillfully
Chris: extracting descriptions from restaurants just liked and the pattern matching
Chris: ones that we should eat at next nom nom nom lm wiki for our holiday habits next.
Wes: There's a lot cooking there. I love it.
Chris: I mean, like he's making his bot an expert on his favorite restaurants,
Chris: making a wiki out of it, and then going to start planning holiday habits next.
Wes: It's like a restaurant DJ.
Chris: I love it. And also, yeah, turning your phone into like a Trek tricorder would be high on my list.
Chris: I just, I don't even need it to actually be a tricorder.
Wes: It just needs to be more like it.
Chris: Just look and sound like a tricorder. That's all I'm asking for is. Oh, it's not a big deal.
Wes: Okay. Shouldn't be.
Chris: No, I'm not asking for too much. I don't think.
Wes: Well, how about a ginkgo salad? Because ginkgo salad boosts in with 10,000 sets.
Wes: Have you seen TryNix.dev? Boot any package Nix packages ever shipped in this
Wes: tab. There's a good blog post on it as well.
Chris: Have you ever seen these websites and you're like, how do they do this?
Chris: It's unfortunately under a little bit of load at the moment as we're live.
Chris: So I don't know if it'll actually load for me. But did you see,
Chris: I saw this before the show.
Wes: I did not. No, this looks great. Oh, it's made by Farid Zakaria. Of course it's great.
Chris: It's not loading for me, but yeah. So you basically can type in a Nix package.
Chris: searches it and you're going to boot it up and try it and it's so cool it's
Chris: really it's really amazing that kind of technology you know run whole computers in a browser.
Brent: Does that mean you could run zola in a browser to make a website for yourself.
Chris: I think that's that's blowing my browser.
Wes: Yeah uh if you haven't checked out uh farid has a lot of great resources about
Wes: learning nix explaining nix concepts just recently a very cool article about
Wes: turning sqlite databases into actual executable files on.
Chris: Linux.
Wes: And I think this is also... Yeah, it's great. I'll include a link to that too.
Wes: And then any Nix package live in your browser is the write-up for this neat
Wes: little tool. Well, there you go.
Wes: Thank you, Ginkgo, because I had not seen that.
Chris: Hey, we got some Fiat boost too. And Blackhost is coming in as our Fiat baller with $250.
Chris: Very nice. Blackhost is just moving the needle. plus one on the AI podcast.
Chris: Thank you very much, Blackhawks.
Brent: Thank you.
Chris: And strong.
Wes: We sure appreciate it.
Chris: Thank you very much. Mobile Home Labber comes in with $10 in fiat.
Chris: Hey, first time, a long time.
Chris: Nice to hear. Freeman was looking at Markdown editors and found Neo,
Chris: a novel writing tool created by a novelist.
Chris: Oh, and they are the author of the Silo series. No kidding. App image release.
Chris: Just thought it was cool.
Chris: But now I got to go take a look at this. So it's Neo, N-E-O.
Chris: It's on GitHub. MIT licensed.
Wes: Neo understands from the moment you install it that you're writing books and
Wes: nothing else. No bloat, no distractions with manuscripts that look like books as you write them.
Chris: Pretty great. Pretty great.
Wes: We're finally getting that novel then, Brent.
Chris: Nice to hear from you. Yeah. Yeah, where is that? Nice to hear from you,
Chris: Mobile Home Labber. Thank you very much. You know, Brent, you should write a
Chris: book on how to go to restaurants with gluten and dairy allergies.
Brent: I'll get right on that. I got to wait for a morning where I wake up inspired.
Chris: You want to take our first member boost there, Wes?
Wes: Yeah, we got two anonymous member boosts here.
Wes: After many months, I finally switched from DMS to Noctalia just a couple of
Wes: weeks ago, having had regular crashes and quick show whenever the screen locked
Wes: oh okay looks like those are fixed in zero three one so switching back i'd have
Wes: missed that update so thanks for the heads up.
Chris: So apparently i jumped on just at the right time like brent's jump on in zola just.
Wes: The right time some good try and stuff luck let's hope that continues yeah yeah,
Wes: okay and then here we go star trek question i am not a diehard trek fan however
Wes: i do enjoy the content i've recently He started watching Strange New Worlds and found it enjoyable.
Wes: For those that are really into Star Trek, how is Strange New Worlds perceived?
Chris: I think, you guys tell me if you think this is wrong. I don't speak for all Star Trek fans.
Chris: But I feel like a lot of long-timers, we would describe Strange New Worlds as best of the new batch.
Brent: Yeah. Best of the new batch. That's a good way to put it.
Chris: It's not like, you don't build a 60-year franchise on this television show,
Chris: right? This is the television show you get after a 60-year franchise.
Chris: And so it's enjoyable, but it isn't representative of what...
Chris: The original Star Trek was written by sci-fi novelists who wrote fantastic novels
Chris: with followings and had entire careers writing sci-fi novels.
Chris: And then Gene came to them and said, hey, will you write for my TV show?
Chris: And these really good sci-fi writers wrote for television.
Chris: And now what we have is new hires that have never worked in TV before or written.
Chris: Their first job is working for Bad Robot.
Chris: And so this is what they're writing. and that's not a judgment it's just a fact
Chris: and so it just doesn't quite hold up in our opinion but it's still very good
Chris: we still enjoy it I'm currently watching it I have not watched the most recent
Chris: episode but I did get through the puppet episode.
Wes: Yeah and of course Gene also himself had done a bunch of previous television
Wes: stuff and westerns and all kinds of storytelling for the screen.
Chris: It's beautiful too I really think the strange I love the sets.
Wes: It does I think it is the closest that feels that got closest to the feeling
Wes: of like I'm watching this and it feels like I'm watching.
Chris: Star Trek And it's the one that probably feels the closest to part of the entire
Chris: universe out of, I think, all the new Trek as well.
Wes: Rather than its own thing.
Chris: Yeah. Yeah.
Chris: Good question. Not that we like talking about Star Trek.
Wes: No, what? No, never.
Brent: Slightly off topic. Amadeus sends in a member boost.
Chris: Hey.
Brent: Thank you. I'm delighted Quickshell is getting funding. I made a resource widget
Brent: that turns different colors based on the CPU, memory, and disk thresholds.
Brent: so now i can play factorio during colmina builds and know when it's time to
Brent: return to work faithfully reenacting the ancient xkcd my code is.
Wes: Compiling amazing.
Chris: You've basically created your own lunch whistle right when the code goes green
Chris: again it's time to get back to work the lunch whistles oh.
Wes: Build's done.
Chris: I think that's so good thank you for sharing that that's actually and color
Chris: coding is such a good way to go you just get it by a glance.
Wes: I was seeing another someone who'd rigged up it started as like a monitoring
Wes: widget for system d service status but then they kind of just put in more and
Wes: more things to like a little green right green light red light yellow light
Wes: sort of setup yeah there's a lot there's a lot to that.
Chris: Unnoticed 92 87 sent in a free member boost.
Chris: I'm not sure how long I've been listening, but how long does one have to be
Chris: listening to be called a long timer? Low 400s, maybe the high 300s first time
Chris: booster relatively new member. Keep up the great work. Well,
Chris: thank you for becoming a member.
Chris: Um, here's, I think people usually go by like, well, I joined when system D
Chris: was the topic or I joined topic eras.
Chris: Yeah. Well, because new people think, oh my God, all these guys do is talk about
Chris: Nix or, oh my God, all these guys talk about AI, But long timers know that we're
Chris: just following where Linux is going and there's eras.
Chris: And there has now been many eras over the show.
Wes: I want to see a map of those eras.
Chris: Right. Because there was a time when like, oh my God, all the show talks about
Chris: is system D. And oh my God, all we talk about is Pulse Audio.
Wes: Or Arch Linux.
Chris: Or WireGuard or ButterFS or, you know, these things. And then it's just,
Chris: it's all quantitative to the actual size and impact and scale it is on the Linux community.
Chris: And so usually what people do unnoticed is they say, I joined during that topic era.
Chris: Or, you know, or like, I joined when Matt was still hosting or something like that.
Brent: During the Arch Challenge.
Chris: Yeah, the Arch Challenge. Thank you very much for being here,
Chris: and it's nice to hear from you. Please do keep it up.
Wes: I'll hear this one's for you, Chris.
Chris: Okay.
Wes: Lawson member boosts in to say, Chris, I know you mentioned that you fought
Wes: with how Bitwarden fills in finding the button and how they keep changing what
Wes: clicking where it means.
Wes: As you are moving to a more keyboard-centric workflow with Hyperland,
Wes: you can use the shortcut Control-Shift-L.
Chris: What? I can use a Hyperland shortcut to do a Bitwarden fill?
Wes: Or is it a...
Chris: That's great.
Brent: Say more. You got to try it out.
Chris: Yeah.
Wes: Let us know how it works.
Chris: Yeah.
Wes: Is it a Bitwarden shortcut that gets registered?
Chris: Either way, I got to look into that. That is great.
Brent: You should write it down on your notebook there, Chris, I think.
Chris: Bring it home with you. You know what? I really have to thank everybody.
Chris: The show really turned around.
Chris: When we sat down to do the show, we didn't even crack 100,000 sats for support this week.
Chris: But things are looking much better. So let's round it all up.
Chris: I want to say thank you to all of you who streamed sats as you listened.
Chris: 16 of you did that. And collectively, you 16 stacked 28,789 sats for the show. Thank you.
Chris: When you bring it all together with the fiat boost converted to our local currency,
Chris: or local currency, you know what I'm trying to say, current value for sats,
Chris: bringing the live boost, our bar boost, and all of it, it brings the show to a respectable 491,318.
Wes: Sats. All right.
Chris: Which is way better than we were looking at going into the future.
Wes: Out.
Chris: Yes. Thank you, everybody.
Chris: boost.jupiterbroadcasting.com support the show and keep us going and thank you
Chris: to our members who put their support on autopilot we appreciate you.
Brent: Could I pull I think I want to pull a boost forward here.
Chris: Go for it yeah always welcome alright.
Brent: So Harpo sent in a row of sticks basically 1111 sats,
Brent: and has a great message here in case anyone is interested I've created both
Brent: knives the Home Assistant add-on that connects an LM of your choice with Assist.
Brent: It has local memory, so it remembers things between diff conversions,
Brent: can reason, and can even create automations for you by just speaking.
Brent: Been using it in my house for months.
Brent: And two, Knives on Omarchie plug-in, which allows you to speak to Home Assistant from your desktop.
Chris: Oh, my goodness. Here we go, boys. You know, that's a nice little combo right there.
Chris: Good call. Harpo, thank you for sending that in. We'll link those in the show
Chris: notes as well. Knives, N-I-V-E-S.
Wes: There is something interesting about the idea of an embedded bot in the home
Wes: assistant. It's the personality of the home.
Chris: Mm-hmm. Mm-hmm. Yep. My home assistant is named Rosie after the robot in the
Chris: Jetsons, and I've always wanted to take that a little bit further.
Chris: I think that'd be a lot of fun. Thank you, everybody who supports the show with
Chris: a membership or a boost. We have the 2000s at cutoff. We do read them all.
Chris: And every now and then we do pull one forward as well.
Wes: Now someone's been picking.
Chris: Oh, I am excited. I can't wait to go home tonight and try this on Dylan's Mouse.
Chris: It's called OpenMouse, and you can go to openmouse.app. And this allows you
Chris: to configure the DPI, the polling rate, your buttons, if your mouse has RGB.
Chris: All these things that you normally would require, a proprietary Windows app,
Chris: can now be done in a web app. It uses the WebHID HID protocol.
Chris: The downside is it's currently Chromium only. And your mouse has to be on the supported list.
Chris: but there are 117 individual mice with a real focus on gaming mice.
Wes: And something tells me that list will be growing. Yeah.
Chris: Oh, actually it already has. It's 120 now.
Wes: Hey, what are my predictions?
Chris: It worked, Wes. You did it. Oh, the MX Master's on here. Good,
Chris: good, good. I have one of those.
Brent: It's nice. They have a list here with a ton of requests and also you can vote.
Brent: So I guess the developers just see like, you know, Get working on the one that
Brent: has the most votes and keep going. That's a good system.
Chris: It's so cool that you can do this in the browser. Yes, it requires Chromium.
Chris: But any Chromium browser, I believe, will work.
Chris: The actual app is control.openmouse.app, and it is GPL3.
Wes: I know. I was impressed when we were doing our, and you can do it for regular
Wes: old Android too, but our giraffine installs and being able to do that right
Wes: from the browser installer. So more things that can handle these kind of fussy
Wes: device interactions without having to install janky software, the better.
Chris: That's why I genuinely wonder if I could build a web app that rips DVDs with
Chris: like some sort of web-based MakeMKV.
Wes: We'll compile MakeMKV to WebAssembly.
Chris: All right. So this next one.
Chris: I think initially, at first glance, it looks like a finance tracker.
Chris: But I think a lot of people have that workflow baked in. Maybe, maybe not.
Chris: But the thing that still kind of is hard for me to keep track of is not just
Chris: the subscriptions I've signed up for, but like the ones my kids end up signing up through their phone.
Wes: The whole network of subscriptions that ultimately come back to you.
Chris: And on the Apple devices, I can from my phone see they have subscriptions.
Chris: I cannot see what they are. So I do not remember. Remember, I have to go to
Chris: their phone and look it up individually in the settings app on every one of their devices.
Chris: So enter WallOS, an open source personal subscription tracker,
Chris: a self-hostable web application designed to empower you for managing your finances with ease.
Wes: WallOS.
Chris: It simplifies the process of tracking expenses and helps you gain a better understanding
Chris: of your finances. And the big thing here is subscription management.
Chris: Keep track of your reoccurring subscriptions and payments.
Chris: Make sure you never miss a due date or lose track of them. it has automatic category,
Chris: sorting it can go look up the logos for you so that way it looks good it gives
Chris: you a nice dashboard you pull up you can see you got your Google subscriptions
Chris: on here your Netflixes and your Spotify and kind of this one dashboard here,
Chris: and you can dig in give more information,
Chris: multi-currency support if you happen to be paying in different currencies around the world,
Chris: data's all yours like I mentioned the logo search is really nice category management
Chris: I think is really good you do get statistics and graphs you can get perspectives
Chris: on what you're spending who you're spending it with.
Wes: I see it has some notion of like inactive.
Chris: Subscriptions. Yeah.
Wes: They have a demo instance, which I'm checking out.
Chris: Yes, they do. They do. So you can, you go to the GitHub page on the GitHub page,
Chris: which we'll link in the notes. They have a demo that you can go to and the login
Chris: is just like demo, demo. Yeah.
Wes: Oh yeah. Here's the stats page. Okay. Yearly cost fun. Most expensive subscriptions cost. Nice.
Chris: Yeah.
Wes: Some stuff you don't want to know.
Chris: But yeah.
Chris: Especially when you're spending too much money on tokens. and then you have
Chris: like your upcoming you get a snapshot of what your monthly budget and spend is oh that's.
Wes: Nice if you're trying to keep track of.
Chris: Things yeah,
Chris: It's kind of nice. And I like that it's not trying to solve everything.
Wes: That's what I was going to say. You're not necessarily trying to have this be
Wes: categorized every single transaction that flows through my cats.
Chris: It's not like QuickBooks or whatever you might be using out there these days.
Chris: It's just because so many things are subscription-based.
Wes: So what's the onboarding like? I mean, how do you get, does it automatically
Wes: find it? Do you kind of just go plumb it up in the UI?
Chris: Yeah, and then it goes in an API. Gets the logos and things like that.
Chris: Yes. And also, it will support OIDC with OAuth if you want to do that.
Chris: And then they have a tie-in, although it's not really a major feature,
Chris: but they do have an AI tie-in where they'll generate recommendations.
Chris: It can use ChatGipity over the
Chris: API, Gemini, or if you've got local llamas going, it can use that as well.
Brent: The fact it even has an API is really brilliant because a lot of these types
Brent: of tools just don't even...
Chris: And GPL3. I mean, come on. Is that some banger picks or what?
Wes: Mostly PHP. Haven't had one of those for a minute, so that's nice.
Chris: Wow. Well, it's cool again. php is cool again,
Chris: you know i really think the real unlock though from like a long-term linux user
Chris: perspective is the open mouse stuff that has been the domain of proprietary windows apps,
Chris: for so long and now like so that's one of the downsides that my kids have had
Chris: is all of their friends have fancy gaming nieces with rgb and some of them got
Chris: fans and high DPI's you can turn ups and stuff like that,
Chris: and it's all Windows and now I'm going to just say go over there if your mouse is supported.
Wes: It is pretty funny we got to the like actually the games run just great but,
Wes: we can't really deal with your gaming peripherals.
Chris: Especially weird esoteric Mies made for Windows users,
Chris: All right, links to all of that will be at linuxunplugged.com slash 683.
Chris: Find the whole back catalog over there. You can become a long-timer just by
Chris: listening to the back catalog.
Chris: Jump in the time machine, go back, automatically become a long-timer.
Chris: And we also, we haven't mentioned this for a while.
Chris: Two things before we go. Number one, we do love time travel boost.
Chris: So if you're in the back catalog, we always like it when you check in. It's just fun for us.
Wes: Yeah, that's right. We have zip code boost. That's sort of a spatial domain
Wes: boost. And then we have a time domain boost.
Chris: And then I'm going to make an ask that I don't think we've made for at least five years.
Chris: And I'm going to say, if you've made it this far in the podcast and you're listening
Chris: on Apple Podcasts, go give us a nice review if you would.
Chris: We've had one recently and it was actually really nice because for years now
Chris: we've been taking it in the pants.
Chris: We're talking about Knicks or talking about whatever.
Chris: I think one person dinged it because we talked about immutable distributions
Chris: and others said, you know, it's like random stuff.
Chris: maybe talk about whatever was that's whatever personal pet peeves are,
Chris: a lot of people go get squeaky on the uh apple podcast ratings we're not apple
Chris: podcast users so we can't do anything about it but if you're using apple podcast
Chris: out there and could give us a nice review and rating it helps other people find the show,
Chris: and i don't think i've asked in like five years so i'm putting it out there
Chris: we'd really appreciate it anything else they should know before we go wes any
Chris: hot tips extra information around the show metadata oh metadata yeah.
Wes: Okay well how about xml you like xml site i put um i put json inside the xml.
Chris: For you now you're talking.
Wes: Yep i also put text files vtt srt and uh mpeg not just level three but level four.
Chris: It's like the podcast was ready for the agentic era.
Wes: It's got all that data sitting there at the item level just packaged up between a lot of you know.
Chris: Structured little.
Wes: Alligators open and closes.
Chris: Yeah a lot of alligators a.
Wes: Lot of alligators.
Chris: But don't worry they can navigate that now for you the human you should join us live.
Chris: Make it just a Tuesday on a Sunday experience. Hang out in the mumble room,
Chris: the chat room, get extra show.
Chris: And then when you can't do that, become a member and you get the bootleg.
Chris: Clocking in an hour 43-ish right now.
Chris: Lots of content in there for them, just for them. Either way,
Chris: we just really appreciate you listening.
Chris: Shows clocking in on like 13 years or something like that. You don't get there
Chris: without a great audience and a great community.
Chris: Regardless if they're in the live room or not, we really appreciate you.
Chris: go get the show notes all that linuxunplugged.com thank you so much for joining
Chris: us on this week's episode of your unplugged program and we'll see you right
Chris: back here next Tuesday as in Sunday.