1
00:00:11,372 -->
00:00:16,389
Hello, friends, and welcome back to your weekly Linux talk show. My name is Chris.
2
00:00:16,389 -->
00:00:17,259
My name is Wes.
3
00:00:17,259 -->
00:00:18,179
And my name is Brent.
4
00:00:18,179 -->
00:00:23,129
Hello, gentlemen. Well, coming up on the show today, has the best use case for
5
00:00:23,129 -->
00:00:27,307
Noster finally been discovered, and it might not be what you're thinking?
6
00:00:27,626 -->
00:00:31,614
We're going to take a look at Buzz, the new tool that is sort of like multiplayer
7
00:00:32,003 -->
00:00:33,593
for agentic assistant work.
8
00:00:33,890 -->
00:00:35,859
And then we're going to round the show out with some great boosts,
9
00:00:36,179 -->
00:00:37,907
some picks, and a lot more.
10
00:00:38,191 -->
00:00:41,289
So before we get to that, We've got to start by saying time-appropriate greetings
11
00:00:41,289 -->
00:00:45,799
to our virtual lug. Hello, MumbleRoom. Hey, Chris. Hello, Brent.
12
00:00:46,259 -->
00:00:46,779
Hello, hello.
13
00:00:47,379 -->
00:00:49,409
Thank you for joining us, even when we're remote.
14
00:00:49,409 -->
00:00:54,749
Yes, hello up here from the beautiful, smoky BC. We're up in Brent's pad this week.
15
00:00:54,749 -->
00:00:55,289
Delicious.
16
00:00:55,289 -->
00:00:58,971
Hanging out, enjoying ourselves some wildfire smoke.
17
00:00:59,360 -->
00:01:03,449
And just extremely grateful for our friends over at Defined Networking.
18
00:01:03,449 -->
00:01:07,049
And I think you're going to love it. Go to Defined.net slash unplugged and meet
19
00:01:07,049 -->
00:01:11,089
Manage Nebula from Defined Networking. A decentralized VPN built on the open-source
20
00:01:11,089 -->
00:01:15,039
Nebula platform that is awesome, and we're using the crap out of it.
21
00:01:15,353 -->
00:01:21,849
Nebula, it was originally created to connect Slack's global infrastructure. Could you imagine?
22
00:01:23,550 -->
00:01:24,330
Could you imagine this?
23
00:01:24,330 -->
00:01:26,769
Could you imagine? I tried to imagine what it was like before they had Nebula.
24
00:01:26,819 -->
00:01:26,919
Oh.
25
00:01:27,739 -->
00:01:30,029
And the kind of data that they have to protect. I mean, it's just absolutely
26
00:01:30,029 -->
00:01:35,171
bonkers. And it has to be resilient. It has to scale. It has to be absolutely bonkers fast.
27
00:01:35,699 -->
00:01:40,076
That's what Slack needed, and that's what Nebula delivered.
28
00:01:40,314 -->
00:01:43,739
And you can get it now, right now, defined.net slash unplugged for 100 hosts
29
00:01:43,739 -->
00:01:45,289
free, no credit card required.
30
00:01:45,609 -->
00:01:47,819
They also include a lighthouse now to get you going right away,
31
00:01:47,819 -->
00:01:52,168
but you can self-host your own lighthouse so you have complete real control over your mesh network.
32
00:01:52,557 -->
00:01:56,889
No tech company between you and your infrastructure. No big tech login required.
33
00:01:56,889 -->
00:01:59,406
Keys is how it works. It's so elegant.
34
00:01:59,719 -->
00:02:02,384
Check it out at defined.net slash unplugged.
35
00:02:02,773 -->
00:02:05,373
And a big thank you to Define for sponsoring the Unplugged program.
36
00:02:07,428 -->
00:02:10,452
Well, we got no housekeeping, but we'd love to know what you think of the remote
37
00:02:10,452 -->
00:02:14,072
show audio. And if you watch the video and any of it comes together at all,
38
00:02:14,072 -->
00:02:19,921
we have no idea. So you can go to boost.jupiterbroadcasting.com and let us know your thoughts.
39
00:02:20,246 -->
00:02:22,573
Or you can send us an email, like Mars did.
40
00:02:23,189 -->
00:02:27,101
Hey, guys. Y'all meet at Nostert wondering if you've heard of Buzz,
41
00:02:27,409 -->
00:02:31,962
which seems to be a self-hostable Slack alternative that also enables human
42
00:02:31,962 -->
00:02:33,498
and agent collaboration.
43
00:02:33,783 -->
00:02:39,890
You can check out their code repo github.com slash block slash buzz or the main website buzz.xyz.
44
00:02:40,366 -->
00:02:44,532
While the tech does seem cool and the back end is written in Rust.
45
00:02:45,492 -->
00:02:46,632
Oh, is it now?
46
00:02:46,632 -->
00:02:46,932
Yes, it is.
47
00:02:46,992 -->
00:02:49,311
We didn't notice that. Oh, no, we didn't. No.
48
00:02:49,973 -->
00:02:53,532
I find some of the vision docs in their repo to be really fascinating.
49
00:02:54,603 -->
00:02:58,772
I think Buzz is actually started by Jack Dorsey or at least his block organization.
50
00:02:58,772 -->
00:03:02,502
So not sure how I feel about that. But if it truly supports sovereignty and
51
00:03:02,502 -->
00:03:05,755
it functions and has features and they do what it says on the tin,
52
00:03:06,056 -->
00:03:08,332
then it might be worthwhile to play around with.
53
00:03:08,686 -->
00:03:12,233
Keep up the wonderful work on the podcast. Yours truly, Mars.
54
00:03:12,471 -->
00:03:16,812
Mars, you asked the right question. Does it actually deliver what it says on
55
00:03:16,812 -->
00:03:19,611
the tin or is this just a big joke?
56
00:03:20,110 -->
00:03:22,659
So Buzz is also kind of...
57
00:03:23,390 -->
00:03:26,839
Maybe considered a bit of a Slack killer. I think that's underselling what it
58
00:03:26,839 -->
00:03:31,140
does, but it includes a lot of the Slack-like collaboration and chat features.
59
00:03:32,299 -->
00:03:35,479
And so if, depending on your workflow, this could be very, very useful.
60
00:03:35,959 -->
00:03:39,559
And it's Apache 2.0 license, so it is open source. And like Mar said,
61
00:03:39,559 -->
00:03:43,161
they've put it up on GitHub, and it is moving really, really fast these days.
62
00:03:43,352 -->
00:03:46,778
One of the projects that's actively getting commits pushed to it while we cover it on the show.
63
00:03:47,539 -->
00:03:47,619
Yeah.
64
00:03:47,619 -->
00:03:48,989
Is it right now? It is.
65
00:03:48,999 -->
00:03:50,259
I mean, the kernel gets that sometimes.
66
00:03:50,259 -->
00:03:53,800
26 minutes ago, as we record, on a Sunday.
67
00:03:54,086 -->
00:03:58,149
So they describe it as a self-hostable workspace where humans and AI agents
68
00:03:58,149 -->
00:04:00,616
share the same rooms. And we'll try to explain what that really means here in a minute.
69
00:04:01,419 -->
00:04:04,999
A buzz community is the workspace where a user reaches by URL.
70
00:04:05,599 -->
00:04:08,243
There's a Noster Relay on the back end, which we'll talk about more,
71
00:04:08,620 -->
00:04:11,419
that sort of acts as a central server. Every message, reaction,
72
00:04:11,419 -->
00:04:15,616
workflow step, review approval, and Git event, talk more about that,
73
00:04:15,923 -->
00:04:17,747
is a signed event in one log.
74
00:04:17,996 -->
00:04:20,597
Same shape, same identity, same model, same audit trail.
75
00:04:21,265 -->
00:04:25,142
And in practice, it just kind of feels like a team workspace with a chat app.
76
00:04:25,142 -->
00:04:29,812
But under the hood, every event is logged and everything has a cryptographic
77
00:04:29,812 -->
00:04:33,072
signature, which is very useful. And we'll talk about that.
78
00:04:33,072 -->
00:04:37,402
Yeah, part of the value idea here is, okay, you have to do a lot of work if
79
00:04:37,402 -->
00:04:42,512
you say have something like Slack to bring in maybe helpers or automation or the results from
80
00:04:42,912 -->
00:04:46,982
your build system when you put a new update or someone opens a new PR and needs
81
00:04:46,982 -->
00:04:50,957
a review and that has to be surfaced and all of those things that we end up dragging in there.
82
00:04:51,548 -->
00:04:54,352
Well, what if you just had them in there from the start in a system that was
83
00:04:54,352 -->
00:04:58,172
designed to know about all of them, and that was built on top of Nostre,
84
00:04:58,172 -->
00:05:01,002
which is essentially just JSON with a lot of cryptography on top so that you
85
00:05:01,002 -->
00:05:03,326
have an audited log of all of the events that are flowing?
86
00:05:03,988 -->
00:05:08,822
Yes, and the architecture is such that it is actually Nostre first.
87
00:05:08,822 -->
00:05:13,402
So what that means is, like in the Slack workflow or a Teams workflow,
88
00:05:13,402 -->
00:05:15,842
we've also experimented with Mattermost.
89
00:05:16,208 -->
00:05:20,772
they generally have like a bot api and you go create a bot account and you go
90
00:05:20,772 -->
00:05:24,212
set up an api for your bot and then you go to your whatever your bot is and
91
00:05:24,212 -->
00:05:27,034
you put the api in there you put a url in there and get it all connected and
92
00:05:27,394 -->
00:05:30,070
it can do a few things in your slack or matter most or whatever it might be,
93
00:05:30,529 -->
00:05:34,172
that's not how buzz works since buzz is noster first and everything is done
94
00:05:34,172 -->
00:05:36,532
as a noster event and there's a cli as well,
95
00:05:37,112 -->
00:05:40,572
everything can be managed and set up by agents like they can humans.
96
00:05:40,572 -->
00:05:47,386
They essentially share some of the same privileges and workflow capabilities in Buzz.
97
00:05:48,500 -->
00:05:55,585
And I think that's particularly a big advantage for Buzz because it means that
98
00:05:55,585 -->
00:05:57,154
you can tell, you can task your agent,
99
00:05:57,572 -->
00:06:01,385
go set up a project room for this project and it's linked to this GitHub project
100
00:06:01,385 -->
00:06:04,526
and bring these five people in with read-only permission.
101
00:06:05,089 -->
00:06:08,315
And the agent just goes and does all of that and sends out the invites instead
102
00:06:08,315 -->
00:06:12,775
of you having to go create the room, invite an agent in. It's just a more natural process.
103
00:06:13,408 -->
00:06:18,495
And it means everything is the same. all you're doing with the fancy buzz desktop
104
00:06:18,495 -->
00:06:21,175
client which we can talk about because that's kind of the main way experience,
105
00:06:21,628 -->
00:06:25,915
is sending signed events to the nostril relay and that's all the agent does
106
00:06:25,915 -->
00:06:29,015
either so by if you want to audit what the agent's doing you're also getting
107
00:06:29,015 -->
00:06:31,705
to audit what the human's doing and it's the same thing it's not two separate
108
00:06:31,705 -->
00:06:35,465
systems and it's all just right there and it's a you know building on top of
109
00:06:35,465 -->
00:06:36,581
nostril which is essentially,
110
00:06:37,150 -->
00:06:41,355
like you have this you have this relay and you can post events to it and it's
111
00:06:41,355 -->
00:06:45,775
just a super simple json data structure The wire protocol is NIP01.
112
00:06:45,775 -->
00:06:49,695
Events have six fields. The ID, the pub key that corresponds to your identity,
113
00:06:49,695 -->
00:06:54,058
which is your private key, kind, tags, content, and the signature.
114
00:06:54,511 -->
00:06:57,015
And the kind integer is basically the way you dispatch stuff.
115
00:06:57,015 -->
00:06:59,335
So if you want a new feature, you make a new kind number.
116
00:06:59,793 -->
00:07:02,775
And then, of course, it's all connected over WebSocket, and it lets you do things
117
00:07:02,775 -->
00:07:05,365
like subscribe to queries. So you can kind of ask, like, hey,
118
00:07:05,365 -->
00:07:08,832
give me events that match this shape. I want to be told when those come in.
119
00:07:09,128 -->
00:07:11,479
And that lets you form sort of this two-way communication.
120
00:07:11,792 -->
00:07:16,775
And then Buzz on top of this defines 80 plus different event kinds across some
121
00:07:16,775 -->
00:07:19,669
of the standard ranges and some of their own custom ranges.
122
00:07:20,076 -->
00:07:25,235
And that means, again, like you need to know the semantics of what Buzz's stuff
123
00:07:25,235 -->
00:07:29,085
is. But beyond that, the only thing you need to really know if you want to play
124
00:07:29,085 -->
00:07:30,995
in the system is how Nostra works.
125
00:07:31,895 -->
00:07:37,115
Yeah, I think the advantage to it being Nostra is a couple of primary things.
126
00:07:37,115 -->
00:07:42,680
It's an open protocol. So instead of it being based on a proprietary back-end or whatever...
127
00:07:43,598 -->
00:07:45,993
It's a fully open protocol that's documented. Like Wes said,
128
00:07:45,993 -->
00:07:47,985
the way they're doing things is via NIPs.
129
00:07:48,316 -->
00:07:52,501
And a NIP is a NOSTER improvement proposal. And so you can add functionality
130
00:07:52,751 -->
00:07:55,764
in an open source way to NOSTER through these NIPs.
131
00:07:56,019 -->
00:07:58,633
And then people can determine if they want to implement them at the client side
132
00:07:58,633 -->
00:07:59,775
or not and at the relay side.
133
00:08:00,036 -->
00:08:05,313
And so they haven't had to concoct any kind of proprietary way of doing this.
134
00:08:05,661 -->
00:08:09,208
They've been able to just leverage an open network. So that's the first thing.
135
00:08:09,597 -->
00:08:13,973
The other thing that I think really stands out is everybody that participates
136
00:08:13,973 -->
00:08:19,693
in a Noster network in the protocol gets an NPUB and an NSEC.
137
00:08:19,693 -->
00:08:24,183
They get a public key and a private key, and everything gets signed with this.
138
00:08:25,363 -->
00:08:27,946
Listeners are probably at least loosely familiar with this concept.
139
00:08:28,341 -->
00:08:31,238
But imagine now applying that at the agent level.
140
00:08:31,499 -->
00:08:36,787
So now you have a cryptographic identity for every agent that's working.
141
00:08:37,107 -->
00:08:41,703
So you can actually tie it back to a specific agent and cryptographically verify
142
00:08:41,703 -->
00:08:42,981
it was that agent or human.
143
00:08:43,457 -->
00:08:47,914
And that, because it's just a public private key pair is portable.
144
00:08:48,193 -->
00:08:52,353
So if later on you build up a cooler agent that has way more superpowers,
145
00:08:52,353 -->
00:08:54,590
but you want to use that identity, you can.
146
00:08:54,799 -->
00:08:57,833
And Nostra makes it really easy to spin up a new identity. Like you can,
147
00:08:57,833 -->
00:09:00,291
you know, just a new cryptographic public key and private key.
148
00:09:00,523 -->
00:09:03,753
And so you could create a new identity for another bot and you can verify there
149
00:09:03,753 -->
00:09:06,343
really are the people that the bot claims it is.
150
00:09:06,343 -->
00:09:12,333
And I think that isn't a problem that has been solved yet in any other way with
151
00:09:12,333 -->
00:09:19,209
agents other than APIs and KYC that Anthropic and OpenAI, I suppose, would run.
152
00:09:19,505 -->
00:09:24,083
But this is a distributed, open-source way where everybody involved and every
153
00:09:24,083 -->
00:09:27,703
action involved, every Git commit and everything, has a public-private key signing
154
00:09:27,703 -->
00:09:32,653
that can be audited and traced, which adds to the reliability and troubleshooting of these things.
155
00:09:33,466 -->
00:09:36,972
So I think that's one of the bigger innovations Buzz is bringing by using Noster.
156
00:09:37,268 -->
00:09:41,042
And that's why kind of the beginning, I was like, this might be one of Noster's best uses yet.
157
00:09:42,497 -->
00:09:45,533
Ironically, it's not doing it with a distributed relay. See,
158
00:09:45,533 -->
00:09:48,933
typically with a Noster client, the relay can be many.
159
00:09:49,353 -->
00:09:53,196
You could just substitute any relay for any other relay for the most part, if you wanted to.
160
00:09:53,823 -->
00:09:58,593
But in this case, you're using one specific relay. You can self-host that relay,
161
00:09:58,593 -->
00:10:00,243
but you're using one specific relay.
162
00:10:00,435 -->
00:10:05,120
Why do you think they made that design decision? because the default NOSTER, wouldn't that work too?
163
00:10:06,293 -->
00:10:09,163
Wes could probably explain it better than me, but there's just certain jobs
164
00:10:09,163 -->
00:10:13,933
that the relay is doing. You can have it executing webhooks and doing scheduled jobs.
165
00:10:16,016 -->
00:10:19,653
It's holding more information than a typical NOSTER relay would be by default.
166
00:10:20,473 -->
00:10:21,673
Was that a fair assessment, you think, Wes?
167
00:10:21,673 -->
00:10:25,063
Yeah, I think that's probably about right. You can do more integrations,
168
00:10:25,063 -->
00:10:27,413
like in particular when we talk about the Git stuff. That's something that's
169
00:10:27,413 -->
00:10:28,810
happening here on the back end.
170
00:10:29,117 -->
00:10:33,912
So it is in one sense a standard relay, but it also offers some more stuff on the side.
171
00:10:34,953 -->
00:10:39,043
And I think they are exploring how to do more multi-member communities,
172
00:10:39,043 -->
00:10:44,000
but for this first thing, it's sort of just targeting like the community is the relay.
173
00:10:45,213 -->
00:10:49,677
Is there also a challenge with these NIPs in that like it might not be adopted
174
00:10:49,857 -->
00:10:51,976
by all the relays? No, it doesn't really?
175
00:10:52,133 -->
00:10:55,873
No, because they're implementing their own client, right? So they're implementing
176
00:10:55,873 -->
00:10:58,343
their own relay and their own client. And so as long as they support it,
177
00:10:58,343 -->
00:11:01,403
it's fine. And if you want to build your own, you just, the NIP is documented.
178
00:11:01,403 -->
00:11:01,926
Yeah, okay.
179
00:11:02,933 -->
00:11:05,809
So that, I think, the Nostra aspect. Is there anything else you want to talk
180
00:11:06,001 -->
00:11:09,433
about Nostra before I move on from that? I mean, we're going to come back to
181
00:11:09,433 -->
00:11:10,733
when we talk about bringing our own bots.
182
00:11:10,733 -->
00:11:11,763
Yeah, I think that's fine for now.
183
00:11:11,763 -->
00:11:14,603
Okay, so then the other thing that I think Buzz is bringing early on,
184
00:11:14,603 -->
00:11:19,313
and we should mention this is in early development, and they're probably a pretty
185
00:11:19,313 -->
00:11:21,117
big category of people it's not ready for yet.
186
00:11:21,239 -->
00:11:24,543
But one of the things that is going to probably be attractive to folks in our
187
00:11:24,543 -->
00:11:30,190
audience is they've integrated shared compute, and it's done really, really well.
188
00:11:30,597 -->
00:11:34,243
So I think it's one of their more ambitious ideas. And anybody that has the
189
00:11:34,243 -->
00:11:36,466
Buzz client in a community, in a workspace...
190
00:11:37,227 -->
00:11:41,242
can go into a section that's basically the compute section of the app.
191
00:11:42,304 -->
00:11:48,150
And the Buzz app will review your hardware and determine which open source model,
192
00:11:48,800 -->
00:11:50,736
is best going to run on your machine.
193
00:11:50,736 -->
00:11:51,435
Jeff needs this.
194
00:11:51,615 -->
00:11:56,836
And for me, it selected, first the default was Quen 2.5, but it said actually
195
00:11:56,836 -->
00:11:58,477
Gemma 4 is going to work better on your machine.
196
00:11:58,779 -->
00:12:02,796
And I think we should allocate 48 gigabytes of virtual RAM, of your video RAM.
197
00:12:04,305 -->
00:12:07,523
So I say, okay, and I turn that box on. And what happens now is any members
198
00:12:07,523 -->
00:12:12,883
of my Buzz community can access that shared compute, and they can opt in their
199
00:12:12,883 -->
00:12:14,766
compute as well if they want.
200
00:12:15,358 -->
00:12:19,493
And that, to me, seems to be like the missing piece that we have been asking
201
00:12:19,493 -->
00:12:21,143
for on this show in particular.
202
00:12:21,143 -->
00:12:21,943
Sure have been.
203
00:12:21,943 -->
00:12:27,973
It's so great. No API keys, no cloud bill. The relay handles the trust boundary.
204
00:12:27,973 -->
00:12:30,553
It handles connecting. That's another thing the relay does that probably the
205
00:12:30,553 -->
00:12:31,583
standard relay wouldn't do.
206
00:12:32,233 -->
00:12:36,363
and so you get a compute mesh entirely desktop client side.
207
00:12:36,363 -->
00:12:37,013
That's so cool.
208
00:12:37,013 -->
00:12:41,193
Yeah the discovery just the the part the relay really does is um a member's
209
00:12:41,193 -->
00:12:45,583
mesh lm node publishes a special kind a bookmark set event with a buzz mesh
210
00:12:45,583 -->
00:12:49,293
status tag content is json and then basically just tells it like look this is
211
00:12:49,293 -->
00:12:51,498
what i'm offering i have this model here's how to get to it
212
00:12:51,893 -->
00:12:55,313
and then when a consumer needs a model it can query the relay for fresh mesh
213
00:12:55,313 -->
00:12:59,428
status events from the current members verifies owner binding that kind of all the security stuff
214
00:12:59,771 -->
00:13:04,763
and then basically you always have sort of a proxy local open ai compatible
215
00:13:04,763 -->
00:13:07,273
endpoint from the buzz desktop thing and then
216
00:13:07,693 -->
00:13:11,603
when you connect then that just basically then starts forwarding to whichever
217
00:13:11,603 -->
00:13:15,897
of the local options over the mesh or the remote ones over the mesh that you want to use,
218
00:13:16,425 -->
00:13:18,956
so from your client side you could just point the same thing at it and then,
219
00:13:19,432 -->
00:13:23,443
make use of the different models that are provided by you on the mesh which is pretty cool that's.
220
00:13:23,443 -->
00:13:30,432
So cool mars mentioned this in his email to us and i know wes you noticed this too is um they have,
221
00:13:30,949 -->
00:13:34,490
a pretty well flushed out vision for the project,
222
00:13:34,988 -->
00:13:37,893
and not like computer vision i mean like idea of where it's going to go in the
223
00:13:37,893 -->
00:13:41,453
future and kind of the full idea so even though they're not there yet because
224
00:13:41,453 -->
00:13:43,440
it's early days kind of the full idea of,
225
00:13:43,916 -->
00:13:46,623
like what you could expect this to be and one of the things they outline is
226
00:13:46,623 -->
00:13:49,773
there's these different surfaces right you have your home surface stream form
227
00:13:49,773 -->
00:13:53,453
dms agents workflows and search and all that kind of stuff.
228
00:13:53,453 -->
00:13:57,093
Yeah, here's how they put it. One community is your entire workspace.
229
00:13:57,093 -->
00:14:00,593
Work, conversation, agents, automation, artifacts, docs, one domain,
230
00:14:00,593 -->
00:14:02,771
one identity system, one search index,
231
00:14:03,292 -->
00:14:06,485
MyProject.com in a browser shows your repos. Git clone works.
232
00:14:06,694 -->
00:14:09,118
Open the Buzz app and you're in the channels where the work happens.
233
00:14:09,118 -->
00:14:11,778
No GitHub, no Discord, no stitching five services together.
234
00:14:12,178 -->
00:14:15,668
The project lives in one place and that place is yours. Run your own relay for
235
00:14:15,668 -->
00:14:18,850
one community or let an operator host thousands on shared infrastructure.
236
00:14:19,338 -->
00:14:24,103
Same open source code base. Same URL is your workspace experience. Either way.
237
00:14:24,359 -->
00:14:28,968
And one of the ideas, right, is that you're working with the agents in tandem
238
00:14:28,968 -->
00:14:32,131
on projects. And so you're bringing in Git issues.
239
00:14:32,352 -->
00:14:36,528
the agent is tracking that and you're having like you would a conversation with
240
00:14:36,528 -->
00:14:40,868
a co-worker and i think maybe we should touch a little bit on how they kind
241
00:14:40,868 -->
00:14:45,894
of invasion get and get like workflows being integrated because i don't know if it's fully there yet.
242
00:14:46,062 -->
00:14:50,058
Yeah we haven't tried this part and you might need to have your own relay so
243
00:14:50,058 -->
00:14:53,628
right now we've we have we've been making progress towards it but we have not
244
00:14:53,628 -->
00:14:56,648
hosted our own relay yet just because this is all super new so we want to try
245
00:14:56,648 -->
00:14:59,837
it out so we're trying the hosted relay that you get by default but,
246
00:15:00,325 -->
00:15:03,348
there is git integration So firstly, it's built on top of S3.
247
00:15:03,348 -->
00:15:07,998
So you provide it in S3 as the backend storage for it. Objects are stored as
248
00:15:07,998 -->
00:15:12,475
content-addressed packs and a manifest JSON that tracks refs and the pack list.
249
00:15:12,771 -->
00:15:14,391
No database holding Git objects.
250
00:15:15,218 -->
00:15:21,478
And then they do sort of a NIP 98 hijack. Essentially, they use the Git credential helper,
251
00:15:21,966 -->
00:15:26,645
to plug in Nostr as the identity layer. So the helper signs a Nostr event over
252
00:15:26,645 -->
00:15:28,495
the repo URL instead of a password.
253
00:15:28,935 -->
00:15:32,305
The relay verifies the Nostr sig. That's the entire auth layer.
254
00:15:32,305 -->
00:15:34,915
No SSH keys, no tokens, no OAuth.
255
00:15:34,915 -->
00:15:37,025
That is such a brilliant use of Nostr once again.
256
00:15:37,025 -->
00:15:38,455
Just a signed JSON event.
257
00:15:38,455 -->
00:15:40,035
It becomes the identity layer everywhere.
258
00:15:40,335 -->
00:15:45,585
And then the Nostr events themselves basically are the feed that builds the
259
00:15:45,585 -->
00:15:51,925
UI layer. So a successful Git push emits kind 3618 into the Buzz channel.
260
00:15:51,925 -->
00:15:54,721
Patches, PRs, issues are all just NOSTER events too.
261
00:15:55,029 -->
00:15:58,013
The channel timeline is the code review surface.
262
00:15:58,391 -->
00:16:01,635
And then there's also some policy stuff, like you can do protection rules and
263
00:16:01,966 -->
00:16:06,773
various other things. But it's all basically tried to be plumbed on top of S3 and NOSTER.
264
00:16:06,919 -->
00:16:08,880
And then it's an HTTP server on top.
265
00:16:09,495 -->
00:16:12,595
And of course, if you use their hosted version, they just set all that up for
266
00:16:12,595 -->
00:16:15,855
you. If you want to self-host it, you've got to provide the S3 backend.
267
00:16:16,914 -->
00:16:21,169
But to the Nostra as the identity layer there, Nostra as the authentication layer there.
268
00:16:21,391 -->
00:16:25,205
And what's crucial is it's Git's standard smart HTTP protocol.
269
00:16:25,205 -->
00:16:27,898
The credential helper just swaps the password for a Nostra event.
270
00:16:28,164 -->
00:16:33,475
The server swaps the file system for S3 and CAS. Git itself doesn't know anything changed.
271
00:16:33,475 -->
00:16:33,955
It's pretty cool.
272
00:16:33,955 -->
00:16:37,335
And that was part of the goal, right? If you're going to be replacing something
273
00:16:37,335 -->
00:16:40,985
like, hey, we also do code hosting, you kind of need it to work with mostly standard tools.
274
00:16:40,985 -->
00:16:41,975
That's really elegant.
275
00:16:41,975 -->
00:16:48,015
What I was able to do, too, is I was able to bring over my NSEC identity to
276
00:16:48,015 -->
00:16:50,907
Buzz. So when I logged into our Buzz community...
277
00:16:52,050 -->
00:16:56,057
It was the same identity I have on Noster. So you can verify my key across multiple
278
00:16:56,057 -->
00:16:58,047
platforms now, so you know it's really me in there.
279
00:16:58,366 -->
00:17:00,777
And I didn't have to create a new account. I didn't have to create a new profile.
280
00:17:00,777 -->
00:17:02,174
I didn't even have to set a profile picture.
281
00:17:02,853 -->
00:17:06,899
I just signed in with my NSEC, and it pulled that from the Noster network,
282
00:17:07,190 -->
00:17:11,451
and I'm using that same identity now across five apps. It's so awesome.
283
00:17:11,648 -->
00:17:14,697
Which also means there is some multi-relay support already, because that stuff
284
00:17:14,697 -->
00:17:15,727
was synced to other relays.
285
00:17:15,727 -->
00:17:20,817
Yeah, true, true. So I think the Git integration is particularly useful.
286
00:17:20,817 -->
00:17:25,766
The way they foresee these agents interacting with the external world is going to be through MCPs.
287
00:17:26,131 -->
00:17:33,897
And when you install Buzz, they kind of intend for you to use it as an agent
288
00:17:33,897 -->
00:17:37,728
orchestration platform itself, sort of like an OpenClaw or a Hermes.
289
00:17:38,030 -->
00:17:41,887
And then you can tie it to an API key for the compute, or you can use Codex
290
00:17:41,887 -->
00:17:44,497
or Cloud Desktop or whatever. There's a couple options there.
291
00:17:44,874 -->
00:17:50,017
and it acts as the agentic harness. And then they foresee you using MCPs and
292
00:17:50,017 -->
00:17:54,157
whatnot to interact with the external world and Git and all this kind of stuff is integrated.
293
00:17:54,493 -->
00:17:59,517
And the idea would be that if you were a business or a small team and you didn't
294
00:17:59,517 -->
00:18:04,487
already have, I think, an OpenClaw or a Hermes setup today, you would deploy
295
00:18:04,487 -->
00:18:07,607
Buzz and it would come with a handful of agents. You could create more.
296
00:18:08,025 -->
00:18:11,357
Yeah, and we kind of tried it a little bit from there. We took two paths.
297
00:18:11,357 -->
00:18:17,387
One is you can do what's called a Buzz agent. where it has its own sub-process
298
00:18:17,387 -->
00:18:22,087
that spawns as the agent's runtime and loop, and it directly goes and talks
299
00:18:22,087 -->
00:18:24,726
to, say, an OpenAI-compatible endpoint that you put in there.
300
00:18:25,213 -->
00:18:28,577
But the other one is it can launch a different harness via ACP,
301
00:18:29,037 -->
00:18:31,777
sort of, you know, Cloud Code or Codex or OpenCode or something,
302
00:18:32,027 -->
00:18:35,359
and that can also be sort of how you run the agent.
303
00:18:36,178 -->
00:18:38,438
which we tried a little bit with your setup.
304
00:18:38,438 -->
00:18:42,198
Yeah. So do you think there's any other basics we've talked about before we
305
00:18:42,198 -->
00:18:44,628
talked about integration and what we tried to do with it? Is there any other
306
00:18:44,628 -->
00:18:48,038
high-level stuff around Buzz? I mean, people can always ask if they have questions.
307
00:18:48,038 -->
00:18:53,268
But let's talk about installation because you had to wrap it a little bit for our own purposes.
308
00:18:53,728 -->
00:18:57,128
Yeah, true. So out of the box, I think they have a Mac app. I don't know about
309
00:18:57,128 -->
00:19:00,460
a Windows app. Mobile is just shipping now, so it's moving really fast.
310
00:19:00,814 -->
00:19:04,999
Obviously, we wanted to try it on Linux, and they do have an app image and a dev.
311
00:19:05,348 -->
00:19:09,713
I spent a little time I assume those will probably work pretty widely and they've already made,
312
00:19:10,323 -->
00:19:13,368
improvements to some of the app and stuff to make like the gstreamer libraries
313
00:19:13,368 -->
00:19:16,988
it bundles a little more compatible on a wider class of distros which is maybe
314
00:19:16,988 -->
00:19:18,048
partly what I was running into,
315
00:19:18,568 -->
00:19:21,898
I tried getting you know there's app image run for Nix OS and so I spent a little
316
00:19:21,898 -->
00:19:25,298
time trying to get that to work ultimately it just became easier to do some
317
00:19:25,298 -->
00:19:30,568
patch elfing on the files in the dev so I was able to make a flake for that that builds the,
318
00:19:31,088 -->
00:19:35,978
buzz desktop app which is Atari app with TypeScript UI Atari's like this Rust
319
00:19:35,978 -->
00:19:40,374
runtime electron alternative that is, frankly, a lot nicer, actually.
320
00:19:40,850 -->
00:19:45,228
And then it also gives you the Buzz CLI, which is like JSON output primarily,
321
00:19:45,228 -->
00:19:47,334
really intended to support agentic use.
322
00:19:47,793 -->
00:19:50,998
And then on the flip side, you could also run the Relay, which is the Rust application,
323
00:19:50,998 -->
00:19:52,953
which we're not doing yet, and it's a separate package.
324
00:19:53,908 -->
00:19:56,228
Mm-hmm. There you go. Although we'll probably play around with running Relay.
325
00:19:56,228 -->
00:19:59,528
And it's moving fast, as you mentioned. It's super, super fast.
326
00:19:59,528 -->
00:20:03,808
I'm already one release behind on the desktop app, and I built it twice yesterday.
327
00:20:04,228 -->
00:20:08,488
There you go. So, um, I think that's, those are some good basics.
328
00:20:08,488 -->
00:20:11,258
I do feel like there's, it's such a big topic and it is moving so fast that
329
00:20:11,258 -->
00:20:14,648
I think there's some more stuff to cover. But one of the things I wanted to
330
00:20:14,648 -->
00:20:19,628
mention is we're going to attempt to share a invite link for our buzz community.
331
00:20:19,628 -->
00:20:23,160
We created a Jupiter colony buzz community and, um,
332
00:20:23,788 -->
00:20:27,923
We may have figured out a way to invite you where I don't have to individually
333
00:20:27,923 -->
00:20:31,013
add your end pubs. It's experimental. Yeah. So it might not work.
334
00:20:31,013 -->
00:20:34,283
That is one area I was looking a little before the show. And if we do ever eventually
335
00:20:34,283 -->
00:20:38,313
run our own relay, there is an environment variable you can set that just says
336
00:20:38,313 -->
00:20:41,393
like, not even the method we're doing, like just have at it,
337
00:20:41,393 -->
00:20:43,793
come join the community. So that could be a future. Not sure.
338
00:20:43,793 -->
00:20:44,175
Right.
339
00:20:44,373 -->
00:20:46,043
I don't think we can do that with the hosted relay.
340
00:20:46,043 -->
00:20:49,923
But I think we do have an invite link that is valid for 30 days where I don't
341
00:20:49,923 -->
00:20:50,903
have to add their end pub.
342
00:20:50,903 -->
00:20:53,103
And help us test it because we've already made accounts.
343
00:20:53,260 -->
00:20:56,243
Yeah, we've made accounts. We're in there in the Buzz community,
344
00:20:56,243 -->
00:20:57,236
and we're going to be playing with it.
345
00:20:57,794 -->
00:21:00,763
I mean, we figure why not kick the tires on their hosted setup,
346
00:21:00,763 -->
00:21:02,683
figure out what doesn't work, and then we'll run our own eventually.
347
00:21:02,683 -->
00:21:03,573
Yeah, after we've learned a few lessons.
348
00:21:03,573 -->
00:21:06,553
Because I actually think there could be real use for JB here.
349
00:21:07,053 -->
00:21:11,613
We don't really have a particular agentic harness picked out for JB,
350
00:21:11,973 -->
00:21:16,091
and we would really love to find something like Slack that isn't Slack.
351
00:21:16,341 -->
00:21:20,623
So this sort of solves both of those problems. And yes, we have a public Jupyter
352
00:21:20,623 -->
00:21:24,283
Broadcasting GitHub, but for a lot of our internal tooling, we've been considering
353
00:21:24,283 -->
00:21:29,145
a self-hosted GitLab or 4G or something, and maybe this would help us with that as well.
354
00:21:29,679 -->
00:21:33,143
But I think the question becomes that if you've already been playing with agents,
355
00:21:33,143 -->
00:21:39,136
or if you want to run a different agentic harness, like an OpenClaw or a Hermes,
356
00:21:39,490 -->
00:21:42,103
how do you integrate that with something like Buzz?
357
00:21:42,103 -->
00:21:46,773
Since Buzz is trying to both be the agentic harness and also the collaboration
358
00:21:46,773 -->
00:21:49,167
space, you want to bring your existing agents in if you have them.
359
00:21:49,538 -->
00:21:54,321
That right now is a bit of a mixed bag, and we tried to get it working,
360
00:21:54,618 -->
00:21:55,970
and we'll tell you how it went next.
361
00:22:05,119 -->
00:22:08,434
Well, I'll admit, yesterday while you two were heads down working on all this
362
00:22:08,434 -->
00:22:11,744
stuff, I was packing some boxes. So I don't quite know how all this went.
363
00:22:11,784 -->
00:22:13,937
Yeah, and moving motorcycles around. Well, that's true. That was the fun part.
364
00:22:14,267 -->
00:22:19,311
So, Wes, you ran into, I'm sure, some problems. Some things went well. How did it go yesterday?
365
00:22:19,444 -->
00:22:23,444
Yeah, well, okay, so we got a few default agents set up, right?
366
00:22:23,444 -->
00:22:24,504
We got that kind of baked.
367
00:22:24,964 -->
00:22:28,703
I put in an open router API key, and so we got one agent going that could do that.
368
00:22:29,150 -->
00:22:32,734
And then Chris had it hooked up to Codex, and so we had another agent like that.
369
00:22:32,734 -->
00:22:36,702
We already started running into some bugs. For instance, right now,
370
00:22:37,103 -->
00:22:38,502
we can't use each other's agent.
371
00:22:39,564 -->
00:22:42,344
We can see them. They're in the same channels and all that, right?
372
00:22:42,344 -->
00:22:43,430
Because it's all just Noster.
373
00:22:44,164 -->
00:22:46,444
But there's a bug in the client. And maybe it's fixed. Again,
374
00:22:46,444 -->
00:22:50,083
I'm one version behind at this point. But I think that's still open.
375
00:22:51,598 -->
00:22:54,784
When you do tagging, it's just another piece. It's like a tag that goes in the
376
00:22:54,784 -->
00:22:59,655
Noster event. So there is a difference between if the UI highlights it as a
377
00:23:00,038 -->
00:23:03,544
structured little tag versus if you just type at username or whatever.
378
00:23:04,079 -->
00:23:08,724
and so because it does that it tries to uh we can't add each other's bots and
379
00:23:08,724 -->
00:23:12,384
that's how you talk to them so already running into some problems and it's sort of,
380
00:23:12,964 -->
00:23:16,223
you know it's early project and i think it was really inspired by something,
381
00:23:16,681 -->
00:23:19,884
you know it's by folks that are doing a lot of agentic development and maybe
382
00:23:19,884 -->
00:23:22,994
using something like open code or clod code and we've talked a little bit about
383
00:23:22,994 -->
00:23:27,154
this it's kind of a context shift a mind shift between if you're running something
384
00:23:27,154 -->
00:23:30,744
like hermes or open claw yeah sort of flips the model a little bit.
385
00:23:30,744 -->
00:23:31,554
Yeah really yeah.
386
00:23:31,554 -->
00:23:36,156
And so right now buzz is really optimized for, like, either it runs it directly,
387
00:23:36,661 -->
00:23:39,958
or it launches your harness for you as an ACP.
388
00:23:40,562 -->
00:23:43,702
Right? So it'll launch open code as an ACP and it can use it.
389
00:23:44,469 -->
00:23:48,738
that's not really super compatible with, like, I already have my own whole NixOS
390
00:23:48,738 -->
00:23:51,738
server that maintains itself as a Hermes instance. Like, I want to use that.
391
00:23:52,098 -->
00:23:54,168
I mean, I might use some of these other bots, too. And that's where Chris is
392
00:23:54,168 -->
00:23:57,708
talking about, like, there's a difference between if you have a bunch of existing
393
00:23:57,708 -->
00:24:00,798
infrastructure or if you can kind of start fresh.
394
00:24:01,071 -->
00:24:05,188
Yeah. Yeah, if you're already into building your own agentic system and you
395
00:24:05,188 -->
00:24:09,218
have been using them for a bit, it's a little trickier to integrate them with Buzz at this point.
396
00:24:09,218 -->
00:24:11,572
It sounds like every couple months that's a disadvantage.
397
00:24:11,886 -->
00:24:15,398
Yeah, although it seems to be that native Hermes integration,
398
00:24:15,398 -->
00:24:19,704
or at least an initial form of it, is landing upstream in Buzz.
399
00:24:20,518 -->
00:24:24,108
Yeah, they're working on it. I think it's making it so it becomes ACP-aware,
400
00:24:24,108 -->
00:24:26,907
so you could use Hermes ACP with it.
401
00:24:27,146 -->
00:24:30,931
In our testing so far, though, there has been some limitations when using the ACP.
402
00:24:31,684 -->
00:24:35,330
It hasn't been as useful as just setting up the CLI or trying to go NOSTER directly.
403
00:24:35,875 -->
00:24:40,438
Yeah for sure and um it it's still kind of built around this notion of like
404
00:24:40,738 -->
00:24:44,688
the buzz desktop because the relay is really pretty stateless minus like the
405
00:24:44,688 -->
00:24:46,538
git stuff right yeah um so like
406
00:24:46,538 -->
00:24:49,238
your desktop is going to be doing a lot of this stuff which means then,
407
00:24:49,778 -->
00:24:52,308
you're kind of it's all doing the desktop and then it's launching more services
408
00:24:52,308 -->
00:24:54,847
under that and all the mcp stuff is like,
409
00:24:55,694 -->
00:25:01,278
standard i own only so it's really not built with much sort of networking in mind but you know what,
410
00:25:02,550 -->
00:25:07,348
is nostr and that's where it's sort of like okay the direct buzz integrations
411
00:25:07,348 -->
00:25:12,384
we did get it working with the cli that was working pretty well so like you just export your nsec,
412
00:25:12,837 -->
00:25:16,658
and then you can set the right relay url and you run the buzz cli and you can
413
00:25:16,658 -->
00:25:21,058
list channels you can get events and you can send messages and all that so i was able to trigger,
414
00:25:21,774 -->
00:25:25,928
uh my bot or chris's bot by the cli because it doesn't have that bug you can
415
00:25:25,928 -->
00:25:30,408
tell it exactly who to like at mention or whatever but that's not really the
416
00:25:30,408 -->
00:25:31,688
experience we were going for.
417
00:25:31,688 -->
00:25:36,938
What we wanted, right, was we wanted MyHermes to be able to participate in Buzz
418
00:25:36,938 -->
00:25:38,794
as its own thing, like as a full...
419
00:25:39,706 -->
00:25:43,244
just like me, right? And so that was kind of our goal. And what's great about
420
00:25:43,244 -->
00:25:48,134
that is the root of that is Nostre because it's all gated on the Nostre private key.
421
00:25:48,454 -->
00:25:51,584
It is the core of the architecture, right? Like it's not an API.
422
00:25:51,584 -->
00:25:56,754
It is built around Nostre. So if your application or agent can speak in the
423
00:25:56,754 -->
00:25:58,688
Nostre protocol, you can talk to Buzz.
424
00:25:59,251 -->
00:26:03,654
And so this is where it's so great because I could have a bot help, right?
425
00:26:03,654 -->
00:26:06,937
So like I generated the new NPUB and NSEC for it,
426
00:26:07,425 -->
00:26:11,614
but then because i already had my own nsec that you had added for me with my
427
00:26:11,614 -->
00:26:13,733
regular buzz account and i was an admin,
428
00:26:14,180 -->
00:26:18,334
the relay would let me sign events to make admin updates right and so what i
429
00:26:18,334 -->
00:26:22,215
needed to do then is i could take my new bot you know my hermes's new key
430
00:26:22,569 -->
00:26:27,084
and then add that to the relays relay members table which is a kind 90 30 admin
431
00:26:27,084 -->
00:26:31,160
event and that kind of controls if you don't have it wide open that controls who's allowed in,
432
00:26:31,764 -->
00:26:35,594
uh and then it could just add it to channels it could set uh you know set its
433
00:26:35,594 -->
00:26:39,974
nice screen name set its user profile because all of those are just signed events
434
00:26:39,974 -->
00:26:43,316
to the relay so that got us an identity but next,
435
00:26:44,169 -->
00:26:48,794
you know we actually needed to be able to talk to this thing and so one we did
436
00:26:48,794 -->
00:26:51,364
investigate a few different options here right we wanted to take the easiest
437
00:26:51,364 -->
00:26:54,594
path and the fastest path because uh we were both trying to pack in yeah.
438
00:26:54,934 -->
00:26:55,402
Yeah yeah um.
439
00:26:55,974 -->
00:26:59,123
And so one thing is we did see that you could have
440
00:26:59,558 -->
00:27:03,254
uh workflows so you could set it like hey when an event comes in like that looks
441
00:27:03,254 -->
00:27:07,454
like this that tags this user has this in the reply or whatever run this you
442
00:27:07,454 -->
00:27:11,347
know it's kind of like a yaml style workflow run this thing send a webhook it had webhooks,
443
00:27:12,032 -->
00:27:15,674
it has scheduled events you can set up crons in there so we kind of got some
444
00:27:15,674 -->
00:27:18,734
of that working but again we weren't running our own relay and this is where
445
00:27:18,734 -->
00:27:20,043
i really think we could probably do more,
446
00:27:21,894 -->
00:27:26,258
I got the crons working, but when I tried to do the, like, at mention thing,
447
00:27:26,678 -->
00:27:29,748
the webhooks were just never fined. So I don't know if that's just a bug or
448
00:27:29,748 -->
00:27:31,688
it's turned off for the hosted thing, so they just don't have to,
449
00:27:31,688 -->
00:27:33,468
like, smash the internet with a bunch of webhooks.
450
00:27:33,468 -->
00:27:36,428
And they're growing. The adoption they're seeing right now is bonkers.
451
00:27:36,428 -->
00:27:39,138
I can imagine the fact that the relays are even up and running is impressive.
452
00:27:39,138 -->
00:27:39,518
Yeah.
453
00:27:39,518 -->
00:27:42,038
So we were kind of hoping you could get a first version of this where,
454
00:27:42,038 -->
00:27:46,148
like, the webhook would wake Hermes webhook integration, and then the bot could
455
00:27:46,148 -->
00:27:48,673
wake up, and it would have the buzz CLI, and then it could reply.
456
00:27:48,795 -->
00:27:49,155
Yeah.
457
00:27:49,625 -->
00:27:51,198
And that was kind of like a poor man's version.
458
00:27:51,198 -->
00:27:54,438
Yeah, because you're depending on this thing, you know, the webhook firing,
459
00:27:54,438 -->
00:27:57,158
then it's got to fire up the CLI first, and the LLM's got to interpret what
460
00:27:57,158 -->
00:27:59,836
it gets from the CLI. There's a lot of bits and pieces in there.
461
00:28:00,335 -->
00:28:06,968
So what we ultimately did is we built ourselves basically first-class buzz support,
462
00:28:06,968 -->
00:28:08,478
or as close as we could get, right?
463
00:28:08,478 -->
00:28:14,058
So the Dataflow is a buzz user. Let's say I'm trying to tag my bot,
464
00:28:14,058 -->
00:28:18,238
right? We got my bot added in there, so I tag my bot, ask it for some advice.
465
00:28:19,018 -->
00:28:21,743
I asked it, for example, to check if Linux Unplugged was live right now.
466
00:28:22,858 -->
00:28:26,128
That goes to the Nostra Relay. Fans out to anyone that's subscribed to that
467
00:28:26,128 -->
00:28:28,221
kind of event, which is like updates in the channel.
468
00:28:28,865 -->
00:28:33,189
And then I have a buzz bridge running. And that's a little Python sidecar system
469
00:28:33,189 -->
00:28:36,557
D service. It connects to the relay via WebSocket, which is how Nostra works.
470
00:28:36,963 -->
00:28:43,489
It authenticates as my Hermes bot. And then it filters for mentions of its name in the channel.
471
00:28:43,489 -->
00:28:47,609
And then anytime it gets a match, it forwards that to a little web server I'm
472
00:28:47,609 -->
00:28:51,839
running in a Hermes adapter plugin that's running. So then it receives the message,
473
00:28:51,839 -->
00:28:55,220
creates a structured event, dispatches to Hermes agent pipeline.
474
00:28:55,609 -->
00:28:58,909
And then Hermes processes and returns a text response. and then we send that
475
00:28:58,909 -->
00:29:02,249
back to the bridge, which is able to sort of do all the Nostra stuff,
476
00:29:02,249 -->
00:29:04,589
sign it correctly, and publish it to the relay.
477
00:29:04,589 -->
00:29:09,469
And then so from the Hermes side, it basically just looks exactly like how Telegram
478
00:29:09,469 -->
00:29:12,249
looks. So you can have sessions on Buzz and you can have sessions on Telegram.
479
00:29:12,849 -->
00:29:15,547
It's another platform it connects to. Exactly.
480
00:29:15,727 -->
00:29:19,099
It's not perfect. Like some of the tool call metadata has ended up in the general
481
00:29:19,099 -->
00:29:21,879
channel instead of like the thread that I was asking it in or that kind of thing.
482
00:29:21,879 -->
00:29:23,959
But I mean, it's working.
483
00:29:23,959 -->
00:29:26,249
I mean, the project might want to take a look at this. Hermes,
484
00:29:26,249 -->
00:29:30,829
you guys should take a look at this. just this is just native nostril integration
485
00:29:30,829 -->
00:29:31,909
and it's better than the acp.
486
00:29:32,249 -->
00:29:35,249
And you might not need to really have like i have it in two pieces where we
487
00:29:35,249 -->
00:29:38,109
have this like bridge server and then the part partly because it just made it
488
00:29:38,109 -->
00:29:41,079
simpler and it was faster instead of having to rebuild hermes a bunch i could
489
00:29:41,079 -->
00:29:44,014
just iterate on the bridge and it's just like a htp protocol
490
00:29:44,369 -->
00:29:47,249
but if you wanted to there's nothing stopping you from having a hermes plugin
491
00:29:47,249 -->
00:29:48,749
that just does all of that in
492
00:29:49,109 -->
00:29:52,757
one little box so there's definitely a lot of potential here and there's no
493
00:29:53,082 -->
00:29:56,599
because it is not some custom thing on some custom protocol.
494
00:29:56,599 -->
00:30:00,909
Because it is just Nostra and libraries exist for this, it is all open to build
495
00:30:00,909 -->
00:30:03,649
on. We don't have to have a Buzz SDK to make any progress.
496
00:30:04,772 -->
00:30:07,869
This is the bit that we should have said at the top because people that aren't
497
00:30:07,869 -->
00:30:13,269
into this are probably tuned out by now. But what will be missed by our community
498
00:30:13,269 -->
00:30:15,755
is this is the most Linux-friendly,
499
00:30:16,672 -->
00:30:21,848
slack killer that's ever been invented and it has the most devops workflow kind
500
00:30:21,848 -->
00:30:24,668
of feature set that's ever been implemented in one of these.
501
00:30:24,668 -->
00:30:29,193
It's super transparent the apis are all out there there's standard libraries to work with them.
502
00:30:29,524 -->
00:30:34,608
Uh the entire entirety of the nostril ecosystem is open source every nip is
503
00:30:34,608 -->
00:30:38,918
open source that they're using and buzz is apache 2.0 open source and,
504
00:30:39,438 -->
00:30:45,008
everything is an open protocol you can build simple clients in really just minutes
505
00:30:45,008 -->
00:30:47,566
there's lots of example code out there for Nostra clients as well.
506
00:30:48,042 -->
00:30:54,148
We as a free software community have, we are so foreign to how much how well
507
00:30:54,148 -->
00:30:55,878
this is built for us that we don't even recognize it.
508
00:30:56,398 -->
00:31:00,111
We don't even recognize it. We're so unused to it. When it happens we don't see it.
509
00:31:00,564 -->
00:31:02,218
And it's so composable, right? Like you don't,
510
00:31:03,024 -->
00:31:07,262
You don't have to have a Slack API. You can just, no permissions needed.
511
00:31:07,262 -->
00:31:07,712
Right.
512
00:31:07,712 -->
00:31:10,202
Like, you could, I mean, you might need, depending on how the relay is set up,
513
00:31:10,202 -->
00:31:13,032
you might need to author the relay or whatever. But, like, you can just subscribe
514
00:31:13,032 -->
00:31:16,602
to whatever events you want. I only care about Git PRs. I only care about messages
515
00:31:16,602 -->
00:31:19,542
from Chris. I don't need a full client. I can just have a Python script that
516
00:31:19,542 -->
00:31:21,692
does that and triggers whatever downstream automation I want.
517
00:31:21,692 -->
00:31:23,322
Or creates a dashboard.
518
00:31:23,322 -->
00:31:23,982
Totally.
519
00:31:23,982 -->
00:31:30,301
The dashboard could be the consumer, not the chat client. And so when you think about this is
520
00:31:30,638 -->
00:31:34,642
your projects and your infrastructure and your, all of this,
521
00:31:34,642 -->
00:31:37,722
like it really does matter that you can self-host this and that it is using
522
00:31:37,722 -->
00:31:39,078
an open protocol and standards.
523
00:31:39,433 -->
00:31:42,622
It matters more than I think we wanted to admit because we were so stuck with
524
00:31:42,622 -->
00:31:43,868
such bad options before.
525
00:31:44,407 -->
00:31:48,192
But now you've got a central spot where the agent and the human and everything
526
00:31:48,192 -->
00:31:51,442
is tracked and they can work together. It's just so fantastic.
527
00:31:51,442 -->
00:31:54,582
And, you know, we had been kind of struggling. Like we've been Nostra curious.
528
00:31:54,582 -->
00:31:57,062
You've played around with it. I think we've all played a little bit with it.
529
00:31:57,062 -->
00:31:58,312
You know, Fountain has support.
530
00:31:59,373 -->
00:32:03,262
but we hadn't really crossed a line yet to like, okay, I can see how there could
531
00:32:03,262 -->
00:32:06,082
be compounding returns when you have a relay, but like we didn't,
532
00:32:06,082 -->
00:32:09,443
there was no killer app yet that we'd really pushed us to have the relay.
533
00:32:09,780 -->
00:32:13,042
And this could be that. And then you could really see how you could build a lot more on top.
534
00:32:13,042 -->
00:32:16,232
Yeah, you just keep building. And once you have that as an identity layer,
535
00:32:16,232 -->
00:32:17,852
why wouldn't we build it into our other applications?
536
00:32:18,172 -->
00:32:21,222
Even our internal tooling, why not? If we've all got mpubs and nsacs and whatnot,
537
00:32:21,222 -->
00:32:23,252
it'd be an easy way for us to authenticate our internal tooling.
538
00:32:23,252 -->
00:32:27,152
And then we don't have to rely on some GitHub OAuth or whatever random third-party system.
539
00:32:27,672 -->
00:32:28,712
Yeah, it's decentralized.
540
00:32:29,212 -->
00:32:30,632
But then you'd know it was me trolling you.
541
00:32:32,965 -->
00:32:35,612
Yeah, you better sign any updates you make to my default text editor.
542
00:32:36,012 -->
00:32:40,632
Right. As excited I am about Buzz now, I think there could be potential for us to use it at JB.
543
00:32:41,632 -->
00:32:45,532
I do think for most people, it's maybe worth waiting a little bit just because
544
00:32:45,532 -->
00:32:50,032
of the speed of development. And if you've already got something set up,
545
00:32:50,032 -->
00:32:53,522
if you're brand new to this concept, this actually could be a pretty nice way
546
00:32:53,522 -->
00:32:55,140
to get started. They make it really easy.
547
00:32:55,726 -->
00:33:00,166
The primary vector is you just download the desktop app and go through the signup workflow.
548
00:33:00,843 -->
00:33:03,101
At some point, you're going to have to figure out how you want to do compute,
549
00:33:03,101 -->
00:33:04,849
but they'll help you with that as well.
550
00:33:05,671 -->
00:33:08,691
I mean, it really is bringing so many different tools into one place that if
551
00:33:08,691 -->
00:33:12,281
you haven't yet experimented with an agent platform, Buzz could be a good way
552
00:33:12,281 -->
00:33:14,056
to go, and at least you're using an open source one.
553
00:33:14,363 -->
00:33:17,608
It's backed by a company like Block that's got funding, and they're going to be around for a while.
554
00:33:19,077 -->
00:33:24,571
The thing I would say from my experience is you don't necessarily need to even
555
00:33:24,571 -->
00:33:27,171
know that there's Nostra on the back end.
556
00:33:27,171 -->
00:33:27,951
No, absolutely.
557
00:33:27,951 -->
00:33:31,348
But as a regular user, you need an NPUB, right?
558
00:33:31,592 -->
00:33:32,671
But it'll help you generate that.
559
00:33:32,671 -->
00:33:37,041
Exactly. And then other than that, it just looks like any other productivity
560
00:33:37,041 -->
00:33:38,651
chat app for teams and stuff.
561
00:33:39,337 -->
00:33:42,453
Yeah, we're focused on the NOSTA part because it's like finally somebody built
562
00:33:42,866 -->
00:33:45,981
a web browser on this hypertext transport protocol standard that we're really
563
00:33:45,981 -->
00:33:49,581
excited about. And look, this cool web browser that's using this hypertext transport
564
00:33:49,581 -->
00:33:51,336
protocol, I think it's got a lot of potential.
565
00:33:51,561 -->
00:33:54,001
Aren't you guys excited? It's finally happening.
566
00:33:54,001 -->
00:33:55,021
Yeah, but what can we do then?
567
00:33:55,021 -->
00:33:59,311
But like the average, you know, web user today doesn't give a crap that the
568
00:33:59,311 -->
00:34:01,571
web uses HTTP. It doesn't matter at all.
569
00:34:02,031 -->
00:34:06,151
That's the same here. But as nerds, we're excited about the fact that Nostra
570
00:34:06,151 -->
00:34:08,905
is actually getting used in a really elegant, useful way here.
571
00:34:09,277 -->
00:34:13,191
It's not truly distributed, but it is distributed in the sense that you can
572
00:34:13,191 -->
00:34:14,484
self-host your own relay.
573
00:34:14,943 -->
00:34:16,220
And the beautiful thing is like.
574
00:34:18,118 -->
00:34:20,988
built for nerds but it's also just built for everybody.
575
00:34:21,308 -->
00:34:21,908
Oh yeah it's.
576
00:34:21,908 -->
00:34:25,548
Beautiful like simple ui yeah they did an amazing job and they're only four
577
00:34:25,548 -->
00:34:27,058
months in which is really impressive.
578
00:34:27,249 -->
00:34:30,208
It is still new there like the uis keep getting updates i'm seeing that in the
579
00:34:30,208 -->
00:34:34,208
commits and like yeah there's some stuff you can do like via yaml or the config
580
00:34:34,208 -->
00:34:36,468
file and you might want to because some of the like editing settings can be
581
00:34:36,468 -->
00:34:39,718
a little fussy right now that kind of thing but that's just going to be the polish layer right.
582
00:34:39,718 -->
00:34:43,018
Yeah yeah and there may be some things that are just simpler to fire off right
583
00:34:43,018 -->
00:34:46,278
now via the cli that aren't exposed in the gui totally they'll probably add
584
00:34:46,278 -->
00:34:49,348
but yeah Yeah, and the mobile apps are just shipping for Android and iOS,
585
00:34:49,348 -->
00:34:52,758
and they're looking good, but early. You know, it's good, but early.
586
00:34:52,758 -->
00:34:56,998
So do we have an URL we can share with the community for joining our crazy Buzz system?
587
00:34:56,998 -->
00:35:04,508
Yeah, it's not super simple for the long invite, but the community URL is colony.communities.buzz.xyz.
588
00:35:05,584 -->
00:35:08,408
And we'll have an invite link to get you access in the show notes.
589
00:35:08,408 -->
00:35:14,848
But the community itself is colony.communities.buzz.xyz, and that's self-hosted,
590
00:35:14,848 -->
00:35:16,126
or that's hosted on their relay.
591
00:35:16,503 -->
00:35:20,410
we may host one eventually or maybe we'll host our private one I could imagine
592
00:35:20,723 -->
00:35:24,358
keeping our public community buzz if it's stuck around on a public relay on
593
00:35:24,358 -->
00:35:28,108
their services and then our internal one would be a self-hosted something like
594
00:35:28,108 -->
00:35:31,208
that kind of like how we probably should have done Matrix yeah.
595
00:35:31,588 -->
00:35:31,888
Learning,
596
00:35:42,208 -->
00:35:45,128
holy jeez, while we've been busy this week some boosts came in,
597
00:35:51,252 -->
00:36:01,392
we have quite a baller boost here karen sent us in a what is this a mighty row of ducks oh 222 222 sets.
598
00:36:07,471 -->
00:36:08,505
Wow, thank you.
599
00:36:08,505 -->
00:36:11,335
This was also sent via our web boost, just putting that in there.
600
00:36:11,335 -->
00:36:11,848
Okay.
601
00:36:12,225 -->
00:36:16,995
He says, not really giving back on a particular episode, just trying to give the show a little love.
602
00:36:16,995 -->
00:36:17,935
Oh, thank you.
603
00:36:17,935 -->
00:36:18,195
Thank you.
604
00:36:18,195 -->
00:36:18,999
Always welcome.
605
00:36:19,139 -->
00:36:22,018
Love is appreciated. Send it back your way.
606
00:36:22,517 -->
00:36:26,305
Well, Greg, the lawyer comes in with 150,000 cents.
607
00:36:26,305 -->
00:36:26,535
All right.
608
00:36:26,675 -->
00:36:27,330
Wow.
609
00:36:30,830 -->
00:36:33,055
Boost and end to support the trip to Canada.
610
00:36:33,055 -->
00:36:33,595
Aha.
611
00:36:33,595 -->
00:36:34,104
Did you make it?
612
00:36:34,895 -->
00:36:35,405
We did.
613
00:36:35,405 -->
00:36:35,895
We did.
614
00:36:35,895 -->
00:36:36,583
Right, yeah.
615
00:36:36,937 -->
00:36:41,725
I'm on the verge of joining the ranks of Tesla Nation. I look forward to trading stories.
616
00:36:41,725 -->
00:36:42,695
Greg the lawyer.
617
00:36:42,835 -->
00:36:42,915
Wow.
618
00:36:43,375 -->
00:36:46,225
It's, you know, I don't like to talk about it because I don't like becoming,
619
00:36:46,225 -->
00:36:50,817
sounding like I'm a salesperson because I don't, you know. But the self-driving will change your life.
620
00:36:52,315 -->
00:36:56,690
The car drove us all the way from my farm to here.
621
00:36:57,143 -->
00:37:01,295
I overtook twice, not for safety reasons, but just because I wanted to pass a guy.
622
00:37:02,275 -->
00:37:05,276
For unsafety reasons. Yeah, for the opposite of safety reasons.
623
00:37:05,432 -->
00:37:11,195
Speed reasons but otherwise the car drove us so for probably a total of 30 seconds i drove.
624
00:37:11,195 -->
00:37:15,245
Through the mountains through long hours of no connectivity.
625
00:37:15,245 -->
00:37:20,549
Yeah hours of no cell signal driving and navigating just fine um and the energy you get,
626
00:37:21,361 -->
00:37:25,215
versus a 12-hour drive where you do all the driving is it's incredible right
627
00:37:25,215 -->
00:37:27,915
like you still have the energy to set up your campsite interact with the people
628
00:37:27,915 -->
00:37:31,185
you're coming to see and say hi to them like in the past when i'd take the rv
629
00:37:31,185 -->
00:37:32,640
i'd show up and I'd be like, Hadiyah, can you just,
630
00:37:33,401 -->
00:37:37,115
hold people off for 10 minutes so I can just have 10 minutes of quiet to get my shit together?
631
00:37:37,995 -->
00:37:41,205
Because it's tough. It's tough when you drive a rig like that for 12 hours.
632
00:37:41,205 -->
00:37:44,703
But in the car, it drives itself that's climate controlled.
633
00:37:44,813 -->
00:37:47,577
It's so easy, Greg. You're going to love it.
634
00:37:48,320 -->
00:37:50,235
You're going to love it, Greg. Tell us how it goes, okay?
635
00:37:50,235 -->
00:37:53,205
Greg, make sure you use Chris's referral code.
636
00:37:53,205 -->
00:37:55,795
I should have. Greg, I probably have one, Greg.
637
00:37:56,595 -->
00:37:57,615
Is that a really thing?
638
00:37:58,795 -->
00:38:01,704
I don't know. Whomever whiz comes in with a row McDuck's.
639
00:38:03,172 -->
00:38:07,300
What I'm looking for is a back-end database with structured data managed by
640
00:38:07,300 -->
00:38:10,890
an LLM. A series of wiki pages in addition to adding their own natural language
641
00:38:10,890 -->
00:38:12,913
relationships and semantic info.
642
00:38:13,285 -->
00:38:17,150
It will then dynamically be referenced and reference the structured data when
643
00:38:17,150 -->
00:38:18,860
appropriate. What you got?
644
00:38:19,280 -->
00:38:20,460
That's a challenge.
645
00:38:20,460 -->
00:38:22,520
Yeah, I don't know if I have that, but I want that now.
646
00:38:22,580 -->
00:38:24,590
Isn't that kind of log sack in a way? Yeah, it's close.
647
00:38:24,590 -->
00:38:27,730
I don't know if it's exactly that with the wiki pages, but it does do a lot
648
00:38:27,730 -->
00:38:29,540
of nice stuff with references in the graph.
649
00:38:29,540 -->
00:38:30,060
All right.
650
00:38:30,480 -->
00:38:33,318
And it is now using a backend database and tons of structured data.
651
00:38:33,445 -->
00:38:33,940
It's getting there.
652
00:38:33,940 -->
00:38:35,169
Including a nice query language.
653
00:38:35,495 -->
00:38:39,410
Mm-hmm, mm-hmm. Yeah, we, yeah. Patient tech in our chat room says,
654
00:38:39,410 -->
00:38:42,520
wait, you guys went without a follow, without a map that we could follow? That's true.
655
00:38:42,520 -->
00:38:43,740
Yeah, we didn't do a tracker.
656
00:38:44,260 -->
00:38:47,510
Two reasons. It wasn't a race. Brenda was already here. But the other reason
657
00:38:47,510 -->
00:38:50,960
is a ginormous portion of our drive does not have cells in the chat.
658
00:38:50,980 -->
00:38:51,370
Yeah, that's true.
659
00:38:51,400 -->
00:38:52,650
So we were just out of it.
660
00:38:52,650 -->
00:38:54,920
Well, weren't you getting a Starlink? Didn't that?
661
00:38:54,920 -->
00:38:57,370
Shut up, shut up. That's too soon.
662
00:38:57,370 -->
00:39:03,500
Gene Bean sends in a row of ducks. Saying, for Linux Unplugged 675,
663
00:39:03,500 -->
00:39:06,887
have you played with the BBS on MeshTastic yet?
664
00:39:07,862 -->
00:39:09,040
Is this a thing?
665
00:39:09,040 -->
00:39:11,635
Apparently, Gene does not send us a link.
666
00:39:11,740 -->
00:39:16,120
I mean, I see a Reddit thread introducing, I think this kind of rings a bell,
667
00:39:16,120 -->
00:39:21,080
actually. Introducing MeshBBS, bringing old-school open-source BBS fun to MeshTastic.
668
00:39:21,600 -->
00:39:24,190
This is 10 months ago. I've been working on a project called MeshBBS.
669
00:39:24,190 -->
00:39:25,944
I think this was sent in. This is ringing a bell now.
670
00:39:26,479 -->
00:39:29,610
And I think it's ready to share. MeshBBS is a lightweight, text-based bulletin
671
00:39:29,610 -->
00:39:35,130
board system. we know PBS is okay Gene you may have just created Gene strikes
672
00:39:35,130 -->
00:39:38,950
again you may have just created a little project Gene how awesome would it be
673
00:39:38,950 -->
00:39:40,405
if we could BBS over Mesh-tastic.
674
00:39:40,863 -->
00:39:41,450
Jeff get on it.
675
00:39:41,821 -->
00:39:51,148
Yeah PJ geez Brian from Boise thank you Gene Brian from Boise comes in with 4,444 Satushers,
676
00:39:53,800 -->
00:39:57,740
Our family took a trip, our first multi-state EV road trip, last week.
677
00:39:57,740 -->
00:40:01,480
We stopped in La Grande, Oregon at Electrify America Station with chargers labeled
678
00:40:01,480 -->
00:40:03,199
for 150 kilowatt and 350 kilowatt.
679
00:40:03,547 -->
00:40:07,529
They maxed out at 50 and 80. The screen wouldn't respond, so I had to call support.
680
00:40:08,139 -->
00:40:11,370
Oh, man. When I went down the road to a charge point station and started charging
681
00:40:11,370 -->
00:40:15,041
through the Kia app, I got decent speeds, and then we were on our way.
682
00:40:15,465 -->
00:40:18,200
I took a quick trip to Portland, or I'm sorry, Port Townsend,
683
00:40:18,200 -->
00:40:21,320
Washington, where the Level 3 charging was fast enough. Scan a QR code,
684
00:40:21,320 -->
00:40:23,210
pay it directly in the browser. No account needed.
685
00:40:23,210 -->
00:40:23,580
Okay.
686
00:40:23,580 -->
00:40:23,980
Nice.
687
00:40:24,560 -->
00:40:29,280
So on our ride out, every stop was a different vendor of EV.
688
00:40:29,580 -->
00:40:32,340
That's right. So that is painful.
689
00:40:32,340 -->
00:40:33,150
Sampling them all.
690
00:40:33,150 -->
00:40:36,757
And ironically, the only one we had a problem, one did overheat,
691
00:40:36,931 -->
00:40:39,200
but it was like 113 degrees Fahrenheit outside.
692
00:40:39,200 -->
00:40:40,030
That's not that hot.
693
00:40:40,030 -->
00:40:41,040
I know, but it did.
694
00:40:41,040 -->
00:40:42,160
They should be designed for this.
695
00:40:42,160 -->
00:40:44,450
Also, the power hose was like totally screwed up.
696
00:40:44,450 -->
00:40:48,150
We were able to just move to like another one in the lot and charge.
697
00:40:48,150 -->
00:40:48,670
So not so bad.
698
00:40:48,670 -->
00:40:49,790
But the big embarrassment of
699
00:40:49,790 -->
00:40:54,360
the trip was Rivian. Rivian, for non-Rivian owners, was such a facepalm.
700
00:40:54,680 -->
00:40:59,512
Their recent app UI update actually removes the ability to do charging.
701
00:40:59,697 -->
00:41:01,580
There's nothing in the UI to start a charge.
702
00:41:01,580 -->
00:41:05,460
I know that sounds like it can't possibly be true, but it is.
703
00:41:07,380 -->
00:41:11,377
Brian, it was so bad because we were out there in 113 degrees and we cannot
704
00:41:11,749 -->
00:41:15,590
figure out this app. And we think maybe we have like heat delirium or something.
705
00:41:15,590 -->
00:41:20,510
Like there's just no way that Rivian, an actual company that builds cars.
706
00:41:20,510 -->
00:41:23,370
Nice car. I mean, we've seen in lights and reviews. It's crazy.
707
00:41:23,370 -->
00:41:23,840
It was crazy.
708
00:41:23,940 -->
00:41:26,600
And the screen is like impossible to read in the glaring sunlight.
709
00:41:26,600 -->
00:41:31,250
Yeah, it's so bad. So bad. So like when you had a chance to go to a supercharger,
710
00:41:31,250 -->
00:41:34,880
it was like, oh, that's work. We'll go that. We'll go even out of our way if
711
00:41:34,880 -->
00:41:37,290
we had to. It was because you just know you're going to plug in. It's going to work.
712
00:41:37,766 -->
00:41:41,340
This was wild. But other than that, it was actually really good. And,
713
00:41:43,420 -->
00:41:47,326
even with that, we still had sufficient coverage where we were never, ever, ever, ever,
714
00:41:48,028 -->
00:41:50,713
in like the red we were always plenty of charge.
715
00:41:50,713 -->
00:41:54,523
Yeah you we had built out a whole plan of like try to charge here we expect
716
00:41:54,523 -->
00:41:57,783
to be at this you know a depleted charge level when we get to the next stop
717
00:41:57,783 -->
00:41:59,293
and we're almost always way above that.
718
00:41:59,293 -->
00:42:03,453
The situation is is that you charge so fast these days that it really isn't
719
00:42:03,453 -->
00:42:06,848
a big deal to just put a little extra buffer on there so we always had extra buffer.
720
00:42:07,021 -->
00:42:09,313
So you didn't have any like distance anxiety and all.
721
00:42:09,313 -->
00:42:10,623
Never never once.
722
00:42:10,623 -->
00:42:12,813
More just compatibility with the.
723
00:42:12,813 -->
00:42:16,203
Charger anxiety yeah okay interesting but even when that charger didn't work
724
00:42:16,203 -->
00:42:21,905
because we had built up such a buffer we just moved on to the next one nice Wes you want to take Dan.
725
00:42:22,046 -->
00:42:23,723
Yeah Dan comes in with a hundred.
726
00:42:23,723 -->
00:42:24,583
Dollars oh.
727
00:42:31,422 -->
00:42:35,291
Since Linux Unplugged is having revenue problems, I'd throw a few bucks extra.
728
00:42:35,291 -->
00:42:35,731
Thank you.
729
00:42:35,731 -->
00:42:36,671
Can I advertise?
730
00:42:37,071 -->
00:42:37,361
Yes.
731
00:42:37,361 -->
00:42:42,821
Once a month, I'll tell you my favorite floss. This month, try out Street Complete for Android.
732
00:42:43,117 -->
00:42:46,199
It's a gamified way to make OpenStreetMap better.
733
00:42:46,350 -->
00:42:47,651
Street Complete.
734
00:42:47,651 -->
00:42:48,985
One more way to ditch Google.
735
00:42:49,235 -->
00:42:50,511
I like that it's gamified.
736
00:42:50,511 -->
00:42:51,131
That's cool.
737
00:42:51,431 -->
00:42:51,851
Make it fun.
738
00:42:52,491 -->
00:42:54,041
Honestly, I don't know why more
739
00:42:54,041 -->
00:42:57,811
people don't boost in and shout out a business or a project they love.
740
00:42:58,291 -->
00:43:02,651
It just seems like a brilliant use of the medium to me. So, absolutely do it.
741
00:43:02,651 -->
00:43:05,251
So, streetcomplete at streetcomplete.app.
742
00:43:05,878 -->
00:43:09,491
Help improve OpenStreetMap with StreetComplete. This app finds missing map data
743
00:43:09,491 -->
00:43:12,345
in your vicinity and displays it on a map as a quest.
744
00:43:12,565 -->
00:43:17,250
Solve each quest by visiting the location on the map and answering simple questions to update the map.
745
00:43:17,604 -->
00:43:20,501
The info you enter is directly added to OpenStreetMap in your name without the
746
00:43:20,501 -->
00:43:21,702
need to use another editor.
747
00:43:22,010 -->
00:43:25,991
That's awesome. I have to say, I used this app.
748
00:43:26,431 -->
00:43:28,131
Oh, you've been hiding it from us.
749
00:43:28,371 -->
00:43:32,391
Maybe 10 years ago. something like a super long time ago because I was trying
750
00:43:32,391 -->
00:43:36,871
to push for better maps on Android. I mean, we're still, we can do better.
751
00:43:37,191 -->
00:43:39,204
Well, we need better maps outside of Google.
752
00:43:39,760 -->
00:43:45,981
Yes. And at that time, the OpenStreetMap data for North America was so-so compared
753
00:43:45,981 -->
00:43:48,921
to Europe, right? Because it was quite a bit more popular there.
754
00:43:48,921 -->
00:43:53,211
So I was trying to do my part. And I will have to say it was a great app back then.
755
00:43:53,425 -->
00:43:55,411
I couldn't even imagine how great it is now.
756
00:43:55,891 -->
00:43:58,591
It's probably pretty awesome. So I'm going to give this a shot.
757
00:43:59,651 -->
00:44:04,130
Great. Senior Smile comes in with a member boost.
758
00:44:06,202 -->
00:44:13,109
Now that Brent has dropped plain text accounting, I want an entire segment on it. Oh, senior smile.
759
00:44:14,689 -->
00:44:17,869
I have a soft spot. I used Microsoft Money before in 2005.
760
00:44:17,869 -->
00:44:18,389
Oh, my goodness.
761
00:44:18,569 -->
00:44:19,919
Microsoft Money. I forgot about that.
762
00:44:20,089 -->
00:44:23,279
Early Money was so much better than Quicken back then. I mean,
763
00:44:23,279 -->
00:44:24,449
for my use, it was incredible.
764
00:44:24,449 -->
00:44:25,028
Why'd you get rid of it?
765
00:44:25,138 -->
00:44:28,220
Well, I wasn't really a Windows user, but when I got to play around with it, I was always blown away.
766
00:44:28,551 -->
00:44:33,949
I converted to GNU Cash for a while, then KMyMoney, and then BeanCount plus
767
00:44:33,949 -->
00:44:37,160
Fava. And now I'm back to K-Money plus H-Ledger.
768
00:44:37,358 -->
00:44:40,929
What are you all doing for your personal or business accounting?
769
00:44:41,749 -->
00:44:44,578
Well, mine's called... I hired out.
770
00:44:45,109 -->
00:44:46,819
You have a human doing it? You don't need software?
771
00:44:46,819 -->
00:44:48,810
Yeah, but mine's a little more complicated than the average bear.
772
00:44:49,469 -->
00:44:49,738
Wes?
773
00:44:50,829 -->
00:44:54,319
I have used plain text accounting in the past.
774
00:44:54,319 -->
00:44:58,019
Right now, my accounting needs are fairly simple.
775
00:44:58,019 -->
00:45:02,608
So I don't have a crazy system. But especially now with the rise of more tools to help,
776
00:45:03,130 -->
00:45:06,479
I was actually considering I used the original Ledger although I've played with
777
00:45:06,479 -->
00:45:10,429
HLedger more than a few times and it does seem like now that like manipulating
778
00:45:10,429 -->
00:45:14,109
the data double checking things writing scripts around it is easier it kind
779
00:45:14,109 -->
00:45:16,453
of might be the time where I go back to it.
780
00:45:17,889 -->
00:45:23,523
I don't feel so bad about my decision then because I was dabbling with this plain text accounting,
781
00:45:25,660 -->
00:45:27,189
because it follows all of our principles guys it.
782
00:45:27,189 -->
00:45:28,149
Sure does this.
783
00:45:28,149 -->
00:45:34,640
Is exactly what I want and I but then I realized I guess, much like Wes, which surprises me that,
784
00:45:35,946 -->
00:45:41,259
I don't have any of the programming skills to bring up my own reports for the
785
00:45:41,259 -->
00:45:44,147
things I wanted to know around my own finances.
786
00:45:44,890 -->
00:45:47,399
And so that's the number one thing that kept me from using it.
787
00:45:47,399 -->
00:45:51,869
But these days, I feel like we've got several robots that are way better at this than I am.
788
00:45:51,869 -->
00:45:54,919
It's interesting. My main reason was not that I think I could do.
789
00:45:54,919 -->
00:45:56,409
Mine was mostly just I didn't,
790
00:45:58,432 -->
00:46:01,427
I didn't have enough things where I needed the granularity, right?
791
00:46:01,427 -->
00:46:04,147
So it's like, I want to do a high level budget to understand where my cash flows
792
00:46:04,147 -->
00:46:08,067
are going. But the idea of making sure that each record is accurate was not
793
00:46:08,067 -->
00:46:10,497
the priority. So that was the part where I was like, that's not really worth
794
00:46:10,497 -->
00:46:13,148
it. I don't need the granularity right now. If I did, then I would.
795
00:46:14,077 -->
00:46:15,597
But you're right. Reporting is a whole other aspect.
796
00:46:16,985 -->
00:46:22,027
You know, I just realized, boy, maybe if I had a cash flow. We do need an income
797
00:46:22,027 -->
00:46:25,367
to track. All right. We got to move on, you guys. Good question, though.
798
00:46:25,367 -->
00:46:27,299
We should maybe do a segment in the future. Sure.
799
00:46:27,299 -->
00:46:29,437
Moan sent in a members boost.
800
00:46:31,261 -->
00:46:34,905
It reads, I also recently wanted to change up my notes app. Oh, dangerous.
801
00:46:35,316 -->
00:46:40,375
Obsidian is great, but I wanted an open source, simple, and got the struct from
802
00:46:40,375 -->
00:46:45,955
the OS like Obsidian. So I settled on VS Codium with a custom workspace that
803
00:46:45,955 -->
00:46:50,300
only has one tab, no sidebars, and a search bar at the top.
804
00:46:50,468 -->
00:46:52,745
Interesting. Custom little environment, kind of.
805
00:46:52,745 -->
00:46:55,535
I like that for a dedicated editor. Seems like it gets tough,
806
00:46:55,535 -->
00:46:56,975
like, in the mobile application.
807
00:46:56,975 -->
00:46:57,450
Right.
808
00:46:58,095 -->
00:47:00,865
But for a dedicated sit-down, like, a notes PC in the garage.
809
00:47:02,145 -->
00:47:05,105
I understand this. I've wanted like a dedicated application.
810
00:47:05,105 -->
00:47:08,545
I'm using Kate these days and have for a very long time.
811
00:47:08,905 -->
00:47:11,285
But I do many things in Kate. But having like one dedicated,
812
00:47:11,285 -->
00:47:14,375
like you always bring it up, maybe even with a keyboard shortcut and it's always
813
00:47:14,375 -->
00:47:15,951
your notes app. That sounds sexy.
814
00:47:16,509 -->
00:47:21,814
Anton comes in with a member boost. I'm thinking of trying Hermes at work.
815
00:47:22,105 -->
00:47:25,495
To be useful, I need to teach you to be a subject matter expert by feeding it
816
00:47:25,495 -->
00:47:29,199
a bunch of vendor docs, rdocs, example configs, that kind of thing.
817
00:47:29,378 -->
00:47:31,205
Can it learn that much information?
818
00:47:31,685 -->
00:47:33,265
Any tips for giving it lots of data?
819
00:47:34,525 -->
00:47:36,345
Well, do you have any before I give mine?
820
00:47:36,345 -->
00:47:36,824
Go for it.
821
00:47:36,935 -->
00:47:41,905
So it's going to kind of depend on what the subject matter is format, right?
822
00:47:41,905 -->
00:47:45,575
So if you could get all of the things you wanted to know in a really easy,
823
00:47:45,575 -->
00:47:48,400
readable format, maybe structured data or even simple markdown,
824
00:47:49,445 -->
00:47:50,725
you're going to have some options.
825
00:47:50,725 -->
00:47:53,785
So here's what we do. And this is just going to be our workflow.
826
00:47:53,785 -->
00:47:58,965
But we want to index every podcast, what we've talked about,
827
00:47:58,965 -->
00:48:03,115
what projects we've talked about, what picks we've made, what we said about
828
00:48:03,115 -->
00:48:04,816
a certain subject, what predictions we made.
829
00:48:05,199 -->
00:48:07,785
And so we're using a tool called QMD.
830
00:48:08,589 -->
00:48:14,515
And QMD is like a vector index and search tool that takes your markdown or your structured data.
831
00:48:14,515 -->
00:48:19,455
And it sort of creates these relationships in the search database that then
832
00:48:19,455 -->
00:48:24,292
the agent or you using the command line can go back. And so, for example,
833
00:48:25,064 -->
00:48:30,751
We could go back and we could say, you know, besides episode 677,
834
00:48:30,751 -->
00:48:32,040
when else did Anton boost in?
835
00:48:32,551 -->
00:48:36,071
And the agent would go back and find that specific thing for us by using the
836
00:48:36,071 -->
00:48:37,915
transcripts, which then have been vectorized.
837
00:48:38,275 -->
00:48:41,511
And then we use QMD as the front end to search that and query it and index it.
838
00:48:42,042 -->
00:48:45,032
So QMD could be one route. I'm sure there's probably a thousand ways to solve this.
839
00:48:45,165 -->
00:48:50,481
I think the core piece is at that scale, you can't just rely on it all being in context.
840
00:48:50,481 -->
00:48:50,831
Yes.
841
00:48:50,831 -->
00:48:52,881
Unless you have some crazy giant context model.
842
00:48:52,881 -->
00:48:56,651
Yeah, what you're going to need to rely on is skills to access a storage that's
843
00:48:56,651 -->
00:48:57,721
quickly and retrievable, right?
844
00:48:57,721 -->
00:49:01,521
So as you have it go through all of that, it needs to be generating some sort
845
00:49:01,521 -->
00:49:04,032
of persistent on-disk output, whether that's,
846
00:49:04,891 -->
00:49:08,341
you know, an LLM wiki-style thing, whatever kind of structure you want it to
847
00:49:08,341 -->
00:49:12,131
have, and then also perhaps is maintaining a database, or the harness is automatically
848
00:49:12,131 -->
00:49:14,941
doing it, or you're having it feed it into QMD directly.
849
00:49:14,941 -->
00:49:17,771
There's a lot of options there, but essentially you could kind of make sure
850
00:49:17,771 -->
00:49:21,481
that it's building a structure so that in the future, it has clear skills and
851
00:49:21,481 -->
00:49:24,895
clear storage of where everything, when it doesn't know something,
852
00:49:25,104 -->
00:49:28,192
it has clear guidance for how to go learn it so that it has it fresh in that context.
853
00:49:29,131 -->
00:49:33,831
Yeah. All right. James Mudd comes in with a member boost. Loving the EV bonus,
854
00:49:33,831 -->
00:49:37,972
working as a dev at a large UK CPO. All of your complaints are valid.
855
00:49:38,518 -->
00:49:41,873
But I think maybe things are a bit better here than they are in the U.S.
856
00:49:42,186 -->
00:49:46,461
Not sure if you know about Octopus Electroverse, but it's great for charging
857
00:49:46,461 -->
00:49:50,531
stops and planning Android Auto and CarPlay. electroverse.com.
858
00:49:50,531 -->
00:49:52,731
That's a great name. I'm not familiar, but cool.
859
00:49:52,731 -->
00:49:57,332
Yeah. Uh, I have been using a better route planner a bit, but, um,
860
00:49:59,212 -->
00:50:03,252
I sort of went overboard and created the ultimate front end for my agent.
861
00:50:03,252 -->
00:50:08,102
So it's basically able to query every EV database that has an API,
862
00:50:08,102 -->
00:50:12,612
including government databases. And then the big unlock that I think was the
863
00:50:12,612 -->
00:50:16,282
TomTom API. Because the TomTom API turns out to have a ton of stuff about EV
864
00:50:16,282 -->
00:50:18,073
and charging stations and all this kind of stuff.
865
00:50:18,270 -->
00:50:20,412
So you just did what Anton was asking about?
866
00:50:20,412 -->
00:50:22,769
I guess. Yeah. I guess so.
867
00:50:23,210 -->
00:50:24,592
You're welcome, Anton. You sharing that thing?
868
00:50:26,092 -->
00:50:26,882
You want to take Tristan?
869
00:50:26,882 -->
00:50:29,932
Sure. Tristan sends in a member boost Oh,
870
00:50:31,969 -->
00:50:37,636
About music playing boosts. Listening to this episode on an iPod.
871
00:50:37,636 -->
00:50:38,306
Oh, wow.
872
00:50:38,306 -->
00:50:38,896
Wow.
873
00:50:39,656 -->
00:50:41,176
Still spinning rust? That's incredible.
874
00:50:41,936 -->
00:50:42,536
You can upgrade them.
875
00:50:42,536 -->
00:50:43,811
Yeah, I know, but still.
876
00:50:43,979 -->
00:50:44,473
But did he?
877
00:50:44,659 -->
00:50:44,936
Did he, yeah.
878
00:50:45,396 -->
00:50:49,076
Earlier this year, I started Music Walks with my three-year-old.
879
00:50:49,916 -->
00:50:53,256
Bought him a cheap MP3 player and just set off my old iPod.
880
00:50:53,714 -->
00:50:59,636
The member URL for this podcast is an age-nix secret in my nix config and syncs
881
00:50:59,636 -->
00:51:02,386
to my iPod when I plug it in overnight.
882
00:51:02,386 -->
00:51:04,636
That, well done, sir.
883
00:51:04,636 -->
00:51:05,136
Wow.
884
00:51:05,456 -->
00:51:09,356
Wow, that is very, very impressive.
885
00:51:10,316 -->
00:51:11,298
Showing us the way.
886
00:51:12,064 -->
00:51:12,876
Mm-hmm. Mm-hmm.
887
00:51:15,344 -->
00:51:20,386
Wow. Anonymous comes in with a member boost. If an anti-AI project gets an AI
888
00:51:20,386 -->
00:51:24,176
contribution, well, that's really no different than a project with a CLA getting
889
00:51:24,176 -->
00:51:26,145
a patch from someone who hasn't signed the CLA.
890
00:51:26,475 -->
00:51:29,246
You inform them why you can't accept it, and if they don't comply,
891
00:51:29,246 -->
00:51:31,868
optionally treat the bug like a feature request without patch.
892
00:51:32,501 -->
00:51:35,686
That kind of seems like a pretty reasonable, I suppose it depends on the severity,
893
00:51:35,686 -->
00:51:37,995
but that seems kind of like a reasonable view.
894
00:51:37,995 -->
00:51:40,826
Yeah, I think especially for maybe like a feature request or a big,
895
00:51:40,826 -->
00:51:42,677
yeah, patches. And hey, look, I added this thing.
896
00:51:43,148 -->
00:51:45,746
I think where it does get trickier, like you're saying is, hey,
897
00:51:45,746 -->
00:51:48,516
I noticed this flaw in the code base and here's a patch, but are you going to
898
00:51:48,516 -->
00:51:50,646
throw the whole thing out or are you still going to fix the flaw?
899
00:51:50,646 -->
00:51:54,296
Do you do the implementation work yourself? Do you rely on that code and fix
900
00:51:54,296 -->
00:51:56,098
it up yourself or do you just throw it all away?
901
00:51:56,609 -->
00:52:00,386
Yeah, the other wrinkle there, like Linus has said too is like if one LM tool
902
00:52:00,386 -->
00:52:04,116
has discovered your zero day or whatever you can probably assume another one
903
00:52:04,116 -->
00:52:07,546
has or will very soon so there is a bit of urgency to it.
904
00:52:07,889 -->
00:52:11,046
And that's where there's maybe a distinction between sort of stuff you asked
905
00:52:11,046 -->
00:52:13,780
for and did yourself and then stuff that just shows up at your door,
906
00:52:15,247 -->
00:52:17,537
Eric the Magician comes in with a member boost.
907
00:52:17,537 -->
00:52:17,901
Hey, Eric.
908
00:52:18,499 -->
00:52:23,287
Eric says, no to ads. Speaking about our ad-free membership.
909
00:52:23,287 -->
00:52:23,578
Yeah.
910
00:52:23,681 -->
00:52:28,917
It took me too long to realize, though, that a membership discount meant less money for you.
911
00:52:28,917 -->
00:52:29,318
Oh.
912
00:52:29,614 -->
00:52:32,667
I have for years now, though, tried to increase what I pay each month.
913
00:52:32,667 -->
00:52:35,767
It's not a lot, but I hope this can nudge others in the same direction.
914
00:52:35,767 -->
00:52:36,387
Thank you, Eric.
915
00:52:36,387 -->
00:52:36,827
Yeah, thank you.
916
00:52:36,827 -->
00:52:37,327
That's very kind.
917
00:52:37,327 -->
00:52:38,597
Thank you for the support for years, too.
918
00:52:38,597 -->
00:52:42,017
Really, really do appreciate it because, like, you know, starting to build a
919
00:52:42,017 -->
00:52:44,933
leg is here at the show. We want to keep going. and you guys are making it possible.
920
00:52:45,096 -->
00:52:49,747
I'll wrap this up. ATX BBQ Nerd comes in and says, thanks for the AI coverage.
921
00:52:49,747 -->
00:52:50,959
You keep it grounded and useful.
922
00:52:51,423 -->
00:52:53,167
Linux feels more and more punk every year.
923
00:52:53,867 -->
00:52:56,687
That really, when we saw that come in, I was like, that really feels true.
924
00:52:57,507 -->
00:53:00,584
That really resonated. Thank you very much. Appreciate that, ATX BBQ.
925
00:53:00,990 -->
00:53:03,837
Thank you, everybody who boosted, including those of you who streamed those
926
00:53:03,837 -->
00:53:07,242
sats. 14 of you did, and collectively, not a bad little boost yourselves.
927
00:53:07,585 -->
00:53:12,031
You stacked 32,539 satoshis.
928
00:53:15,667 -->
00:53:20,222
You will in just a moment once you break it all down and you combine that with our boosters,
929
00:53:20,681 -->
00:53:23,467
wow you know you just never know what direction it's going to go look at this
930
00:53:23,467 -->
00:53:26,787
you never do know you don't I thought for sure we were going to come in light
931
00:53:26,787 -->
00:53:30,747
this week on a travel week too because it happens so often but no you all stepped
932
00:53:30,747 -->
00:53:33,727
up and you supported us when you combine the Fiat boosts and you value them
933
00:53:33,727 -->
00:53:35,157
at the current SATs to USD
934
00:53:35,488 -->
00:53:40,834
our total for this week when you combine it all together is 568,249,
935
00:53:42,169 -->
00:53:43,203
Satoshis is,
936
00:53:46,634 -->
00:53:49,610
Not going to complain about that at all. Heck no. Thank you,
937
00:53:49,610 -->
00:53:51,130
everybody, very, very much.
938
00:53:51,130 -->
00:53:54,540
It does mean the world to us, and we really appreciate everybody taking advantage
939
00:53:54,540 -->
00:53:56,387
of boost.jupiterbroadcasting.com,
940
00:53:56,700 -->
00:53:59,670
and we still have a good batch coming in through the traditional podcasting
941
00:53:59,670 -->
00:54:03,610
2.0 apps, and great to see the members taking advantage of their free member
942
00:54:03,610 -->
00:54:06,836
perk and getting to send a free boost every single episode. We love seeing that, too.
943
00:54:07,740 -->
00:54:10,990
Thank you to our members, and thank you to everybody who boosted this here value-for-value
944
00:54:10,990 -->
00:54:12,739
podcast. We really appreciate you.
945
00:54:13,047 -->
00:54:17,820
Yes, we do have dynamic ads. No, they don't pay much, and they're not like the traditional ad market.
946
00:54:17,820 -->
00:54:23,540
And we think with this combination, we can continue on. And I hope,
947
00:54:23,540 -->
00:54:27,610
I call it, I hope, we'll see, but I call it preventing the Linux magazine fate
948
00:54:27,610 -->
00:54:28,969
happening to Linux podcasts.
949
00:54:30,310 -->
00:54:33,526
Thank you, everybody. And with that, you know what? It's time for the picks.
950
00:54:35,569 -->
00:54:37,433
And, Wes, you found us a Pipewire pick.
951
00:54:37,949 -->
00:54:40,588
Yeah, I thought you might need it. You know, we're doing remote streaming.
952
00:54:40,588 -->
00:54:41,978
We're doing more audio stuff.
953
00:54:41,978 -->
00:54:46,728
Could not have been better timed. It is also a modern GTK LibWadia application.
954
00:54:46,728 -->
00:54:48,638
Yeah, it's a control center for Pipewire.
955
00:54:48,638 -->
00:54:50,848
Ooh. Tell me about it.
956
00:54:50,848 -->
00:54:52,758
Really, for any Linux distro running Pipewire.
957
00:54:52,758 -->
00:54:52,938
Yeah.
958
00:54:52,938 -->
00:54:57,112
Right now, it's packaged in the AUR. There's install instructions for Fedora, Ubuntu, and Debian.
959
00:54:57,367 -->
00:55:00,968
Not sure if it's in Nix yet, but surely, you know, we can fix that.
960
00:55:00,968 -->
00:55:01,535
Matter of time.
961
00:55:01,674 -->
00:55:06,158
Yeah. it does uh a lot uh i guess you could say just new in the most recent
962
00:55:06,538 -->
00:55:10,378
version there's now a patch bay a live node graph of the whole session audio
963
00:55:10,378 -->
00:55:16,674
and midi it's got a live monitor per service cpu and ram sparklines x-run and dsp load meters
964
00:55:17,017 -->
00:55:21,602
it now has effects insert racks of ladspa or lv2 plugins into the signal path
965
00:55:22,036 -->
00:55:26,178
virtual devices create null sinks virtual microphones combined aggregate devices
966
00:55:26,178 -->
00:55:31,298
and buses and submixes each runs its own tiny process temporary or persistent
967
00:55:31,298 -->
00:55:35,290
you choose, so creating or removing one never interrupts playback.
968
00:55:35,846 -->
00:55:38,138
The new patch bay they're working on is looking really good.
969
00:55:39,458 -->
00:55:43,346
I think it may eventually replace QP Graph that I use right now.
970
00:55:43,695 -->
00:55:46,868
These projects remind me that we're not the only pipeware nerds out there.
971
00:55:46,868 -->
00:55:51,699
I know, it's great to see. The live monitoring looks good. What I think stands out to me,
972
00:55:52,622 -->
00:55:57,979
is the way the developer has managed to put together a pretty clean,
973
00:55:58,397 -->
00:56:01,956
easy-to-follow UI for something that is extremely complicated and has a ton
974
00:56:01,956 -->
00:56:04,106
of UI elements. There's just so much.
975
00:56:04,106 -->
00:56:06,356
And have you ever seen the output of some of the pipework tools?
976
00:56:06,356 -->
00:56:11,176
You get just gobs of JSON. And yeah, so this not only has a bunch of that exposed,
977
00:56:11,176 -->
00:56:15,326
and you can do a lot of standard monitoring stuff, but you can also do fancy stuff all in one UI.
978
00:56:16,246 -->
00:56:19,566
In your standard desktop audio pipeline, you can insert effects.
979
00:56:19,566 -->
00:56:20,666
So if you're watching something that's
980
00:56:20,666 -->
00:56:23,265
a little too quiet, you could pop a compressor on right there you know.
981
00:56:23,451 -->
00:56:27,126
But from the same thing that can just sort of like manage your basic devices yeah,
982
00:56:27,646 -->
00:56:32,106
yeah just that's the thing it's like we've we've had a lot of great tooling but then in particular
983
00:56:32,483 -->
00:56:36,676
before linux audio was so bifurcated between like also at first and then pulse
984
00:56:36,676 -->
00:56:38,840
and then with jack on the side as its own universe
985
00:56:39,124 -->
00:56:42,706
and pipewire is finally bringing them together but we've had a lot of composable
986
00:56:42,706 -->
00:56:46,106
tools mostly but have never really gotten to the full thing that it could be
987
00:56:46,106 -->
00:56:48,536
in the new era and maybe this is the start i feel.
988
00:56:48,536 -->
00:56:50,606
Like I think it is actually, that's such a great way to put it.
989
00:56:50,606 -->
00:56:54,946
It's actually unlocking the real Pipewire potential. And we've needed good,
990
00:56:54,946 -->
00:56:56,296
good. Oh, I'm so excited about it.
991
00:56:56,306 -->
00:56:57,826
Because the bones are great. The bones are there.
992
00:56:57,826 -->
00:56:59,806
They're there. Pipewire controller.
993
00:57:00,126 -->
00:57:04,606
I've also said at the end of the read me here, there's a, if you like tinkering
994
00:57:04,606 -->
00:57:08,146
like me, here are some cool Git hubs to visit for sound tools list.
995
00:57:08,766 -->
00:57:13,089
And there are, I don't know, 10 different Linux audio sound tools here all worth looking at.
996
00:57:13,745 -->
00:57:16,199
I didn't even see that. That's fun.
997
00:57:16,437 -->
00:57:18,498
Okay. There's one even called gentle dynamics.
998
00:57:19,317 -->
00:57:22,665
It's been a good week of finding tools. Oh, yeah, classic easy effects is listed
999
00:57:22,665 -->
00:57:24,095
in there. Got to give that a shout-out.
1000
00:57:24,095 -->
00:57:27,195
Also kind of great. I think you'll have to see there's a thanks at the end to
1001
00:57:27,195 -->
00:57:31,105
Wim Taman's, past guest on our show, creator of Pipewire, who I guess reviewed
1002
00:57:31,105 -->
00:57:33,505
some of the server page's quantum and buffer settings.
1003
00:57:33,505 -->
00:57:33,881
Cool.
1004
00:57:34,108 -->
00:57:35,375
And helped fix some bugs.
1005
00:57:35,375 -->
00:57:39,405
All right, so that pick and all our links are at linuxunplugged.com,
1006
00:57:39,405 -->
00:57:45,776
and this right here was episode 677, so you can go to linuxunplugged.com slash 677 to get a link to that.
1007
00:57:46,461 -->
00:57:49,468
Buzz and some of the documentation, other things we've talked about,
1008
00:57:49,909 -->
00:57:52,645
and our invite link, if you want to join our Buzz community and,
1009
00:57:53,005 -->
00:57:54,930
you know, give it a shot. I have no idea if it's going to work.
1010
00:57:55,725 -->
00:57:57,045
Sorry about that. Yeah, totally.
1011
00:57:58,165 -->
00:57:58,805
Try it with us.
1012
00:57:58,805 -->
00:58:03,475
Try it with us, and let's learn it together, I say. And really,
1013
00:58:04,021 -->
00:58:06,675
really let us know what you think if you try it. Seriously.
1014
00:58:06,675 -->
00:58:08,325
Yeah, boost in. Boost in your Buzz hot takes.
1015
00:58:08,325 -->
00:58:12,972
We want to hear it. We want to hear it. And also you can go to linuxunplugged.com slash contact.
1016
00:58:13,220 -->
00:58:17,125
Of course, you can make it a Linux Tuesday on a Sunday. You can join us next
1017
00:58:17,125 -->
00:58:21,847
Sunday at 10 a.m. Pacific, 1 p.m. Eastern, or go to jblive.tv whenever you want,
1018
00:58:22,137 -->
00:58:23,655
and just see if it's live. That's what I say.
1019
00:58:23,655 -->
00:58:25,125
You see where we are. We're not going to be here.
1020
00:58:25,125 -->
00:58:25,568
That's right.
1021
00:58:26,415 -->
00:58:27,065
I won't be here.
1022
00:58:27,489 -->
00:58:29,202
No, none of us are.
1023
00:58:29,202 -->
00:58:31,392
We're all going to be in a different country.
1024
00:58:31,392 -->
00:58:32,862
We'll be on the other side of the continent.
1025
00:58:33,482 -->
00:58:37,632
This is a send-off show. I'm not leaving. I'm just leaving this place.
1026
00:58:37,632 -->
00:58:43,182
Yeah, the last broadcast from the cottage. I'm glad we could be here for it. That's nice, right?
1027
00:58:43,182 -->
00:58:44,192
It is.
1028
00:58:44,192 -->
00:58:47,512
That is cool. Wes, before we go, why don't you tell people a few pro tips,
1029
00:58:47,512 -->
00:58:48,962
like extra data around the show.
1030
00:58:48,962 -->
00:58:50,002
Ooh, you like extra data.
1031
00:58:50,002 -->
00:58:51,062
I love extra data, Wes.
1032
00:58:51,962 -->
00:58:55,362
We upgraded the audio stream, so we have a video stream, one of those fancy
1033
00:58:55,362 -->
00:58:58,708
newfangled mp4 files that's no way yep same thing you get
1034
00:58:59,057 -->
00:59:03,432
um just with more data a lot more data actually uh but if you like small text
1035
00:59:03,432 -->
00:59:07,108
files or medium-sized text that's my speed yeah well we have srt
1036
00:59:07,480 -->
00:59:11,942
or vtt which includes diarization so it says what chris said and what i said
1037
00:59:11,942 -->
00:59:14,822
oh yeah and it might actually get it right most of the time it should.
1038
00:59:16,002 -->
00:59:16,772
Am i in there too.
1039
00:59:16,772 -->
00:59:19,522
You're in there too and the mumble room and actually i.
1040
00:59:19,982 -->
00:59:20,732
Had to delete all of Brent.
1041
00:59:20,732 -->
00:59:22,232
Stuff. Oh, that happens in post, right?
1042
00:59:22,232 -->
00:59:23,727
That was where actually most of the time was spent.
1043
00:59:24,266 -->
00:59:27,282
And if you just know that it's really all about the audience and you want to
1044
00:59:27,282 -->
00:59:30,142
jump right to the boost segment or the feedback segment or you just are here
1045
00:59:30,142 -->
00:59:33,102
for the picks only and that's fine too, we have chapters for that.
1046
00:59:33,102 -->
00:59:37,142
A lot of you are just here for the picks. We understand. Thank you everybody.
1047
00:59:37,142 -->
00:59:39,882
We really appreciate you joining us. Brentley, thank you for hosting us.
1048
00:59:40,662 -->
00:59:42,432
Thanks for helping me pack up all my junk.
1049
00:59:42,432 -->
00:59:44,982
Well, who doesn't love moving? Right?
1050
00:59:45,482 -->
00:59:46,572
It's a national pastime.
1051
00:59:46,572 -->
00:59:51,762
I says to myself, I get five days off a year max and I want to spend all five
1052
00:59:51,762 -->
00:59:53,682
moving. That's what I says to myself, you know?
1053
00:59:53,682 -->
00:59:57,892
Well, you know, the faster we do it, the more we get to hang out in the mountains.
1054
00:59:57,892 -->
01:00:02,362
So the harder we work in the 100-degree weather, the more fun we get to have. There you have it.
1055
01:00:02,362 -->
01:00:03,762
Hey, at least it's not your stuff.
1056
01:00:04,542 -->
01:00:07,421
It actually makes it a lot easier. It really does. It really does.
1057
01:00:08,362 -->
01:00:10,982
All right. Thank you, everybody, for joining us. We really do appreciate you,
1058
01:00:10,982 -->
01:00:14,002
and hope you enjoyed this week's episode. Let us know how we did with a boost
1059
01:00:14,002 -->
01:00:16,991
or an email. Don't forget you can join us in that mumble room.
1060
01:00:18,241 -->
01:00:21,615
We've got that over at linuxunplugged.com along with our Matrix info,
1061
01:00:21,615 -->
01:00:23,836
how to subscribe, and the back catalog.
1062
01:00:24,805 -->
01:00:27,645
But with that, thank you so much for joining us on this week's episode of Your
1063
01:00:27,645 -->
01:00:32,735
Unplugged Program. And we'll see you next Tuesday, as in Sunday.