1
00:00:01,959 --> 00:00:03,580
All right, we're live.

2
00:00:05,290 --> 00:00:06,060
What's up, what's up?

3
00:00:06,820 --> 00:00:07,460
Freedom Tech.

4
00:00:08,040 --> 00:00:09,680
Welcome to Freedom Tech Weekend.

5
00:00:09,830 --> 00:00:10,660
My name is Marks.

6
00:00:11,390 --> 00:00:12,140
Good to have you here.

7
00:00:12,760 --> 00:00:15,120
We were a little delayed because I'm trying a new setup today.

8
00:00:15,260 --> 00:00:21,500
I've got my phone on a tripod so I can show you the device on my desk here.

9
00:00:21,620 --> 00:00:22,900
Let me try switching cameras.

10
00:00:24,199 --> 00:00:24,780
Let's see.

11
00:00:24,940 --> 00:00:31,500
If I do this, we are going to be talking about the new app called White Noise.

12
00:00:32,700 --> 00:00:36,160
Let me find the app here to share with you.

13
00:00:36,230 --> 00:00:37,760
But we're going to talk about private messaging.

14
00:00:38,220 --> 00:00:42,980
How do we do something like Signal, but that doesn't require a central server?

15
00:00:43,820 --> 00:00:49,100
Because central servers are a choke point for anybody who wants to apply pressure and

16
00:00:50,110 --> 00:00:53,640
shut things down or get data, things like that.

17
00:00:54,480 --> 00:00:57,580
Why is it not showing up? Let's see here.

18
00:01:01,100 --> 00:01:04,699
Well, while I look, welcome everybody. We're going to let people come in and join. We've got

19
00:01:04,820 --> 00:01:09,960
50 people already. This is awesome. Hello to everybody. Hope you're having a good Friday.

20
00:01:10,700 --> 00:01:16,880
If you follow the Bitcoin price, it has been a great, great couple of days. Loving that.

21
00:01:18,000 --> 00:01:23,700
Maybe the app's not open anymore. Yeah, it is. There we go. Okay. Share it. This is a little

22
00:01:23,680 --> 00:01:27,360
preview of what we're going to be looking at today. So I got my desk here. See, there's my hand.

23
00:01:28,280 --> 00:01:35,040
And so we've got, oh, whatever. Yeah. So we got white noise here on the thing. So that is what

24
00:01:35,140 --> 00:01:39,780
we're going to be doing today. But we'll let people join in the chat. Let me open up chat

25
00:01:39,870 --> 00:01:45,820
on this side so I can see what people are talking. Odell still looking different. Yep. Yep. I, uh,

26
00:01:47,259 --> 00:01:51,000
I'm the new, I'm his new, what's it called?

27
00:01:51,899 --> 00:01:52,800
Pseudonym, right?

28
00:01:53,550 --> 00:01:53,660
No.

29
00:01:54,410 --> 00:01:55,160
My name is Marks.

30
00:01:55,250 --> 00:02:01,960
I do a private, secure, confidential AI called Maple AI.

31
00:02:02,820 --> 00:02:04,900
Me and my co-founder, Anthony, work on it.

32
00:02:05,980 --> 00:02:10,700
And we actually just launched something big yesterday called Maple Teams.

33
00:02:11,130 --> 00:02:15,619
So if you are in an organization or you're in a company, you work on a team with people

34
00:02:15,620 --> 00:02:20,540
and you deal with sensitive data in your company or organization, which pretty much is everyone,

35
00:02:21,600 --> 00:02:28,020
you can now sign up your whole team on Maple and you can get secure AI for everybody.

36
00:02:28,930 --> 00:02:36,560
So pretty big deal. We're stoked about it. BTC pins, did you join TFTC? Not like officially.

37
00:02:36,800 --> 00:02:46,280
we are uh we're aligned in our in our ideals so freedom tech weekend is for now going to publish

38
00:02:46,740 --> 00:02:51,760
on the tftc channels along with my own channels then we'll do this as long as people like it and

39
00:02:51,860 --> 00:02:59,300
as long as it's it's fitting it gives tftc more content it gives me broader reach and really the

40
00:02:59,440 --> 00:03:03,459
idea is let's get more freedom tech in the hands of more people and let's spread the message far

41
00:03:03,460 --> 00:03:08,200
and wide. So that's what we're trying to do. We're also live on zap.stream. So let me head

42
00:03:08,300 --> 00:03:14,280
over to zap.stream just to make sure that it's going. And if the audio sounds good to everybody,

43
00:03:15,120 --> 00:03:19,620
great. If for some reason you can't hear me, if I'm too quiet, whatever, just let me know.

44
00:03:21,660 --> 00:03:23,480
I'm not seeing it on zap.stream.

45
00:03:26,520 --> 00:03:30,080
I know that it is. I selected it in the channels.

46
00:03:33,120 --> 00:03:33,980
It says it's streaming.

47
00:03:35,140 --> 00:03:39,360
It's not showing up, but that happens sometimes, I guess.

48
00:03:44,200 --> 00:03:46,880
Let's try this real quick.

49
00:03:47,730 --> 00:03:48,660
No, I'm not seeing it there.

50
00:03:51,239 --> 00:03:51,880
Oh, well.

51
00:03:53,070 --> 00:03:54,000
Sorry, Zap.Streamers.

52
00:03:54,880 --> 00:03:56,660
Restream says it's sending to you.

53
00:03:57,160 --> 00:04:00,380
Maybe I don't have enough money in my Zap.Stream wallet.

54
00:04:00,900 --> 00:04:02,980
That would be kind of funny, right?

55
00:04:04,400 --> 00:04:05,820
I might have to add some more.

56
00:04:13,480 --> 00:04:14,160
Says I'm offline.

57
00:04:17,700 --> 00:04:18,140
All right.

58
00:04:18,230 --> 00:04:19,440
Well, sorry, guys.

59
00:04:20,400 --> 00:04:24,820
Those who wanted to watch this on Zap.Stream, I can't help you right now live on air.

60
00:04:25,350 --> 00:04:26,120
I don't have a Logan.

61
00:04:26,350 --> 00:04:27,380
I don't have my own producer.

62
00:04:27,820 --> 00:04:28,500
I'm doing this myself.

63
00:04:28,870 --> 00:04:30,240
So we're just gonna go at it.

64
00:04:31,660 --> 00:04:33,480
Let's go ahead and dive in today and talk about it.

65
00:04:34,520 --> 00:04:41,520
The biggest -- so there's two big things this week with secure messaging that we were going

66
00:04:41,520 --> 00:04:42,220
to chat about.

67
00:04:42,980 --> 00:04:44,560
And so I had to pick one.

68
00:04:45,140 --> 00:04:47,100
And I'll tell you why I picked what I did.

69
00:04:48,340 --> 00:04:51,380
But I wanted to read some zaps that I got last week.

70
00:04:51,520 --> 00:04:51,940
My phone.

71
00:04:52,260 --> 00:04:52,340
Okay.

72
00:04:52,540 --> 00:04:55,640
Sorry, I'm all out of sorts because every week we try something new on Freedom Tech

73
00:04:55,780 --> 00:04:56,060
Weekend.

74
00:04:57,640 --> 00:04:59,940
And I'll get better planning for this.

75
00:05:00,720 --> 00:05:04,320
So there are two big projects this week that made a lot of rounds online.

76
00:05:04,840 --> 00:05:11,260
You had obviously Jack Dorsey, Jack on Noster but also on Twitter who vibe coded for the

77
00:05:11,300 --> 00:05:18,460
weekend and built a Bluetooth mesh messaging app called Bit Chat.

78
00:05:19,660 --> 00:05:20,940
You can say that to yourself.

79
00:05:21,400 --> 00:05:21,860
Bit Chat.

80
00:05:24,520 --> 00:05:26,720
And yes, the name is intentional.

81
00:05:27,960 --> 00:05:33,340
you can that that uses bluetooth and does discovery peer-to-peer over a mesh network

82
00:05:33,640 --> 00:05:39,060
with devices and you can send messages without any kind of centralized server without the need

83
00:05:39,070 --> 00:05:44,780
for internet which is super cool on one of our episodes that we had here i think it was episode

84
00:05:44,920 --> 00:05:53,579
seven we talked about trying to do airdrop without ios over local send and the hope was that we could

85
00:05:53,580 --> 00:06:01,180
do peer-to-peer airdrop type stuff but with any device not just ios i've since learned as i've

86
00:06:01,200 --> 00:06:06,240
used it more that it seems like it does still need some kind of internet connection i have not

87
00:06:06,380 --> 00:06:09,900
figured out how to do local send without internet but i was hoping it would be like a bluetooth

88
00:06:10,100 --> 00:06:15,520
mesh kind of thing where i could just airdrop local send files to other people so still trying

89
00:06:15,520 --> 00:06:19,159
to figure that out if anybody else has figured out how to do that that would be great because

90
00:06:19,160 --> 00:06:28,980
my use case for LocalSend was we sometimes have a youth group that is camping and we had this fun

91
00:06:29,100 --> 00:06:34,980
idea where we wanted to do like a video scavenger hunt kind of thing in the woods. And I know this

92
00:06:35,040 --> 00:06:41,020
sounds really sus. I swear it's not. But we wanted to airdrop the videos later. And so we had them

93
00:06:41,040 --> 00:06:46,759
on one thing to show them to everybody. Anyways, that was it. Somebody asked why not use

94
00:06:46,760 --> 00:06:53,700
Meshtastic. I'm going to do a future episode on Meshtastic. I think that is probably the

95
00:06:53,760 --> 00:06:59,620
better solution. It goes more long range. But Jack got a lot of media hype because he

96
00:06:59,640 --> 00:07:05,420
vibe coded a Bluetooth thing. And I think more solutions, the better, right? Meshtastic requires

97
00:07:05,580 --> 00:07:12,539
you to have different devices, whereas BitChat just works on your device. And so everybody can

98
00:07:12,540 --> 00:07:18,280
have it on them and if the internet goes out well you immediately start communicating with

99
00:07:18,300 --> 00:07:20,680
the device you already have in your pocket rather than having to have something else

100
00:07:22,940 --> 00:07:27,320
um i guess yeah that's that's my understanding i actually have some mesh tastic devices that

101
00:07:27,360 --> 00:07:33,080
i still need to unbox so i will do that for a future episode okay so that was the biggest one

102
00:07:33,360 --> 00:07:39,239
that made the rounds but then a quieter one that still got a lot of play that is much more polished

103
00:07:39,240 --> 00:07:47,840
and was not vibe coded is White Noise. So White Noise is a secure messaging app that's trying to

104
00:07:47,880 --> 00:07:54,220
be similar to Signal, give you good UX of Signal, but doesn't have centralized servers. And also

105
00:07:54,500 --> 00:08:02,840
is using the MLS protocol, the messaging secure layer protocol, that is going to try and work

106
00:08:03,000 --> 00:08:09,220
around some of the shortcomings that the Signal protocol has. And these projects always build on

107
00:08:09,220 --> 00:08:14,000
other. You're building on the shoulders of giants, as they say. So you're always trying to do

108
00:08:14,260 --> 00:08:18,740
something slightly more improved than the previous one. And maybe not slightly, right? Maybe it's a

109
00:08:18,900 --> 00:08:24,920
big leap of improvement, but you're always trying to improve on the other ones. So we're going to

110
00:08:24,980 --> 00:08:30,800
talk about white noise today. And I've got my device sitting here on my desk where I installed

111
00:08:30,950 --> 00:08:37,940
the APK, but I also wanted to try and build it locally on air for the first time, see if it works.

112
00:08:38,140 --> 00:08:39,260
It might totally fail.

113
00:08:40,020 --> 00:08:41,680
Hopefully I don't dox myself in the process.

114
00:08:42,310 --> 00:08:45,320
But let's go ahead first and share my screen,

115
00:08:45,970 --> 00:08:48,260
share my home server that I use for all of this.

116
00:08:49,110 --> 00:08:52,260
And then we'll talk a little bit about what is MLS,

117
00:08:53,030 --> 00:08:53,840
what is white noise.

118
00:08:55,420 --> 00:08:56,620
So let me bring that up.

119
00:08:57,380 --> 00:08:59,700
And then we'll demo the app

120
00:08:59,810 --> 00:09:01,660
and we'll try and build the app, all that good stuff.

121
00:09:02,840 --> 00:09:04,460
So all right, I got my server here.

122
00:09:04,780 --> 00:09:05,680
Let me go ahead and share it.

123
00:09:08,840 --> 00:09:16,620
sweet okay y'all should be seeing this now you are that's great let me adjust my window to make

124
00:09:16,680 --> 00:09:23,340
me smaller well that's not what i wanted to do crap i don't know how i just did that

125
00:09:24,080 --> 00:09:27,040
all right looks like i'm gone now that's funny

126
00:09:29,340 --> 00:09:37,980
There we go. Okay. I wanted to just change this. There we go. Okay. So now you can see me,

127
00:09:38,650 --> 00:09:41,360
and you can see here. So what we've got pulled up here is we've got White Noise,

128
00:09:41,680 --> 00:09:46,520
their website on the right. And then on the left, we've got Maple pulled up here to help us

129
00:09:46,600 --> 00:09:51,240
understand more things about what's going on. So I've already asked to explain MLS,

130
00:09:51,460 --> 00:10:02,660
which is the messaging layer security. Just to make sure here, because sometimes it hallucinates.

131
00:10:04,839 --> 00:10:10,220
MLS secure. It would be funny if it totally got it wrong. Okay. Now I got it right. Messaging

132
00:10:10,340 --> 00:10:16,500
layer security. Don't trust verify. Okay. So let's go talk about White Noise real quick.

133
00:10:16,620 --> 00:10:23,440
So what it is is a truly securely and private messenger that's lightning fast, infinitely scalable, and identity free.

134
00:10:23,560 --> 00:10:24,180
What does this mean?

135
00:10:24,830 --> 00:10:31,840
What they're doing here is they are taking a few different protocols and putting them together to try and create something that does not require centralized servers.

136
00:10:32,350 --> 00:10:34,160
On episode 10, was it 10?

137
00:10:34,730 --> 00:10:35,480
No, it might have been 9.

138
00:10:36,000 --> 00:10:38,520
A few weeks ago, we did a Freedom Tech weekend all about Signal.

139
00:10:38,860 --> 00:10:43,020
I'm sure many of you on here are familiar with Signal and use it every single day.

140
00:10:46,160 --> 00:10:51,400
The biggest problem with Signal is that they are the ones who run the central servers.

141
00:10:51,750 --> 00:10:53,180
So you have to depend on them.

142
00:10:54,010 --> 00:10:55,880
You don't know what's running on their servers.

143
00:10:56,700 --> 00:10:58,780
So you're trusting the code that they're running.

144
00:10:58,970 --> 00:11:11,620
And then also, if for some reason they got pressure from governments or other large organizations, or they got hacked, there are multiple reasons why their servers could go offline.

145
00:11:12,350 --> 00:11:14,460
Or their servers could somehow boot you offline.

146
00:11:15,700 --> 00:11:19,520
So there is still a dependency on this central authority.

147
00:11:21,260 --> 00:11:24,340
So White Noise is looking to remove that major dependency.

148
00:11:24,860 --> 00:11:31,580
And then the other thing is your identity is effectively owned by Signal as well.

149
00:11:34,100 --> 00:11:34,660
Right?

150
00:11:34,800 --> 00:11:36,540
You created a user account with Signal.

151
00:11:38,220 --> 00:11:39,960
It required a phone number.

152
00:11:40,960 --> 00:11:42,520
Now they allow you to do usernames.

153
00:11:42,920 --> 00:11:45,720
I don't know if you can create a Signal account without a phone number still.

154
00:11:47,360 --> 00:11:48,340
I haven't tried.

155
00:11:48,770 --> 00:11:51,760
But the point is, they own your identity.

156
00:11:52,400 --> 00:11:57,220
And if you leave Signal, you can't take any of your contact lists with you.

157
00:11:59,459 --> 00:12:03,480
There's probably an export way, but more or less, it's very difficult.

158
00:12:03,890 --> 00:12:09,800
So White Noise is using Nostr protocol and the Nostr identity management to handle that.

159
00:12:10,720 --> 00:12:21,320
So if you're not familiar with Noster, it creates a key pair for your identity, which is similar to the way that Bitcoin creates a key pair for your wallet.

160
00:12:21,770 --> 00:12:23,600
So it creates a private key and a public key.

161
00:12:24,460 --> 00:12:26,220
And you share your public key with everybody.

162
00:12:26,500 --> 00:12:27,320
It's called an NPUB.

163
00:12:28,300 --> 00:12:33,520
And then you hold on to your private key, which is called NSEC, N-S-E-C.

164
00:12:34,860 --> 00:12:36,280
And then you have that.

165
00:12:36,330 --> 00:12:36,940
You keep it safe.

166
00:12:37,400 --> 00:12:48,920
And then any app that you go into that talks to the Nostra protocol, you can put that in there or you can use a signing app that secures your NSEC and signs for you.

167
00:12:49,380 --> 00:12:50,560
That's a story for another day.

168
00:12:50,730 --> 00:13:06,160
But you put that in there and now this app knows who you are, has your Nostra identity, your Nostra account, and then all of your contact lists, everything that you've done on Nostra, your whole social graph, other things kind of follow you.

169
00:13:07,060 --> 00:13:23,020
So if I have been using a Twitter clone that uses the Nostr protocol, or I've been using a TikTok clone or an Instagram clone, one of these apps that has similar functionality to those central social media platforms.

170
00:13:24,050 --> 00:13:34,140
And I have put my Nostr account in there and I've started to build up followers or I've started following people because we're not all influencers.

171
00:13:34,410 --> 00:13:35,880
We don't all need to be influencers, right?

172
00:13:36,240 --> 00:13:40,340
But you're building up the social graph of people that you like to chat with and that you trust.

173
00:13:40,790 --> 00:13:42,880
Sorry, my dog's going crazy because something just showed up.

174
00:13:44,380 --> 00:13:46,220
Then what you get is...

175
00:13:47,480 --> 00:13:48,480
Just ignore the dog.

176
00:13:49,380 --> 00:13:55,920
What you get is you have all of these trusted people that you start to communicate with.

177
00:13:56,730 --> 00:14:01,340
And if you move apps from Instagram to TikTok, you don't get to bring them with you.

178
00:14:01,340 --> 00:14:03,400
You have to tell everybody, please go follow me over here.

179
00:14:04,140 --> 00:14:08,480
When you do it with a Nostra identity on a Nostra protocol, all that just automatically comes with you.

180
00:14:08,570 --> 00:14:10,160
So white noise is building on top of that.

181
00:14:10,710 --> 00:14:11,740
So you have identity management.

182
00:14:12,090 --> 00:14:13,880
You have your social graph, your contact list.

183
00:14:14,610 --> 00:14:18,600
And then they're using MLS, which is messaging layer security.

184
00:14:19,120 --> 00:14:26,460
This is something that was developed actually with a whole bunch of different companies, including Google, Facebook, Microsoft.

185
00:14:27,080 --> 00:14:30,900
It's something that's been developed by the Internet Consortiums.

186
00:14:32,260 --> 00:14:35,340
And I think they've been working on it since 2016, 2017.

187
00:14:36,060 --> 00:14:36,720
Doesn't tell me here.

188
00:14:37,080 --> 00:14:39,140
But they've been working on it for a while.

189
00:14:39,260 --> 00:14:42,080
So this is something that a lot of people are trying to adopt.

190
00:14:42,700 --> 00:14:43,620
Now, it's kind of complex.

191
00:14:44,500 --> 00:14:46,360
I listened to Citadel Dispatch yesterday.

192
00:14:47,140 --> 00:14:48,320
So shout out to Odell.

193
00:14:48,880 --> 00:14:54,400
And go listen to Citadel Dispatch with Jeff G and with Max,

194
00:14:54,900 --> 00:14:56,400
where they talked about this project in detail.

195
00:14:57,160 --> 00:15:00,040
They go into what is MLS and all that.

196
00:15:00,860 --> 00:15:05,540
and MLS versus the signal protocol.

197
00:15:06,000 --> 00:15:08,120
I'm not gonna go that deep into it today

198
00:15:08,320 --> 00:15:10,760
because frankly, it's like super technical.

199
00:15:11,600 --> 00:15:13,700
And if you wanna do that technical deep dive,

200
00:15:13,720 --> 00:15:15,580
you can on Freedom Tech Weekend.

201
00:15:15,920 --> 00:15:18,260
Our idea is that we want to give you

202
00:15:19,180 --> 00:15:20,840
kind of a quick overview of a project

203
00:15:21,400 --> 00:15:24,060
so that you can start playing with it yourself this weekend.

204
00:15:25,040 --> 00:15:26,840
We're not gonna try to hide things from you

205
00:15:26,840 --> 00:15:27,980
and be like, just trust us.

206
00:15:28,360 --> 00:15:30,800
But no, here's some of the basic technical stuff.

207
00:15:31,040 --> 00:15:33,560
Go look up MLS, end-to-end encryption.

208
00:15:34,320 --> 00:15:35,240
It handles group conversations,

209
00:15:36,010 --> 00:15:42,980
whereas Signal is a peer-to-peer, sorry, a DM app, right?

210
00:15:43,160 --> 00:15:45,620
It's meant for private messaging one-to-one.

211
00:15:46,250 --> 00:15:47,360
And then people wanted to do groups,

212
00:15:47,570 --> 00:15:49,600
and so they actually kind of added groups on top of it,

213
00:15:49,840 --> 00:15:52,980
but it's not truly a group messaging app.

214
00:15:53,360 --> 00:15:55,520
What it does is under the hood,

215
00:15:55,920 --> 00:15:59,060
your app is sending a DM to every single person in that group.

216
00:15:59,600 --> 00:16:02,920
And then it is like combining them in the app

217
00:16:03,140 --> 00:16:04,480
to make it seem like it's a group message.

218
00:16:05,180 --> 00:16:08,860
And then like we talked about on our previous episode of Freedom Tech Weekend,

219
00:16:09,560 --> 00:16:12,020
if you have signal on your desktop and signal on your phone,

220
00:16:12,680 --> 00:16:13,800
those are actually two different users.

221
00:16:13,960 --> 00:16:14,900
So when you're sending a message,

222
00:16:15,160 --> 00:16:19,320
it's having to create a copy of it with your other encryption key on your other device.

223
00:16:20,080 --> 00:16:22,580
So you end up with just like a lot of extra messages flying around.

224
00:16:23,140 --> 00:16:25,900
So MLS is trying to solve that by doing group messaging

225
00:16:25,900 --> 00:16:33,040
group conversations in the protocol itself. Forward secrecy. This, again, is where if someone

226
00:16:33,090 --> 00:16:37,440
gets a hold of your private key, if it gets exposed somehow, they cannot go back and read

227
00:16:38,200 --> 00:16:42,680
all of your messages in the past. And then white noise is also doing it. And I can't remember if

228
00:16:42,780 --> 00:16:46,800
this is in MLS or something. The white noise is doing it. But if they get a hold of your key,

229
00:16:46,950 --> 00:16:51,100
they can only read that one message. They cannot just sit there and snoop forward as well. They

230
00:16:51,200 --> 00:16:55,320
can't listen. So basically, bi-directional, they can't listen in either direction. They can just

231
00:16:55,320 --> 00:17:00,760
get that one message that that one key was used for. Post quantum security. Ooh, quantum is the

232
00:17:00,790 --> 00:17:05,439
big word, right? So they're doing something with quantum computing. You can look into that if you

233
00:17:05,439 --> 00:17:11,560
want to. Okay. Let's go over and look at, they had their GitHub. I always like to check out the

234
00:17:11,620 --> 00:17:16,800
GitHub's for projects. And that's actually where we're going to start here is we're going to try

235
00:17:16,800 --> 00:17:22,240
and run this. So I've already cloned the repo, but here's their GitHub. They are very active

236
00:17:22,240 --> 00:17:26,640
right now. Obviously, this is AGPL3. So just be aware of the license. It's always the first thing

237
00:17:26,640 --> 00:17:31,900
you should check when you're going to play around with open source. Look at the license. So this is

238
00:17:32,020 --> 00:17:37,580
not MIT, which means if you make additions, if you make improvements to this code base,

239
00:17:38,420 --> 00:17:43,440
or you use this code base inside of one of your own projects, you are now affected,

240
00:17:43,980 --> 00:17:52,000
or some people say infected, with the AGPL3 license. So you should be very mindful of that.

241
00:17:52,220 --> 00:17:57,360
I'm not saying this is bad. I'm just saying be mindful that it has this license if you decide

242
00:17:57,640 --> 00:18:02,080
to make contributions to this project, improvements, and assimilate it into your own code base.

243
00:18:03,140 --> 00:18:11,880
It's a -- it's one of those kind of licenses that spreads its tentacles far and wide.

244
00:18:12,460 --> 00:18:19,500
Full disclosure, we built Maple AI on top of Open Secret. And Open Secret,

245
00:18:20,520 --> 00:18:25,360
Maple AI is MIT licensed open source. So anybody can download it, run it, do whatever you want to

246
00:18:25,360 --> 00:18:33,780
with it. But Open Secret, the server that it runs on top of is AGPL3 as well. And that's because we

247
00:18:33,780 --> 00:18:39,120
need our server code to be open source for secure enclave purposes. And if anybody's going to take

248
00:18:39,020 --> 00:18:44,120
our code and also do it, we want them to be open source as well because that's the whole point of

249
00:18:44,200 --> 00:18:49,360
secure enclaves is that your code is open source. So just be mindful of that if you're going to --

250
00:18:50,020 --> 00:18:54,400
it's not Maple. It's the underlying server technology Open Secret. Two separate projects,

251
00:18:54,580 --> 00:19:00,480
two separate licenses. Okay. So let's open up my terminal here. And I've already downloaded

252
00:19:01,080 --> 00:19:06,460
the -- and cloned it. I had to install some stuff using homebrew. But we cloned the repo.

253
00:19:06,700 --> 00:19:13,720
Now let's go ahead and try and run it. I got a comment here that said from BTC pins,

254
00:19:13,890 --> 00:19:16,580
I love a command line white noise client so I can chat with a llama.

255
00:19:17,110 --> 00:19:21,120
I think that would be awesome, too. They said yesterday that right now it's Android and iOS,

256
00:19:21,590 --> 00:19:28,660
but more people are able to take this and build their own clients on top of this. I imagine we

257
00:19:28,660 --> 00:19:34,460
will start to see this show up in places like Primal, Amethyst, other clients, Domus. And then

258
00:19:35,740 --> 00:19:40,780
I'm, you know, vibe code a command line client for yourself if you want to.

259
00:19:41,630 --> 00:19:47,320
What else we got here? Is this related to the spaces protocol? I'm not familiar with the spaces

260
00:19:47,500 --> 00:19:54,220
protocol. Seems like a good fit with white noise. What is the spaces protocol? Let me ask

261
00:19:54,900 --> 00:20:01,020
Maple and see if it knows. What is the spaces protocol?

262
00:20:03,900 --> 00:20:11,460
We don't have web search yet inside Maple, so I'm going to use a newer model that has a newer knowledge date.

263
00:20:11,910 --> 00:20:13,140
What is the spaces protocol?

264
00:20:13,600 --> 00:20:16,340
This is Gemma 3, which is our latest one.

265
00:20:17,840 --> 00:20:18,300
See if this knows.

266
00:20:19,620 --> 00:20:22,540
Spaces protocol, also known matrix spaces.

267
00:20:25,100 --> 00:20:26,120
Oh, is this matrix?

268
00:20:26,500 --> 00:20:26,880
Okay.

269
00:20:27,840 --> 00:20:31,680
No, I don't believe it's using anything related with matrix and what they're doing.

270
00:20:32,520 --> 00:20:34,240
At least not from what I've read.

271
00:20:34,540 --> 00:20:36,560
They're using MLS messaging layer security.

272
00:20:38,280 --> 00:20:40,860
So short answer, I think the answer is no,

273
00:20:41,220 --> 00:20:42,620
but do your own research there.

274
00:20:43,800 --> 00:20:45,020
Okay, so back to what we're doing.

275
00:20:46,060 --> 00:20:49,500
We want to do just init-test.

276
00:20:51,260 --> 00:20:54,400
Just file does not contain recipe init test,

277
00:20:55,060 --> 00:20:56,580
or int test, my bad.

278
00:20:57,580 --> 00:20:59,280
Not init test, int test.

279
00:21:01,000 --> 00:21:02,540
All right, let's just copy this shit.

280
00:21:03,940 --> 00:21:04,340
Nope.

281
00:21:04,680 --> 00:21:04,980
All right.

282
00:21:06,020 --> 00:21:09,120
Recipe in test failed in line 12, exit 127.

283
00:21:12,440 --> 00:21:16,300
Okay, well, I'm not going to do a whole lot of debugging here on air.

284
00:21:16,540 --> 00:21:18,720
I just wanted to give it a try because why not?

285
00:21:25,179 --> 00:21:25,580
Yep.

286
00:21:25,820 --> 00:21:26,760
Okay, well, that didn't work.

287
00:21:26,960 --> 00:21:31,220
So now let's switch cameras because we've already been going for 20 minutes.

288
00:21:31,720 --> 00:21:32,220
Let's show a demo.

289
00:21:32,490 --> 00:21:35,060
We're going to create an account on air and we're going to give it a try.

290
00:21:35,280 --> 00:21:42,760
So I'm going to stop sharing this screen and we are going to switch over to the camera

291
00:21:43,010 --> 00:21:44,480
that is pointed down at my desk.

292
00:21:46,400 --> 00:21:47,020
Here we go.

293
00:21:48,220 --> 00:21:48,500
Boom.

294
00:21:48,650 --> 00:21:49,020
Look at this.

295
00:21:49,280 --> 00:21:51,260
We got multi cameras going on here.

296
00:21:51,680 --> 00:21:52,940
We're really up in our game.

297
00:21:53,410 --> 00:21:54,980
So this is my busted ass device.

298
00:21:55,220 --> 00:22:00,060
This is my daylight computer, DC1, which I absolutely love.

299
00:22:00,900 --> 00:22:01,800
The DC1's awesome.

300
00:22:02,700 --> 00:22:04,720
But I dropped it, and so the screen cracked.

301
00:22:05,060 --> 00:22:05,700
So that's what you're seeing.

302
00:22:05,880 --> 00:22:07,760
But it actually goes with the vibe of white noise.

303
00:22:07,900 --> 00:22:14,100
If you've seen the graphics for white noise, it is kind of a busted-looking screen anyways.

304
00:22:14,480 --> 00:22:14,980
So that's cool.

305
00:22:15,360 --> 00:22:16,700
All right, so we got security without compromise.

306
00:22:17,020 --> 00:22:20,600
I installed this using Zap Store, zap.store.

307
00:22:20,920 --> 00:22:23,300
I think it's zapstore.dev is the website address.

308
00:22:23,460 --> 00:22:28,940
but this is an Android store for installing apps that are signed using a Noster identity.

309
00:22:29,690 --> 00:22:33,300
So again, Noster is something you're going to hear a lot on this show over the weeks.

310
00:22:33,980 --> 00:22:39,980
It is an underlining protocol. Most people know it as a Twitter replacement. It is so much more

311
00:22:40,010 --> 00:22:44,620
than that. It is really a protocol for the internet and for managing your own identity

312
00:22:44,790 --> 00:22:48,860
and being sovereign with your own identity. One cool thing you can do with it is that you can sign,

313
00:22:49,040 --> 00:22:53,620
it really assigns messages, right? But that means you can sign things like builds of apps.

314
00:22:54,320 --> 00:22:59,400
And so if I download an app from some random website, there are supply chain risks all over

315
00:22:59,400 --> 00:23:03,180
the place, right? With GitHub, with other things. And I don't know who signed that.

316
00:23:03,680 --> 00:23:10,720
So people use PGP keys to sign stuff. Well, Zap Store is trying to do that with Android APK files.

317
00:23:11,140 --> 00:23:16,320
So now you can say, I signed this file. Here's my Nostra identity. If you trust my Nostra identity,

318
00:23:16,520 --> 00:23:20,420
then you can trust this file. All right, so let's go in here and let's do, oh, whoops,

319
00:23:20,660 --> 00:23:24,020
I'm going to try and do this from where I'm sitting without like losing my microphone.

320
00:23:24,940 --> 00:23:30,920
So setup profile. What it's doing here is it's going to create a brand new Nostra identity for

321
00:23:30,990 --> 00:23:36,240
me. I do not want to put my own Nostra identity in here. I'm not crazy like Odell. So I'm not

322
00:23:36,240 --> 00:23:40,960
just going to YOLO into it, especially not on air. So it's going to give me a name,

323
00:23:41,160 --> 00:23:44,820
choose a new name. It's calling me Amazing Stud. Introduce yourself, write something to

324
00:23:44,820 --> 00:23:45,600
say something about yourself.

325
00:23:46,660 --> 00:23:48,320
So let's, instead of Amazing Stud,

326
00:23:48,480 --> 00:23:49,700
let's call this Freedom Tech Weekend.

327
00:23:49,980 --> 00:23:52,020
I actually don't have a Nostra account

328
00:23:52,200 --> 00:23:53,280
for Freedom Tech Weekend yet,

329
00:23:53,500 --> 00:23:55,940
because frankly, I've run out of web browsers

330
00:23:56,679 --> 00:24:00,200
and I've run out of web browsers and browser extensions

331
00:24:01,040 --> 00:24:03,180
for all the different Nostra accounts that I have

332
00:24:03,360 --> 00:24:05,100
with personal life and work.

333
00:24:05,540 --> 00:24:07,620
And so I just haven't gotten around to setting up another one.

334
00:24:08,000 --> 00:24:11,400
So let's call this Freedom Tech Weekend.

335
00:24:14,920 --> 00:24:24,760
Yo. Finish. Okay. So, decentralized, uncensorable secure messaging. Your profile is ready. Tap

336
00:24:24,920 --> 00:24:30,480
chat to search contacts now or use the plus chat icon in the top right corner. So, let's

337
00:24:30,520 --> 00:24:35,780
tap chat. All right. So, new chat here. I'm going to leave the microphone for a second.

338
00:24:36,860 --> 00:24:37,340
Okay.

339
00:24:39,940 --> 00:24:42,880
Search contact or public key. Let's try and message Odell.

340
00:24:45,159 --> 00:24:47,620
I assume he's Odell at Primal.net.

341
00:25:02,919 --> 00:25:07,760
Okay, I'm going to quickly verify that over here on Noster just to make sure.

342
00:25:09,080 --> 00:25:13,000
but pretty confident, odell@primal.net.

343
00:25:13,200 --> 00:25:13,860
Okay, let's see if that works.

344
00:25:20,260 --> 00:25:21,480
Okay, I didn't find that.

345
00:25:23,080 --> 00:25:23,620
Now what?

346
00:25:24,680 --> 00:25:25,180
- Let's see.

347
00:25:29,080 --> 00:25:30,720
- So it cannot use NIP 05.

348
00:25:31,380 --> 00:25:32,860
All right, let's see if we can add contacts.

349
00:25:35,130 --> 00:25:36,500
And I'm gonna pull up the chat

350
00:25:36,530 --> 00:25:37,860
in case some of y'all are like,

351
00:25:37,960 --> 00:25:39,220
Yo, this is how it works.

352
00:25:39,550 --> 00:25:40,800
Hey, 88 Sats Radio.

353
00:25:41,030 --> 00:25:41,600
What's up, Jor?

354
00:25:42,400 --> 00:25:42,880
How you doing?

355
00:25:43,060 --> 00:25:43,580
Good to see you.

356
00:25:44,060 --> 00:25:46,640
Okay, I've only got five minutes left

357
00:25:46,850 --> 00:25:48,360
because I gotta get out of here

358
00:25:48,540 --> 00:25:52,340
so that I can make way for Rabbit Hole Recap,

359
00:25:52,600 --> 00:25:53,260
which is coming on next.

360
00:25:54,120 --> 00:25:57,380
So I hope y'all stick around and join Rabbit Hole Recap.

361
00:25:57,620 --> 00:25:58,760
Let's be honest, you're all here

362
00:25:58,920 --> 00:26:00,140
because that's coming on soon

363
00:26:01,080 --> 00:26:03,500
and you didn't realize that I would be on right before.

364
00:26:04,210 --> 00:26:05,920
But thanks for joining us and being here.

365
00:26:06,520 --> 00:26:09,900
Let's see if we can do add contacts or something like that.

366
00:26:12,480 --> 00:26:13,240
App settings.

367
00:26:14,260 --> 00:26:16,920
So I assume that if I had put in my NSAC on here,

368
00:26:17,860 --> 00:26:21,760
that I would have like a lot of contacts on here that I could message,

369
00:26:21,980 --> 00:26:22,420
but I don't.

370
00:26:22,960 --> 00:26:23,440
Share profile.

371
00:26:23,860 --> 00:26:27,680
All right, hey, if anybody wants to hit up that public key,

372
00:26:27,840 --> 00:26:32,180
if you are on, can you even read that?

373
00:26:32,600 --> 00:26:37,700
If you're on white noise already yourself, you can try and message me.

374
00:26:38,760 --> 00:26:40,200
You can scan that QR code.

375
00:26:40,840 --> 00:26:42,340
Let me hold it closer to the screen.

376
00:26:45,240 --> 00:26:47,680
And there's my end pub as well.

377
00:26:49,000 --> 00:26:50,140
Zap.stream is not working.

378
00:26:50,400 --> 00:26:50,880
I don't know why.

379
00:26:51,180 --> 00:26:52,700
It says it's streaming to Zap.stream.

380
00:26:52,740 --> 00:26:54,420
I'm using all the same settings, but it's not working.

381
00:26:54,920 --> 00:26:58,400
I might need to go top up my wallet on there.

382
00:26:58,400 --> 00:26:59,100
I'm not totally sure.

383
00:27:00,940 --> 00:27:02,300
But there's my public key.

384
00:27:02,420 --> 00:27:04,380
so feel free to grab it

385
00:27:04,680 --> 00:27:05,900
oh zap stream is down today

386
00:27:06,740 --> 00:27:07,520
womp womp

387
00:27:08,100 --> 00:27:09,600
we need the decentralized

388
00:27:10,940 --> 00:27:12,160
streaming service right

389
00:27:13,440 --> 00:27:14,380
Kieran's awesome though

390
00:27:15,260 --> 00:27:16,280
I don't fault him at all

391
00:27:16,600 --> 00:27:17,500
does great work

392
00:27:18,300 --> 00:27:20,200
so feel free to message me

393
00:27:20,320 --> 00:27:20,820
on that

394
00:27:22,020 --> 00:27:23,600
if we don't get it here on

395
00:27:24,080 --> 00:27:24,560
stream

396
00:27:26,020 --> 00:27:28,040
we can at least have fun connecting and messaging

397
00:27:29,000 --> 00:27:29,120
elsewhere

398
00:27:29,900 --> 00:27:32,400
why don't I just go ahead and type in

399
00:27:32,400 --> 00:27:35,920
a public key, we're gonna do this.

400
00:27:36,860 --> 00:27:38,900
Let me get Odell's public key.

401
00:27:39,980 --> 00:27:44,240
We're just gonna type in the long ass string that it is.

402
00:27:45,300 --> 00:27:46,480
Ooh, all right, I got someone.

403
00:27:47,280 --> 00:27:49,320
This is, hopefully it's not a,

404
00:27:50,559 --> 00:27:54,260
somebody that's going to get me booted off of YouTube

405
00:27:54,500 --> 00:27:55,460
by saying something bad.

406
00:27:56,720 --> 00:27:58,540
Let's see, let me go back to my screen

407
00:27:58,600 --> 00:27:59,880
so I can see what y'all are seeing.

408
00:28:00,120 --> 00:28:03,320
Okay, so forceful monitor is this user.

409
00:28:03,700 --> 00:28:04,400
Let's accept it.

410
00:28:06,260 --> 00:28:08,560
Okay, let me get out of the new chat.

411
00:28:09,580 --> 00:28:10,480
We've got a message.

412
00:28:11,140 --> 00:28:11,940
Good morning, Marks.

413
00:28:12,220 --> 00:28:12,440
What's up?

414
00:28:12,520 --> 00:28:12,880
It's working.

415
00:28:14,040 --> 00:28:15,620
Hey, hey, hey.

416
00:28:17,000 --> 00:28:17,480
Sweet.

417
00:28:18,300 --> 00:28:18,660
There we go.

418
00:28:18,720 --> 00:28:20,780
So we just sent a message back to forceful monitor.

419
00:28:23,080 --> 00:28:26,320
BTC pin said, "I just DM'd you on WN."

420
00:28:26,660 --> 00:28:28,960
We just doxed our BTC pins.

421
00:28:29,240 --> 00:28:30,040
Thanks for messaging me.

422
00:28:30,100 --> 00:28:30,960
Yeah, so here we are.

423
00:28:31,340 --> 00:28:33,660
We're using a decentralized messenger on air.

424
00:28:34,560 --> 00:28:35,960
There's no central server for this.

425
00:28:35,960 --> 00:28:37,640
This is going over all the Nostra relays.

426
00:28:38,340 --> 00:28:40,840
So some quick information here about this.

427
00:28:41,640 --> 00:28:43,580
Thanks for messaging, BTC pins.

428
00:28:43,900 --> 00:28:44,180
You rock.

429
00:28:44,980 --> 00:28:47,120
So if we go in here and go into app settings,

430
00:28:47,740 --> 00:28:51,440
they have all of the, they establish the relays for us.

431
00:28:51,700 --> 00:28:52,600
Oh, maybe it's not in here.

432
00:28:53,220 --> 00:28:56,960
But they have a hard-coded pre-selected relay list right now.

433
00:28:58,060 --> 00:29:02,680
And this is important to know because they are selecting the servers that you're connecting to.

434
00:29:02,800 --> 00:29:05,600
Now, they picked some of the most popular ones, like they're using Primal.

435
00:29:06,200 --> 00:29:10,000
They're using Domus, I think, Nostot, LOL.

436
00:29:11,419 --> 00:29:15,160
So they're using some of the most popular ones because they wanted to give people a great onboarding experience.

437
00:29:15,840 --> 00:29:20,480
If you are building Freedom Tech, think about the onboarding experience.

438
00:29:21,060 --> 00:29:22,220
Please, this is my plea to you.

439
00:29:22,660 --> 00:29:23,920
Please build a good onboarding experience.

440
00:29:24,420 --> 00:29:26,220
That is what we're doing with Maple.

441
00:29:26,540 --> 00:29:29,940
If you've used Maple, we tried to make a really good onboarding experience.

442
00:29:30,760 --> 00:29:32,240
White Noise is trying to do that as well.

443
00:29:32,280 --> 00:29:37,080
They have more work to do, but this app just launched and it's already a decent onboarding

444
00:29:37,320 --> 00:29:37,440
experience.

445
00:29:38,280 --> 00:29:40,160
So please focus on that and make it great.

446
00:29:41,180 --> 00:29:44,440
Okay, so part of this onboarding experience that they're doing is they hand selected a

447
00:29:44,480 --> 00:29:46,120
few really popular Noster relays.

448
00:29:46,539 --> 00:29:49,560
They're going to let you adjust those in the future because obviously there are all sorts

449
00:29:49,640 --> 00:29:54,820
of reasons why you might want to set your own relays that you talk to, including a personal

450
00:29:54,860 --> 00:29:55,440
one that you're running.

451
00:29:55,680 --> 00:30:00,600
So maybe you want to run your own caching relay somewhere, either on your home server or in the cloud.

452
00:30:01,260 --> 00:30:04,640
And then your device talks to that, which then goes out to everywhere else.

453
00:30:05,200 --> 00:30:10,920
That gives you a lot of protection because right now my IP address from this device is being exposed to all those relays that I'm contacting.

454
00:30:11,620 --> 00:30:19,460
So if I were in a precarious situation and I didn't want, let's say that I am an activist in a country that is monitoring my activity,

455
00:30:19,920 --> 00:30:27,300
I might not want my IP address exposed to this messaging, this secure messaging protocol.

456
00:30:28,200 --> 00:30:33,120
Right? So, just be aware of that. Always be aware. Always be verifying stuff.

457
00:30:34,320 --> 00:30:40,680
Looks like we got another message back. Oh, it's just like the cheers emoji.

458
00:30:41,780 --> 00:30:45,020
Awesome. Well, thank you so much. This is something you can play with this weekend.

459
00:30:46,000 --> 00:30:51,980
This is White Noise. It is available on Android right now because there's no gatekeeping for this.

460
00:30:52,150 --> 00:30:57,880
So just you can go download it and start using it right away. You can build it yourself. We failed

461
00:30:57,990 --> 00:31:04,380
on air in classic fashion trying to build it. And then there's an iOS version that is trying to get

462
00:31:04,530 --> 00:31:09,300
approved into TestFlight. So if you go and try to sign up on their website to be part of their beta

463
00:31:09,380 --> 00:31:14,500
for TestFlight, it's going to tell you that it's full. It's not full. It's actually just not

464
00:31:14,500 --> 00:31:19,800
approved yet for test flight use. So there's a two-step process with Apple. I'm going to stop

465
00:31:19,910 --> 00:31:25,520
sharing my screen and go back to just me. So there's a two-step process with Apple. You can

466
00:31:25,570 --> 00:31:29,360
do the beta version or you can do the production version that goes in the app store. The beta

467
00:31:29,470 --> 00:31:34,500
version usually is a quick approval within just a few hours. Then the production version goes

468
00:31:34,610 --> 00:31:42,700
through a more rigorous test and approval process, which sometimes just depends on which person you

469
00:31:42,700 --> 00:31:47,240
get reviewing it, what they had for breakfast that day. I'm not even kidding you. I've been

470
00:31:47,280 --> 00:31:51,680
doing this since the app store launched. I've been through this process countless times,

471
00:31:52,220 --> 00:31:59,640
and it still is just as frustrating as it was on day one. That said, keep checking if you want to

472
00:31:59,640 --> 00:32:03,460
get in on the test flight thing, and eventually, hopefully, they get approved at least in test

473
00:32:03,600 --> 00:32:08,960
flight, and then the bigger win will be getting approved on the app store for public consumption

474
00:32:08,960 --> 00:32:09,640
for everybody to use.

475
00:32:10,090 --> 00:32:12,680
But TestFlight can handle a lot of beta testers.

476
00:32:12,910 --> 00:32:16,420
So there should be room for everybody that wants to use it

477
00:32:17,220 --> 00:32:19,420
until this thing really blows up and goes big.

478
00:32:20,340 --> 00:32:22,420
But thank you for joining us for Freedom Tech Weekend.

479
00:32:22,810 --> 00:32:25,180
We do this every Friday at 1530 UTC.

480
00:32:26,280 --> 00:32:27,760
I'm sometimes a few minutes late

481
00:32:27,890 --> 00:32:29,420
just because I'm getting my setup going.

482
00:32:29,840 --> 00:32:31,040
I'm always trying new things,

483
00:32:31,160 --> 00:32:34,360
always trying to be creative and push the boundaries here.

484
00:32:34,880 --> 00:32:38,020
But Freedom Tech Weekend is one Freedom Tech tool

485
00:32:38,020 --> 00:32:43,060
that you can try out this weekend to decouple yourselves from closed technology. So thanks for

486
00:32:43,120 --> 00:32:49,240
joining us. We got up to over 2,000 people watching. Sorry we couldn't do Zap.Stream today.

487
00:32:49,350 --> 00:32:56,500
It was down. So but thanks for joining and have a great weekend. Stick around for

488
00:32:56,760 --> 00:33:01,520
stick around for Rabbit Hole Recap in about 13 minutes. Later.

489
00:33:01,660 --> 00:33:01,680
Thank you.
