1
00:00:00,000 --> 00:00:05,360
 yeah let's see if it works this time around okay let's check that looks good

2
00:00:05,360 --> 00:00:10,520
 so good we're live live let's do this not really like don't get hit by truck

3
00:00:10,520 --> 00:00:15,040
 yeah that's kind of the goal always hopefully say something that isn't too

4
00:00:15,040 --> 00:00:18,880
 stupid and don't get hit by a truck and don't die don't die number one don't

5
00:00:18,880 --> 00:00:23,360
 f up and die exactly all right I'm just gonna wing it but I think I know the way

6
00:00:23,360 --> 00:00:28,740
 and it's gonna be a little bit uphill we're gonna be a little bit huffing and

7
00:00:28,740 --> 00:00:33,860
 huffing will do and we'll just see where it takes us yep so yeah like I said

8
00:00:33,860 --> 00:00:40,120
 yesterday we you you kind of had a couple of interesting thoughts and questions

9
00:00:40,120 --> 00:00:45,260
 and I was like are you willing to go deeper into this for like an hour or 90

10
00:00:45,260 --> 00:00:51,260
 minutes or something and obviously it relates to a lot of the things you ran

11
00:00:51,260 --> 00:00:56,980
 into when building out white noise yes so tell me about it what are the walls you

12
00:00:56,980 --> 00:01:02,100
 ran into what a journey what a journey honestly it's like one of those things

13
00:01:02,100 --> 00:01:05,220
 if I'd known how hard it was gonna be I maybe would have thought about it a bit

14
00:01:05,220 --> 00:01:10,680
 more but no I mean it's like there you can't hope for more than to have a really

15
00:01:10,680 --> 00:01:16,560
 hard problem to work on that matters right and I think the the biggest thing and we

16
00:01:16,560 --> 00:01:22,800
 kind of knew this going in right like the the MLS RFC the paper says like you know

17
00:01:22,800 --> 00:01:29,920
 strict ordering is required yeah and you know it's a continuous green key agreement scheme and so really

18
00:01:29,920 --> 00:01:34,960
 all MLS is giving you is the system to go start with this key and this is how you get to the next

19
00:01:34,960 --> 00:01:40,720
 key yeah and this is how you you know guarantee that these are the members of the group and you know people

20
00:01:40,720 --> 00:01:44,000
 have what they're supposed to have and not supposed to have other stuff they don't care about

21
00:01:44,000 --> 00:01:50,160
 identity and they don't care about delivery yeah and I was like cool Noster identity delivery we can do this

22
00:01:50,160 --> 00:01:57,680
 um I think I vastly underestimated how hard it would be to keep that ordering proper

23
00:01:57,680 --> 00:02:04,240
 um and that's basically the sum of all the problems uh you know all the problems come from

24
00:02:05,120 --> 00:02:14,240
 um come from that you know we have to at some way in some way shape or form get relays to give us

25
00:02:14,240 --> 00:02:21,200
 everything and then figure out a way to order those things and if you are ever missing a single commit

26
00:02:21,200 --> 00:02:25,520
 which in MLS speak is the thing that evolves the group state yeah if you're ever missing a single

27
00:02:25,520 --> 00:02:30,320
 one of those one with Noster you don't know that you're missing it necessarily and if you don't

28
00:02:30,320 --> 00:02:35,760
 have it you can't continue to evolve the group in the right way yeah and in practice what then happens

29
00:02:35,760 --> 00:02:41,200
 is like let's say you have a group chat and let's say there's like eight people in the group chat yep

30
00:02:41,200 --> 00:02:46,080
 in practice correct me if I'm wrong but in practice what would happen is four people like the group

31
00:02:46,080 --> 00:02:50,720
 splits kind of and four people without noticing it are actually in a different group chat in a different

32
00:02:50,720 --> 00:02:56,960
 room and the other four like without noticing it there's there's a split and there's two different

33
00:02:56,960 --> 00:03:00,800
 exactly forked histories and no one can know that that's happened yeah because they only have their

34
00:03:00,800 --> 00:03:05,760
 local state yeah there is no like server you can ask it doesn't look as if anything's wrong but like

35
00:03:05,760 --> 00:03:10,960
 basically everything's wrong but everything's wrong correct um and and obviously there's a really

36
00:03:10,960 --> 00:03:14,800
 good solution to this which is called a centralized server yeah that orders the commits for you and

37
00:03:14,800 --> 00:03:19,120
 coordinates everything and sends you truth yeah but that's not Noster and that's like not what we're

38
00:03:19,120 --> 00:03:23,600
 trying to do we're trying to build a system that is unstoppable like I think I started the whole project

39
00:03:23,600 --> 00:03:29,440
 thinking okay we're going to make the most private messenger ever and through this process I think

40
00:03:29,440 --> 00:03:33,680
 my thinking has evolved to know what we're actually building is an unstoppable messenger yeah you know

41
00:03:33,680 --> 00:03:40,480
 one that is in and encrypted but cannot be shut down by anyone and that is as interesting but is a very

42
00:03:40,480 --> 00:03:44,240
 different sort of set of things that you have to think about when you're thinking about the trade-offs

43
00:03:44,240 --> 00:03:48,000
 yeah and putting a coordinator in the middle of that breaks that entire thing

44
00:03:49,520 --> 00:03:57,280
 will it always break that or is there a way to have coordinators that are equally trustless and

45
00:03:57,280 --> 00:04:05,760
 exchangeable as relays are so that's definitely one option um you know i i've talked to some

46
00:04:05,760 --> 00:04:11,040
 uh very accomplished cryptographers in the space about this and like that was and that is some of the

47
00:04:11,040 --> 00:04:16,720
 stuff that some of them are actually working on which is how do you build a server that is

48
00:04:17,680 --> 00:04:23,200
 um as trustless as possible but still you have you know cryptographic guarantees that they're doing

49
00:04:23,200 --> 00:04:28,240
 things correctly and you can still swap them out you know unilateral exit still exists for it yeah

50
00:04:28,240 --> 00:04:33,040
 you swap them at any time but it does require you know some coordination on the group level to say

51
00:04:33,040 --> 00:04:38,960
 you know coordinator a is our lead coordinator for now and if you want to switch you've got to make

52
00:04:38,960 --> 00:04:44,640
 that call some yeah no to make the switch yeah yeah i see i see that's the issue of like let's say you're

53
00:04:44,640 --> 00:04:50,560
 all over the world and an underground c cable goes down and like again eight people in the group and

54
00:04:50,560 --> 00:04:56,400
 for four people the coordinator a is unreachable right how do you agree that that's the actual case

55
00:04:56,400 --> 00:05:01,840
 exactly and so on i mean this is like one of these fundamental like mathematically you're right

56
00:05:01,840 --> 00:05:07,840
 there's no way to no solutions yeah exactly there's no way to like perfectly mathematically solve this

57
00:05:07,840 --> 00:05:16,720
 yeah um and so i think what we're working towards is how do we make it um as close to uh you know

58
00:05:16,720 --> 00:05:23,680
 perfectly orderable so you get all these messages in off of relays and you have a you know deterministic

59
00:05:23,680 --> 00:05:28,720
 state machine that helps you go okay this is the order based on these messages and if i find myself in a

60
00:05:28,720 --> 00:05:35,680
 situation where i'm fairly certain i'm somehow out of sync or something seems a bit off there's a really

61
00:05:35,680 --> 00:05:40,880
 easy way to just automatically recover back into the group which mls thankfully gives us this you know

62
00:05:40,880 --> 00:05:47,200
 re-init proposal yeah i see we we we briefly hit on this yesterday i think when we discussed pablo's

63
00:05:47,200 --> 00:05:52,800
 terrible invention of the serial killer relay thanks for nothing pablo thank you pablo yeah great naming and

64
00:05:52,800 --> 00:05:59,840
 you're well done your uh amazing naming ability continues to stand untested like he just he sent me the the

65
00:05:59,840 --> 00:06:06,800
 the github link and then one line below it and and it just said i'm gonna regret this so much you know

66
00:06:06,800 --> 00:06:16,320
 like it's his second biggest sin after uh insect bunker after insect bunker yeah oh man yeah well but um i i i do

67
00:06:16,320 --> 00:06:23,280
 understand kind of the motivation for it of course um and we had this discussion yesterday also with kelly

68
00:06:23,280 --> 00:06:30,000
 and basically how to best do this without breaking fundamental aspects of noster basically yep and

69
00:06:30,000 --> 00:06:37,760
 my argument was like let's please not call it relays like if those are yes if the the special purpose

70
00:06:37,760 --> 00:06:44,560
 of these things is like to provide chain things exactly provide an order of events that can't be

71
00:06:44,560 --> 00:06:51,280
 broken like that enforced on a relay level let's let's call it something else and yeah there is um

72
00:06:51,280 --> 00:06:59,200
 various opinions on that i would say um but would this like with the serial killer relay um

73
00:06:59,200 --> 00:07:05,680
 help in your use case question one and question two kind of we hit on this i think yesterday as well

74
00:07:06,560 --> 00:07:13,280
 um like you you mentioned re-entering the correct state and all those kind of things like how far

75
00:07:13,280 --> 00:07:21,600
 back do you need to go like if we build up chains of events how long will these chains be yeah i mean

76
00:07:21,600 --> 00:07:28,480
 i guess an ordering server or a coordinator doesn't solve all the problems and it and it

77
00:07:28,480 --> 00:07:35,280
 like everything comes with trade-offs uh you would be required effectively to lose a little bit of

78
00:07:35,280 --> 00:07:40,880
 privacy in order to um make sure that each of these events these commits you're publishing

79
00:07:40,880 --> 00:07:47,920
 are sort of recognizable as a event as a commit and has a pointer back to the thing it's

80
00:07:47,920 --> 00:07:52,560
 referencing off of explain that some more how would you sacrifice privacy well so let's think about

81
00:07:52,560 --> 00:07:57,680
 a really simple because the coordinator knows the coordinator has to know what it is yeah and

82
00:07:57,680 --> 00:08:02,640
 the coordinator already knows like a group id that is rotatable and changeable and things like that but

83
00:08:02,640 --> 00:08:07,440
 uh still it needs to know that like this is this specific type of event that's important to be

84
00:08:07,440 --> 00:08:15,120
 ordered um and here's the previous event you know that it's pointing to yeah and so it can then

85
00:08:15,120 --> 00:08:19,440
 create a map of okay these are all the changes that have happened in this group over time and it can't

86
00:08:19,440 --> 00:08:24,400
 see what the changes were but based on timing and a lot of other things you get more you can at least

87
00:08:24,400 --> 00:08:29,600
 glimpse activity of course yeah yeah and and like and you know unless you're using tour everywhere like

88
00:08:29,600 --> 00:08:34,960
 you know you can a sophisticated actor can definitely you know wine stuff together with ip addresses and

89
00:08:34,960 --> 00:08:44,720
 all sorts of things yeah yeah um so it's uh it's trade-off like yeah and and this because i um

90
00:08:47,360 --> 00:08:52,160
 all right let me let me let me see how well let's do this i'll do a really like simple example back

91
00:08:52,160 --> 00:08:57,680
 like i think the ordering things make a lot of sense for certain event types where like i mean

92
00:08:57,680 --> 00:09:02,960
 maybe even like uh like your metadata profile is a good example like you want to be able to

93
00:09:02,960 --> 00:09:07,760
 only replace it when you know what the previous one was so you don't clobber some other change yeah um

94
00:09:07,760 --> 00:09:12,480
 okay yeah yeah but but but but but but you'll always hey we managed you look that's the graveyard

95
00:09:12,480 --> 00:09:18,640
 perfect i was so hoping for that yeah now i know where i am again um

96
00:09:18,640 --> 00:09:26,160
 but again it's not a problem that can be solved like i i think i brought this up briefly yesterday

97
00:09:26,160 --> 00:09:33,440
 i've been using sync thing for like ever like ever since before it was called sync thing and there

98
00:09:33,440 --> 00:09:38,480
 are some other tools that basically are like local first and have synchronization and like 50 peter

99
00:09:38,480 --> 00:09:44,080
 synchronization and so on and you always run into these issues like sometimes i'll i'll i'll edit a

100
00:09:44,080 --> 00:09:50,160
 note for example on my phone and i don't realize that the phone is in flight mode or something and i

101
00:09:50,160 --> 00:09:55,680
 added the same note that i like every every every day for me starts the same yeah like most a lot of

102
00:09:55,680 --> 00:10:00,160
 people have a blank sheet of paper i have like an empty note for every day and i'll just write stuff in

103
00:10:00,160 --> 00:10:05,360
 there and and so you know then for whatever reason my phone has no connectivity or it's a flight mode i

104
00:10:05,360 --> 00:10:10,000
 i add something i add a line and then i go back to the laptop and it's connected and i don't i don't

105
00:10:10,000 --> 00:10:14,800
 even realize that i created a conflict but obviously it's a there's a conflict yeah and so you could

106
00:10:14,800 --> 00:10:19,280
 the metadata example that you mentioned could be the same thing you know like you have a relay on your

107
00:10:19,280 --> 00:10:24,080
 phone and it's 100 it's like you can't solve this issue and like yeah no you can't like there's no

108
00:10:24,080 --> 00:10:29,200
 there's no mathematical way to solve this problem yeah in a you know perfect everyone who ever worked

109
00:10:29,200 --> 00:10:33,440
 with git knows this like that's you always will run into a conflict at some merge conflicts and

110
00:10:33,440 --> 00:10:37,600
 you'll have to resolve that and you basically just have to have like what are the rules that we use to

111
00:10:37,600 --> 00:10:41,840
 break a conflict and decide someone's a winner and it's totally arbitrary but you have to set some

112
00:10:41,840 --> 00:10:47,120
 rules yeah and that's effectively what we're evolving towards in marmot is like we're going to have a

113
00:10:47,120 --> 00:10:50,720
 deterministic state machine yeah and there's going to be rules and they're going to be tunable

114
00:10:50,720 --> 00:10:54,960
 but your group agrees that like these are the consensus not consensus but like these are the

115
00:10:54,960 --> 00:10:59,520
 convergence rules for this group and this is how the state machine will function and the reason why

116
00:10:59,520 --> 00:11:04,160
 it has to be a deterministic state machine or like a graph-like thing is because you can't rely on

117
00:11:04,160 --> 00:11:08,480
 timestamps because timestamps can't be forged exactly exactly and so like that was actually one of the

118
00:11:08,480 --> 00:11:13,600
 main i think flaws with my original design environment is that we used timestamps yeah to go okay just

119
00:11:13,600 --> 00:11:19,920
 order it naively by timestamp and then lexographically by id yeah um it's still such an underappreciated

120
00:11:19,920 --> 00:11:24,880
 thing of the bitcoin system that it actually doesn't rely on timestamps really bananas like it's you

121
00:11:24,880 --> 00:11:28,640
 think about these really small things and you're like oh yeah it doesn't really use clocks at all

122
00:11:28,640 --> 00:11:33,920
 it's such an important uh point and concept and it's what makes everything work so beautifully and

123
00:11:33,920 --> 00:11:38,880
 it sounds so simple that people very quickly overlook it and it's not at all it's not at all if you just

124
00:11:38,880 --> 00:11:43,280
 if you go deep into the difficulty adjustment you'll realize oh wow that's so ingenious yeah and the funny

125
00:11:43,280 --> 00:11:48,080
 thing is also like i sometimes point this out when i talk about these things like if you if you try to set up an

126
00:11:48,080 --> 00:11:52,720
 ethereum node or any proof stake system the first step is always like make sure your clocks are accurate

127
00:11:52,720 --> 00:11:58,240
 and connect to this time server yeah you know like you need you need like nano second accuracy yeah

128
00:11:58,240 --> 00:12:03,200
 for all your clocks and no one can ever cheat ever yeah because otherwise things just go to hell yeah

129
00:12:03,200 --> 00:12:08,080
 but anyway okay so you have the state machine and what i actually wanted to kind of line up in terms of

130
00:12:08,080 --> 00:12:14,720
 a question is um i've been using i've been using marmot a lot i was a power user for a while because i

131
00:12:14,720 --> 00:12:19,440
 used it exclusively to chat with my agents oh you're gonna like what i've been working on but but but

132
00:12:19,440 --> 00:12:24,720
 it's all one-on-one chats yes yes that's the easy one that's a really easy one yeah so so and actually

133
00:12:24,720 --> 00:12:28,880
 marmot the way we've got to build white noise now works really well for one-to-one chats for very long

134
00:12:28,880 --> 00:12:36,160
 periods of time yeah all shiny problems because because um yeah i mainly used pika and um i i used

135
00:12:36,160 --> 00:12:41,600
 it for for a couple weeks like exclusively yeah because for me it worked more reliable than nip 17

136
00:12:41,600 --> 00:12:48,240
 it was just the most reliable thing and um and and so my my question is kind of like is there

137
00:12:48,240 --> 00:12:55,840
 is there a trade-off you can make let me say like two more sentences and i talked about this i talked

138
00:12:55,840 --> 00:13:01,200
 about this with justin a little bit it's like to me kind of the goal of like perfect privacy

139
00:13:01,200 --> 00:13:08,000
 makes less and less sense or like perfect encryption everything the bigger the group gets like in a

140
00:13:08,000 --> 00:13:14,720
 2 000 people group someone's a fan just assume it's public basically yes i know it's like i mean i i'm

141
00:13:14,720 --> 00:13:19,120
 being extreme now but it's like there's at least like five fats and three spooks and like two russian

142
00:13:19,120 --> 00:13:24,720
 spies and yes yep like just just be and and there's someone who is a streamer or something and has to

143
00:13:24,720 --> 00:13:29,040
 chat open and streams the whole chat history to twitch 24 7 and all those kind of things yep

144
00:13:29,040 --> 00:13:32,880
 yeah you know like you just have to assume that you have to assume and so so talk to me about your

145
00:13:32,880 --> 00:13:38,960
 thoughts in regards to that we from like one-on-one chats to like 2 000 people group size yeah i mean

146
00:13:38,960 --> 00:13:45,280
 like mls says you can go up to groups of hundreds of thousands and i think uh like you said really in

147
00:13:45,280 --> 00:13:51,280
 the actual yeah mathematically whatever that's possible but operationally that's just not how it works

148
00:13:51,280 --> 00:13:56,640
 like privacy degrades very quickly with the size of the group um and so i think there are ways that

149
00:13:56,640 --> 00:14:02,880
 you can um fall back to simpler systems and i think that's really smart and i think as we develop this

150
00:14:02,880 --> 00:14:08,000
 better we'll find like okay where are the limits here that actually kind of make more sense um you

151
00:14:08,000 --> 00:14:12,480
 know there's also aspects of the mls protocol there's like mls lite which is coming out soon which

152
00:14:12,480 --> 00:14:17,280
 helps you run larger groups with much less overhead for most participants

153
00:14:17,280 --> 00:14:22,640
 like what's the what's the magic sauce there so the magic sauce is that you have you know the

154
00:14:22,640 --> 00:14:29,200
 there are a set number or some number of um users in the group that have the full state and those are

155
00:14:29,200 --> 00:14:36,880
 the only users that can actually uh change the group's makeup or like evolve the group state but everybody

156
00:14:36,880 --> 00:14:42,480
 else still gets enough information that they can decrypt messages and encrypt messages so they basically

157
00:14:42,480 --> 00:14:47,280
 have the message keys but they can't they don't look at the full like member tree and they can't verify

158
00:14:47,280 --> 00:14:51,840
 the full member tree either they can just go okay i can send and receive messages in this group

159
00:14:51,840 --> 00:14:57,360
 interesting um and in in regular mls that hierarchy would be flat basically the hierarchy is flat yeah

160
00:14:57,360 --> 00:15:00,960
 mls doesn't actually have a concept of admins or anything like that that was something we layered

161
00:15:00,960 --> 00:15:06,400
 in on top um interesting okay yeah like any any full member of a group can do anything they want

162
00:15:06,400 --> 00:15:13,200
 because in um oh yeah that's actually the right way i don't think it matters but let's go there sure

163
00:15:13,200 --> 00:15:20,400
 um because i'm um it sounds kind of like a very sane approach to me because

164
00:15:20,400 --> 00:15:27,520
 in most systems that are that have widespread use the person who creates the group is automatically

165
00:15:27,520 --> 00:15:32,160
 the admin right like signal that's what we've done that's how we defaulted and it's kind of a very

166
00:15:32,160 --> 00:15:39,040
 natural yep way of doing things can you in mls light can you then um promote someone to an admin

167
00:15:39,040 --> 00:15:43,520
 yeah yeah of course you just need to send them the full state okay uh and so and like that's the way

168
00:15:43,520 --> 00:15:47,360
 all mls groups work is that like everybody has the full state right now which means that everybody can

169
00:15:47,360 --> 00:15:52,800
 verify that yeah these are the actual members and you know this is the this is what the full view looks

170
00:15:52,800 --> 00:15:59,280
 like yeah um you know the way we've done admin stuff up until now is a little clunky we're moving to a

171
00:15:59,280 --> 00:16:07,200
 newer concept in mls which is called uh app components which are a way to sort of uh destructure

172
00:16:07,200 --> 00:16:12,320
 these like big extensions into really small little pieces and that gives us the ability to like stack

173
00:16:12,320 --> 00:16:16,960
 all these things together as like features okay and so the feature becomes really small and thin and

174
00:16:16,960 --> 00:16:22,240
 really you know specific to what it's trying to do and you can use those to negotiate group

175
00:16:22,240 --> 00:16:26,400
 capabilities yeah and so if pika or whatever client you know because sort of defunct but

176
00:16:26,400 --> 00:16:32,160
 whatever client you know that implements this say they don't support all the features white noise

177
00:16:32,160 --> 00:16:38,640
 does if i go to create a group with that person i can see in their key package like uh it's great

178
00:16:38,640 --> 00:16:43,280
 right we're gonna go right to the construction you you you clip onto microphones and there's like

179
00:16:43,280 --> 00:16:48,000
 construction work everywhere there's always how it works straight away like leaf blowers just appear out of

180
00:16:48,000 --> 00:16:53,360
 nowhere and people with power tools start to run to you power washers you just have to

181
00:16:53,360 --> 00:16:59,200
 you just have to power through there is no other way okay so yeah back to the point like

182
00:16:59,200 --> 00:17:06,000
 it basically gives us the ability to get like capability negotiation so you've got you know one

183
00:17:06,000 --> 00:17:11,120
 client that doesn't support all these features the key package that was created by that client shows

184
00:17:11,120 --> 00:17:15,440
 hey these are the features we support and if i'm on white noise and i want to add you

185
00:17:15,440 --> 00:17:19,760
 i see that in your key package and i go okay the group i'm going to create will only support these

186
00:17:19,760 --> 00:17:25,680
 subset of features that we both can do and that then is like okay great we now have a group that works

187
00:17:25,680 --> 00:17:29,760
 so you announce what features you support exactly and that's the whole point of the key package system

188
00:17:29,760 --> 00:17:34,400
 yeah which has also been a really big learning like we made those you know normal events in the beginning

189
00:17:34,400 --> 00:17:39,520
 and that was a stupid idea it should have been replaceable from the start but okay um you know

190
00:17:39,520 --> 00:17:44,640
 you need these like these key packages that are client specific because if you have multiple clients

191
00:17:44,640 --> 00:17:50,000
 they have to support different things or you know whatever it is okay um yeah yeah

192
00:17:50,000 --> 00:17:56,400
 okay okay so it is that makes sense there's still a lot of elegance to mls i think it's it is very

193
00:17:56,400 --> 00:18:02,080
 complicated but i've finally had my head around it it only took two years yeah um but it is quite

194
00:18:02,080 --> 00:18:08,560
 elegant in a lot of ways it's kind of a in other ways it's quite uh it's like a bit of a blunt tool

195
00:18:08,560 --> 00:18:14,880
 because of that required ordering because of how heavyweight the whole system is in terms of how

196
00:18:14,880 --> 00:18:20,880
 much data you have to move around if you want to have the full tree yeah um on every client yeah i think

197
00:18:20,880 --> 00:18:29,040
 i think the the the the issue kind of is or the the paradox you're running into and i think justin i

198
00:18:29,040 --> 00:18:36,160
 hit briefly on it um like at least at least in theory we did i think yeah we talked a lot of other

199
00:18:36,160 --> 00:18:41,440
 shit and we weren't always super accurate with everything but it's basically nostr is designed to

200
00:18:41,440 --> 00:18:48,560
 be a broadcast system and and so so kind of you just you blast everything everywhere uh-huh and

201
00:18:48,560 --> 00:18:56,320
 and with private communications that's not necessarily beneficial right correct and so that's part of

202
00:18:56,320 --> 00:19:01,280
 the issue especially if you have a large shared state right like you don't even want to blast it

203
00:19:01,280 --> 00:19:07,600
 everywhere in the first place right and and and so so so kind of share your thoughts around that kind of

204
00:19:07,600 --> 00:19:17,120
 that uh paradoxical um setup that we have now using and it's it's it's not only for for doing mls on

205
00:19:17,120 --> 00:19:22,000
 also it's for many other things doing anything anything private basically um i mean it's a fundamental

206
00:19:22,000 --> 00:19:28,640
 tension right it's um you're right it's a broadcast system rather than a uh access controlled system yeah

207
00:19:28,640 --> 00:19:35,440
 um and so i think that means that effectively anything you want to do that's properly access controlled

208
00:19:35,440 --> 00:19:42,560
 you have to start thinking about uh you know what are the risks in you know in this how much does the

209
00:19:42,560 --> 00:19:51,040
 metadata actually matter um to an observer or an attacker yeah um and and then you know act accordingly

210
00:19:51,040 --> 00:19:54,640
 like if you really want a properly private thing you need to run your own relays and that means you're

211
00:19:54,640 --> 00:19:58,480
 actually just running a centralized server yeah and that's kind of my issue because the same

212
00:19:58,480 --> 00:20:04,080
 it's a it's a different topic entirely but it it fits in the in the same category in the sense that we

213
00:20:04,080 --> 00:20:09,920
 have this relay soon now yeah we have auth relays and we have right trust relays and we have like

214
00:20:09,920 --> 00:20:14,720
 completely personal relays and all these different relay lists and we have like yep you know profile

215
00:20:14,720 --> 00:20:20,960
 only relays that only you go for kind zero and so on and so on and so and so so my point is kind of

216
00:20:20,960 --> 00:20:24,960
 and and also like community relays they are really big right that's that's what i was was getting at

217
00:20:24,960 --> 00:20:30,400
 where it's like okay this is the community relay and it's not not actually a relay in some sense it's

218
00:20:30,400 --> 00:20:35,280
 the central server of the community and you have the relay feed and it's it acts like a forum for the

219
00:20:35,280 --> 00:20:43,200
 community right and so on right and to me kind of that you know like i the i take issue calling this

220
00:20:43,200 --> 00:20:48,640
 thing still a relay right right i also do this is why i never liked 29 relays i was like this is dumb

221
00:20:48,640 --> 00:20:53,680
 this is just a server it's it's just kind of i think we'll go here then we're we're almost we're

222
00:20:53,680 --> 00:20:57,440
 almost in the beautiful garden we'll we won't get run over by tram

223
00:20:59,920 --> 00:21:06,080
 so so um yesterday the discussion about uh pablo's terrible serial killer thing

224
00:21:06,080 --> 00:21:10,720
 throw him under the bus as often as possible we love you pablo

225
00:21:10,720 --> 00:21:19,600
 oh man you know no like to give pablo uh the credit you know if you if you ship 2500 projects

226
00:21:19,600 --> 00:21:23,360
 you'll have two or three that are a little bit yeah you know a bit wobbly

227
00:21:23,360 --> 00:21:29,680
 sensible no but it's it's that was my main point to cali because he really wants to have that for

228
00:21:29,680 --> 00:21:35,280
 for the cashew stuff yeah because that's obviously the issue right now with nip 60 right nip 61 you

229
00:21:35,280 --> 00:21:40,000
 don't know what you don't know exactly and it's it's it's it's precisely the same issue you have the

230
00:21:40,000 --> 00:21:45,280
 proof some are lost and so on and you have your cashew balance basically and it's just one day you

231
00:21:45,280 --> 00:21:50,480
 look and it's 120 sets and the other day you look and it's like 50 sets yeah it's like what happens

232
00:21:50,480 --> 00:21:54,080
 and then you look again it's 300 sets you know like there can be positive surprises as well i think

233
00:21:54,080 --> 00:21:59,120
 your metaphor of changing your pocket is probably exactly it's like oh whatever and the pocket as

234
00:21:59,120 --> 00:22:03,760
 a hole and sometimes stuff drops out and then you find change under the couch again like that's just

235
00:22:03,760 --> 00:22:08,560
 how it works it's just how it works and i like it i actually kind of like this in some sense because

236
00:22:08,560 --> 00:22:14,480
 like if you play around with it it's kind of clear that you shouldn't put serious money in it

237
00:22:14,480 --> 00:22:19,840
 like it's like some sets here and there and so on it's just to play around and to yeah to well you

238
00:22:19,840 --> 00:22:25,840
 know experiment more or less and to make this really work again just like in your use case you need to

239
00:22:25,840 --> 00:22:32,560
 have change events you need to have strict ordering of events right so that you can make sure that your

240
00:22:32,560 --> 00:22:38,560
 whole balance is there yeah and in your case that the whole group state remains exactly and like you

241
00:22:38,560 --> 00:22:47,360
 know the i am coming around more and more to this idea that like we really need to look at um

242
00:22:47,360 --> 00:22:54,720
 nostril relays as a thing that makes it unstoppable and like that unstoppable property is based on the

243
00:22:54,720 --> 00:23:00,160
 fact that it's completely commodity you can just dump stuff in the direction yeah you can't ever be

244
00:23:00,160 --> 00:23:06,560
 quite sure that you've got everything but of what's there like you're gonna find what you can find from many many

245
00:23:06,560 --> 00:23:11,840
 sources and that's going to be good enough for most things that you need to do yeah um and when it comes

246
00:23:11,840 --> 00:23:16,960
 to cryptography that doesn't you break all sorts of stuff that way and the only way to fix that really

247
00:23:16,960 --> 00:23:22,560
 is again like we talked about before you've got to say okay i'm going to trade off the um

248
00:23:22,560 --> 00:23:30,640
 unstoppability of this for something that's less unstoppable uh and it's like degrees then of okay how

249
00:23:31,200 --> 00:23:35,760
 how centralized do i need to go to make this work and and the point i was trying to make to

250
00:23:35,760 --> 00:23:44,160
 to kelly to some degree is that to to me like intuitively in some way this is a centralized force

251
00:23:44,160 --> 00:23:51,920
 relying on on chained events basically it's it's just it depends on how far back do you need to go

252
00:23:51,920 --> 00:24:00,720
 like because because you build up this state more or less you can't it's unacceptable it's it's

253
00:24:00,720 --> 00:24:06,160
 completely unacceptable that a quarter or half or a third of the chain is missing for many use cases

254
00:24:06,160 --> 00:24:10,480
 for many years yeah not for all of them but for many yeah for yours it's different again like we talked

255
00:24:10,480 --> 00:24:15,920
 you you you probably can throw away most of the history yep and depending on on the system like

256
00:24:15,920 --> 00:24:21,840
 maybe it's okay if if only a few people have the full state and all those kind of things yep but for

257
00:24:21,840 --> 00:24:29,200
 we talked about for example um edits yeah and rubble brought up um video edits and how they are

258
00:24:29,200 --> 00:24:34,240
 chained together and how this is also a chain of events and so on yep and you can't do deltas without

259
00:24:34,240 --> 00:24:40,400
 the full exactly exactly it's not and that's what i think what what was why phf was so angry about

260
00:24:40,480 --> 00:24:45,840
 edits being introduced to kind ones because you have immediately this problem that you need to

261
00:24:45,840 --> 00:24:53,520
 get all the events of the past to you know have the correct chain of edits and all those kind of

262
00:24:53,520 --> 00:25:03,680
 things yeah and so um to me the beauty of nostr and the relay system is the beauty to me the the beauty

263
00:25:03,680 --> 00:25:09,680
 in part is precisely that there is no global that there is no global state and stuff can disappear and

264
00:25:09,680 --> 00:25:17,120
 and reappear and i mean one one of the quotes in uh in bitcoin is basically you know notes can

265
00:25:17,120 --> 00:25:24,160
 can uh join and leave the network at will yes and with nostr relays for me it's similar like if a

266
00:25:24,160 --> 00:25:29,200
 relay is offline or unavailable maybe there's a little bit of data missing but like who cares you

267
00:25:29,200 --> 00:25:35,200
 know exactly and i mean i think i'm with you on that i'm like i am staunchly on this side of the line

268
00:25:35,200 --> 00:25:38,800
 i understand that i can make a coordinator and make this work easy yeah and that's not i'm not

269
00:25:38,800 --> 00:25:43,760
 interested in that yeah the problem i'm trying to solve is can we do this in a actually decentralized

270
00:25:43,760 --> 00:25:48,640
 way where we don't have to count on any of the relays existing yeah and i mean we have to be able to

271
00:25:48,640 --> 00:25:55,920
 like let's actually go back and stay in the green um so you want to solve it in a pure way basically

272
00:25:55,920 --> 00:26:00,960
 which is which is which is way way harder and but then you you will eventually maybe not possible

273
00:26:00,960 --> 00:26:06,000
 i think we have to accept that that might be the case that yeah we have to go over the line to make

274
00:26:06,000 --> 00:26:13,440
 this work unless you unless you kind of introduce the special types of relays that only allow writes

275
00:26:13,440 --> 00:26:19,760
 if you point back to previous events exactly exactly so and and the relay acts as like the central

276
00:26:19,760 --> 00:26:24,240
 sequencing server right that you'll need for these kind of use cases right i mean that might be a

277
00:26:24,240 --> 00:26:29,120
 trade-off that we are ultimately forced to make yeah i'm not ready to accept that yet and and i think

278
00:26:29,120 --> 00:26:33,360
 a lot of people a lot of people have told me this over the last two years look you just need to have

279
00:26:33,360 --> 00:26:38,160
 this sequencer or coordinator i'm like if we wanted to not solve the problem we're trying to solve yeah

280
00:26:38,160 --> 00:26:45,760
 that that does it but yeah that's not what we're trying to do here yeah um all right all right okay so so

281
00:26:45,760 --> 00:26:53,120
 so that's where we at right now that's your and you're still you're still unsure whether um you

282
00:26:53,120 --> 00:26:59,680
 would adopt a serial killer relay type solution i mean i wouldn't yet i wouldn't yet at all um because

283
00:26:59,680 --> 00:27:06,160
 kelly is very keen like i think he's building on it right now yeah he's been trying to convince me of

284
00:27:06,160 --> 00:27:13,600
 this for a while yeah um and i'm like nope nope nope nope nope okay um but i mean look i the way that

285
00:27:13,600 --> 00:27:18,160
 i'm kind of looking at it right now is i feel like if we could if we can get that state machine working

286
00:27:18,160 --> 00:27:25,440
 so that maybe once a month and all the groups that you're in you hit this screen you open a group and

287
00:27:25,440 --> 00:27:31,200
 it's like hey we saw you somehow got out of sync we automatically re-knitted you might be missing a

288
00:27:31,200 --> 00:27:36,880
 few messages in that break but you're back in the group and everything can continue going forward if

289
00:27:36,880 --> 00:27:42,720
 that happens once a month to you i would say okay we've got a system that is good enough for

290
00:27:42,720 --> 00:27:48,080
 almost all use cases of this and on what would this depend on would this depend on connectivity or

291
00:27:48,080 --> 00:27:53,920
 would this also depend on group size and other factors it depends on everything um i think you

292
00:27:53,920 --> 00:27:58,640
 know with smaller groups obviously it should almost never happen yeah um it's very simple in larger

293
00:27:58,640 --> 00:28:04,000
 groups it gets much more complicated but i still think we can get it to you know eventually small number

294
00:28:04,000 --> 00:28:09,600
 of times where that happens so worst case would be really large groups in places with very bad

295
00:28:09,600 --> 00:28:15,280
 connectivity exactly yeah with lots and lots of ads and removes and yeah yeah but like group state

296
00:28:15,280 --> 00:28:19,920
 changes not just messages like if you're just doing messages and no group state changes that's trivial

297
00:28:19,920 --> 00:28:23,520
 because those messages can arrive out of order they can arrive they can not arrive it doesn't matter

298
00:28:23,520 --> 00:28:27,440
 that doesn't change anything and you're never going to de-sync because you didn't get a normal

299
00:28:27,440 --> 00:28:36,240
 application message yeah okay i see i see yeah i guess we'll we'll we'll find lots of these things out as

300
00:28:36,240 --> 00:28:44,880
 we as we move along yeah um what has me bullish though is that in general for me right now multiple

301
00:28:44,880 --> 00:28:53,600
 things are working and i mentioned before um when i was uh talking about using marmot to talk to my agents

302
00:28:53,600 --> 00:29:01,280
 and so on um that worked flawlessly and i have to say if your relay if you know what you're doing in

303
00:29:01,280 --> 00:29:06,960
 terms of your relay setup nip 17 works really well as well that's true for this kind of use case i mean

304
00:29:06,960 --> 00:29:11,200
 you have to trade off the forward secrecy and of course compromise doesn't have doesn't have any of

305
00:29:11,200 --> 00:29:14,960
 that there are no solutions there's only trade-offs doesn't have any of that but i just want to point it

306
00:29:14,960 --> 00:29:22,000
 out because i i think like even most power users use telegram to chat with their openclaw right

307
00:29:22,000 --> 00:29:27,680
 you know yeah and so check out the openclaw nip 17 plugin fabian built that originally oh cool yeah

308
00:29:27,680 --> 00:29:33,040
 i actually didn't know that existed no it's awesome and i i added some features to that um because

309
00:29:33,040 --> 00:29:38,960
 what people really like in telegram is like the instant responsiveness yes and uh the nip 17 plugin

310
00:29:38,960 --> 00:29:45,360
 has it as well can it it does stream like um not streams but it will do emoji reactions okay on the

311
00:29:45,360 --> 00:29:50,320
 chat message just depending on what it does like there's a shaka once it's received yep for and then

312
00:29:50,320 --> 00:29:54,800
 like depending on thinking or tool tool call it will use different emojis nice and so you can watch the

313
00:29:54,800 --> 00:30:01,840
 emojis come thing yeah it's okay it's still doing stuff so i just uh nvk nerds named me a little bit

314
00:30:01,840 --> 00:30:05,680
 uh with his agent noise thing he's built this you know he wants to be able to use white noise to talk to

315
00:30:05,680 --> 00:30:11,360
 an agent on a you know remote box and uh so i was like well i'm playing around with this version two

316
00:30:11,360 --> 00:30:16,000
 stuff like let me use an app component let me build a um you know quick streaming tech streaming

317
00:30:16,000 --> 00:30:22,800
 thing yeah and so now uh i've got an app that runs and i can you know ping a claw or you know it's

318
00:30:22,800 --> 00:30:28,880
 basically just a box with a you know clawed or a codex on it and it starts to just stream text back

319
00:30:28,880 --> 00:30:32,480
 in awesome and the way it works is it you know it sends a first message going hey i'm about to stream

320
00:30:32,480 --> 00:30:37,280
 some text here's the quick server you're gonna connect to um stream the text and it just starts

321
00:30:37,280 --> 00:30:41,760
 showing up and then at the end it sends an anchor at the at the bottom going here's the full transcript

322
00:30:41,760 --> 00:30:46,080
 replace all that crap yeah awesome and it works amazingly well yeah it's really really fun and the

323
00:30:46,080 --> 00:30:54,080
 reason why i want to point this out is because the the why all of this is interesting is um all of it

324
00:30:54,080 --> 00:30:59,040
 relies on cryptographic identifiers which means if you set up an open call or whatever you don't need

325
00:30:59,040 --> 00:31:03,760
 to get like 15 different phone numbers and like a new sim card and right like create new signal and

326
00:31:03,760 --> 00:31:09,840
 whatsapp accounts and all this kind of yep bs that everyone then has to go hey here's a cli for this

327
00:31:09,840 --> 00:31:14,720
 thing called white noise yeah use it and uh ping me a message when you're done and that's how i set it

328
00:31:14,720 --> 00:31:20,320
 up with pika as well and also my nip 17 setup like once you once you have an agent going it's just like

329
00:31:20,320 --> 00:31:26,320
 here's the plugin here's the repo dm me when you're done yeah and it works and it works like it does

330
00:31:26,320 --> 00:31:30,880
 everything that's everything yeah installs the thing and then you receive an usdm and you're off to the

331
00:31:30,880 --> 00:31:35,760
 races yeah and same for you know like a dm on white noise or and i mean the other thing is like having

332
00:31:35,760 --> 00:31:40,080
 the ability to just spin up all these different identities in a messenger for whatever use case you

333
00:31:40,080 --> 00:31:44,640
 want is actually a really big deal like it's uh none of the other tools out there allow you to do this

334
00:31:44,640 --> 00:31:50,800
 yeah and my setup right now is and and i think it i think it's actually a bigger deal than than is

335
00:31:50,800 --> 00:32:00,480
 talked about right now um because because i'm yeah it's everything's dangerous the the um the fact that

336
00:32:00,480 --> 00:32:06,560
 i use cryptographic identities only allows me to create one agent per project yeah and so i just

337
00:32:06,560 --> 00:32:12,400
 you know i have whatever bitcoin resources and nostril resources and and boris and like all my little

338
00:32:12,400 --> 00:32:17,280
 projects yep and i can they all have end pubs of course and the end pub is the end pub of the project

339
00:32:17,280 --> 00:32:22,400
 and if i need to do a feature or a bug fix or whatever i just dm this this thing i just dm

340
00:32:22,400 --> 00:32:26,880
 i just send a dm to the project yes yeah and the project has its own identity it's such a natural

341
00:32:26,880 --> 00:32:33,360
 way of doing things it's so awesome yeah and like i you know like it's no crossed wires like that's

342
00:32:33,360 --> 00:32:37,840
 the thing about agents like you as long as you keep a session on a single thing it makes total sense

343
00:32:37,840 --> 00:32:41,760
 and the agent doesn't get confused and you're in a single session and you tell an agent to go work on

344
00:32:41,760 --> 00:32:45,680
 another project no and also like in a system like openclaw and so on and now we have all these memory

345
00:32:45,680 --> 00:32:50,000
 systems and so on it's like the memory and the history builds up precisely just for the main

346
00:32:50,000 --> 00:32:56,000
 specific knowledge for this one system yep and and to me it's the best i found like because i played

347
00:32:56,000 --> 00:33:02,000
 around with having multiple personas like a researcher and the core it's all bullshit yeah i agree i agree

348
00:33:02,000 --> 00:33:06,960
 it's like i basically strip back to the most simple agent harness possible i'm like just it needs to be

349
00:33:06,960 --> 00:33:12,800
 basic just let the model shine through it and yeah yeah and to me the the important unlock was like do

350
00:33:12,800 --> 00:33:18,880
 do have like one closed system per project basically yep and that's that works really well yeah and

351
00:33:18,880 --> 00:33:24,240
 cryptographic identity yeah it nails it like yeah yeah so there's lots of stuff going on there and i

352
00:33:24,240 --> 00:33:31,440
 mean i was i was actually excited when i saw nostr as one of the default options in openclaw yep and

353
00:33:31,440 --> 00:33:37,600
 excitement lasted for about two seconds because then it was like okay it's nipple four yeah who did that

354
00:33:37,600 --> 00:33:45,200
 and i think it's also half broken you know like it's of course it is nothing works nostr of course it

355
00:33:45,200 --> 00:33:51,600
 and so i i feel like we came a long way from nipple four you know like you know like i was saying

356
00:33:51,600 --> 00:33:56,400
 earlier i kind of shifted the thinking around this from being like the most private thing to being

357
00:33:56,960 --> 00:34:02,800
 much more on the permissionless unstoppable side because yeah i mean the other thing that's

358
00:34:02,800 --> 00:34:07,040
 massive everywhere now is the whole kyc of the internet and yeah sure this just sidesteps all

359
00:34:07,040 --> 00:34:12,080
 of that you know they're they can come with kids so much yeah do you want do you want because i just

360
00:34:12,080 --> 00:34:17,120
 i love terrorists i hate kids because i love terrorists you want to throw like 12 year olds on the

361
00:34:17,120 --> 00:34:21,680
 internet and the first thing they do is like shoot people and download of course absolutely dark

362
00:34:21,680 --> 00:34:27,040
 markets definitely yeah yeah 100 everyone has to scan a password and give a blood and and the

363
00:34:27,040 --> 00:34:33,440
 blood and urine yeah to to to go online that should be obvious yes why do you hate kids so much exactly

364
00:34:33,440 --> 00:34:39,200
 yeah oh man it's uh it's funny because i mean we laugh because that's all we can do but still i mean

365
00:34:39,200 --> 00:34:44,000
 it's one of those things it's insane it's totally insane and the only way to fight that as we know with

366
00:34:44,000 --> 00:34:48,400
 bitcoin and lots of other systems like this is just to build something that is actually unstoppable yeah

367
00:34:48,400 --> 00:34:56,240
 um and i think if we do this messaging stuff correctly yeah okay it might not be able to

368
00:34:56,240 --> 00:35:02,640
 withstand state level actors doing ip targeting and you know timing analysis on everything yeah but

369
00:35:02,640 --> 00:35:08,320
 i mean it's all about cost of attack right exactly if it allows people to create identities that will

370
00:35:08,320 --> 00:35:13,520
 disappear those identities there's no server to shut down there's no server that law enforcement can come

371
00:35:13,520 --> 00:35:18,080
 and be like give us all your logs we're like we don't have any yeah there's the github it's in my t

372
00:35:18,080 --> 00:35:23,120
 exactly have fun yeah it's it's that came up in a different discussion that i will not bring up now

373
00:35:23,120 --> 00:35:28,320
 but plausible deniability actually matters it's a really and if you can if you can like also for

374
00:35:28,320 --> 00:35:33,280
 people that run vpns and all those kind of things when you can truthfully say i don't have any user

375
00:35:33,280 --> 00:35:38,720
 data i don't have anything to give you yes that's a big plus because if you're it doesn't matter what

376
00:35:38,720 --> 00:35:43,120
 it is even if it's like an irc server or like whatever like a discord server it doesn't matter what it

377
00:35:43,120 --> 00:35:47,600
 is once it gets big and important enough or controversial enough yeah someone will come

378
00:35:47,600 --> 00:35:52,400
 knocking at your door we just launched uh like the latest version of white noise came out last week

379
00:35:52,400 --> 00:35:57,360
 and it um has ios notifications finally and the reason it took so long is because we weren't going

380
00:35:57,360 --> 00:36:02,400
 to do it in a way that was going to give apple anything funnel everything and we i mean the notification

381
00:36:02,400 --> 00:36:06,560
 systems are you have to have a server that's the only server we run is a notification server and we

382
00:36:06,560 --> 00:36:10,480
 specifically built it around the idea that the notification server should have nothing yeah it should get

383
00:36:10,480 --> 00:36:15,120
 you know a couple of encrypted tokens just enough to turn around to apple and go send a push notification

384
00:36:15,120 --> 00:36:18,560
 to this token that's it yeah it doesn't save anything it doesn't have any logs it doesn't know where

385
00:36:18,560 --> 00:36:24,160
 it came from either um and so that's like another one of these little layers of things you don't think

386
00:36:24,160 --> 00:36:30,080
 about but are actually a big deal is you can't link all of you know everybody's communication to a single

387
00:36:30,080 --> 00:36:37,600
 identifier yeah yeah um yeah you don't you don't want to make it easier for the bad guys it doesn't even

388
00:36:37,600 --> 00:36:43,040
 matter who the bad guys are right it's like whether it's you know like one one man's terrorist is another

389
00:36:43,040 --> 00:36:48,240
 man's freedom fighter yeah and so whether whether the bad guys are your government your guys are the

390
00:36:48,240 --> 00:36:55,280
 other people people that want to hack you or right like actual well i think i was about to say what is

391
00:36:55,280 --> 00:37:03,040
 the government or actual criminals you know it doesn't really matter wait wait i mean one thing

392
00:37:03,040 --> 00:37:09,120
 like max loves to say uh is like it's all about increasing the cost of attack exactly as much as

393
00:37:09,120 --> 00:37:13,520
 possible yeah and that's that's all we're here to do basically it's just like hey we want to make this

394
00:37:13,520 --> 00:37:16,960
 super easy for anybody that could possibly need it for whatever purpose and we're gonna have to

395
00:37:16,960 --> 00:37:20,960
 accept that yeah some of those purposes might not be things we agree with yeah and it should also be

396
00:37:20,960 --> 00:37:26,240
 clear that nothing is ever 100 secure like it's again only only trade-offs like yeah and so much

397
00:37:26,240 --> 00:37:30,800
 you can look i mean there's nothing you can do to get around the government putting pegasus on your

398
00:37:30,800 --> 00:37:36,720
 phone yeah like if if someone wants your data that bad they're gonna get it yeah and so you know we

399
00:37:36,720 --> 00:37:41,920
 can't protect against all those things yeah yeah all right nice so tell me tell me what's next if

400
00:37:41,920 --> 00:37:46,400
 you if you may on the white mouse front where you at and what's what's on the roadmap and what's coming

401
00:37:46,400 --> 00:37:50,960
 in the next couple of months yeah i started a few weeks ago with this kind of blank slate of okay

402
00:37:50,960 --> 00:37:55,200
 we've been working on this a while we've faced a lot of hard things we've like worked our way

403
00:37:55,200 --> 00:38:00,320
 through a lot of problems but if we really started with a what have we learned what could we do

404
00:38:00,320 --> 00:38:06,400
 slightly differently or what could we change about it what would we do and what i've come out with is

405
00:38:06,400 --> 00:38:12,640
 you know that deterministic state machine kind of wrapped around the mls key agreement yeah um so that's

406
00:38:12,640 --> 00:38:17,200
 kind of the core part of how do we make this much more reliable there's a bunch of little changes

407
00:38:17,200 --> 00:38:22,080
 about you know key packages being replaceable which we've already you know done in marmot um

408
00:38:22,080 --> 00:38:28,960
 this app components thing so that we have much more flexibility in uh you know doing the

409
00:38:28,960 --> 00:38:33,920
 kind of setup of groups in ways that can work across lots of different clients and devices yeah

410
00:38:33,920 --> 00:38:41,040
 i think the other big piece of that work was decoupling nostr as the only transport mechanism

411
00:38:42,160 --> 00:38:48,720
 because if you think about it nostr for us is identity um it's the payload of what goes inside

412
00:38:48,720 --> 00:38:55,040
 the messages so what you actually see in the conversation and in marmot v1 let's call it it

413
00:38:55,040 --> 00:38:59,680
 was also you know very coupled to marmot you know relays being the only transport mechanism

414
00:38:59,680 --> 00:39:05,600
 i see i see and so i wanted to make that plug and play yeah and so identity obviously that's

415
00:39:05,600 --> 00:39:10,640
 pretty core like we're going to keep my you know nostr as the identity system yeah um the payloads being

416
00:39:10,640 --> 00:39:16,560
 nostr it's awesome because it gives us you know an already kind of defined schema of here's all the

417
00:39:16,560 --> 00:39:20,960
 different event types and yeah things that people want to know and you know exactly how to implement

418
00:39:20,960 --> 00:39:26,080
 and show what these things are transport though like who cares yeah it can be anything yeah and you

419
00:39:26,080 --> 00:39:33,280
 know all the jonathan's work on phipps i think is was a big catalyst here awesome um and so like

420
00:39:33,280 --> 00:39:38,240
 that's an easy thing to decouple yeah yeah i was about to bring up phipps and and how deep you dig into it

421
00:39:38,240 --> 00:39:43,760
 i really like it um i think it's really early so i'm just keeping a really close eye on it yeah um

422
00:39:43,760 --> 00:39:51,200
 you know i think it it also isn't like a perfect fit for what we're doing um because it's uh we'll

423
00:39:51,200 --> 00:39:56,800
 probably make your life even worse definitely in the short term we definitely would yeah yeah definitely

424
00:39:56,800 --> 00:40:01,600
 and i mean it's also assuming that you're like connected to the other side right in real time yeah

425
00:40:01,600 --> 00:40:07,520
 and so like it might work um but i guess the main thing for me now is like okay as long as the

426
00:40:07,520 --> 00:40:12,880
 architecture of the thing is set up such that you know the transport mechanism is negotiated like any

427
00:40:12,880 --> 00:40:17,200
 other feature you know you're like hey here's my key package i only support phipps or i only support

428
00:40:17,200 --> 00:40:23,600
 nostril relays or i support this and that and wi-fi and bluetooth direct and a bunch of other things

429
00:40:23,600 --> 00:40:28,320
 then you know you start to be able to compose the system okay on top of all that i think that's a

430
00:40:28,320 --> 00:40:33,360
 very interesting approach because in different situations you might be kind of forced to do that

431
00:40:33,360 --> 00:40:39,600
 like yeah like you know we're living in a time of like you know country-wide internet shutdowns and

432
00:40:39,600 --> 00:40:43,280
 all those kind of things and like having a fallback chain through those it's like hey use bluetooth if

433
00:40:43,280 --> 00:40:49,600
 you can yeah or use relays if you can but if you can't get any relays try bluetooth yeah um so i think

434
00:40:49,600 --> 00:40:53,440
 that stuff is really important and it's been really cool to see a bunch of other apps pop

435
00:40:53,440 --> 00:40:58,400
 up with clients that are interoperable with white noise and yeah other clis and web tools and yeah

436
00:40:58,400 --> 00:41:01,680
 yeah awesome because being able to actually test that like okay this just does work and it goes back

437
00:41:01,680 --> 00:41:05,840
 and forth across these different apps means it's again you're just giving people a bunch of backups

438
00:41:05,840 --> 00:41:10,800
 and a bunch of fallbacks and yeah i think the fact that justin was able to build pika in i don't

439
00:41:10,800 --> 00:41:15,440
 know like a couple days basically right that's a big success story yeah kind of and like the vector

440
00:41:15,440 --> 00:41:19,440
 guys like the the vector team have been like super excited about all this stuff and they've

441
00:41:19,440 --> 00:41:24,000
 built this really cool like you know kind of cypherpunk gaming looking interface awesome yeah

442
00:41:24,000 --> 00:41:27,280
 but like you know they were like they came to the community call last month and demoed doom

443
00:41:27,280 --> 00:41:32,400
 playing in a marmokers and i was like this is dope this is amazing that's kind of like we've made it

444
00:41:32,400 --> 00:41:37,680
 guys we can play doom if it can run doom then we're done like you know that's something yeah that's

445
00:41:37,680 --> 00:41:43,920
 something one of the demos in one of the last chords was uh playing free doom on an end site

446
00:41:43,920 --> 00:41:49,280
 served to be a phips and then it was like okay great we're finished our work here is done it works

447
00:41:49,280 --> 00:41:54,240
 but yeah i mean it's like it's cool to see lots of people kind of getting excited and going

448
00:41:54,240 --> 00:41:59,600
 okay we can we can make messaging things and and like there's also use cases like uh lee from bitcoin

449
00:41:59,600 --> 00:42:04,160
 jungle built this thing called tubester which is sort of a kid's youtube but the parents get to

450
00:42:04,160 --> 00:42:09,840
 decide who can see the kids videos nice and the permission ring around that is actually an mls group but

451
00:42:09,840 --> 00:42:14,720
 it's like not one you would recognize at all yeah but the you know the parents would like add somebody to

452
00:42:14,720 --> 00:42:19,200
 the group ah and then the interface just knows like okay i'm in five groups show all the videos from

453
00:42:19,200 --> 00:42:23,760
 those five groups mixed in on the timeline i so he he used this particular building block to

454
00:42:23,760 --> 00:42:29,040
 exactly have to build a permission system exactly exactly that's awesome so i think there's a bunch

455
00:42:29,040 --> 00:42:34,720
 of like fun use cases you can do like that that are quite different yeah awesome now it's gonna get

456
00:42:34,720 --> 00:42:39,360
 crowded and noisy a little bit how are we doing on time we have plenty we're good yeah all right you just

457
00:42:39,360 --> 00:42:45,600
 wanna just get into the the jungle of the people and maybe let's see let's see grab a coffee somewhere

458
00:42:45,600 --> 00:42:50,960
 yeah let's do it park in the middle down there might be good again though it's very like civilized and

459
00:42:50,960 --> 00:42:56,880
 quiet yeah yeah yeah what what do you say what if we what if we do one more one more ring around the

460
00:42:56,880 --> 00:43:01,280
 rosy and the green sure and then we'll see where we at and then we'll grab a coffee sounds good i think

461
00:43:01,280 --> 00:43:08,240
 that makes sense because i'm i'm when i'm walking in madeira then i have a natural timer because you just die

462
00:43:08,240 --> 00:43:13,760
 of heat stroke and i know precisely when like 90 minutes are over and here i'm completely maladjusted

463
00:43:13,760 --> 00:43:20,880
 like it's bright all the time it's like 19 or 20 degrees and everything's different it's very nice

464
00:43:20,880 --> 00:43:26,400
 i think it's one of the nicest times of the year to to be in oslo it is absolutely um yeah speaking

465
00:43:26,400 --> 00:43:33,760
 of being in oslo um um are we allowed to talk about aos stuff that's on yeah we're allowed to talk

466
00:43:33,760 --> 00:43:38,000
 about fill fill me in on on all those kind of things because we we already you already mentioned

467
00:43:38,000 --> 00:43:44,480
 like apps popping up bluetooth uh using bluetooth as a transportation layer um i mean but chat is

468
00:43:44,480 --> 00:43:52,320
 obviously yes um to stand out the app the app to talk about yep in that regard but um how close are you

469
00:43:52,320 --> 00:43:59,120
 to what kelly is working on and basically how do those things interrelate would be my question or would

470
00:43:59,120 --> 00:44:05,120
 would be something that interests me because we already talked about the ecash cashew use case for

471
00:44:05,120 --> 00:44:11,600
 the event chains right like a very similar problem and basically the you know what happens if the

472
00:44:11,600 --> 00:44:16,560
 internet shut down shut down and you only have bluetooth available and those kind of things right

473
00:44:16,560 --> 00:44:20,960
 so what are your thoughts on all the different projects and where they're at and how they might

474
00:44:20,960 --> 00:44:26,640
 like how how can they play together or what are the learnings from each that helped the others yeah i mean i've

475
00:44:26,640 --> 00:44:33,840
 got uh limited detail on you know the intricacies of bitchat and things but i think the coolest part

476
00:44:33,840 --> 00:44:38,800
 about bitchat is it does kind of take a a very opinionated stance that okay you don't need the

477
00:44:38,800 --> 00:44:46,400
 internet one two like how long these chats last like they're kind of ephemeral in most cases yeah you

478
00:44:46,400 --> 00:44:51,120
 can dm and like but kind of you're not expecting to be able to come back and like find two years worth of

479
00:44:51,120 --> 00:44:56,080
 chats right yeah um which which i think is a feature another bug i i also actually agree with that and

480
00:44:56,080 --> 00:45:00,720
 especially for this sort of use case it's like you care about what's going on on the ground in a

481
00:45:00,720 --> 00:45:05,840
 bluetooth mesh range of you yeah then it doesn't matter what you know you're like disappearing messages

482
00:45:05,840 --> 00:45:12,320
 baked in yeah in a sense yeah yeah yeah so you know i think um i think the really cool thing about

483
00:45:12,320 --> 00:45:18,480
 bitchat is it did sort of prove that like there are these very narrow uh use cases that really matter

484
00:45:18,480 --> 00:45:22,800
 yeah in certain circumstances and only in those circumstances really yeah there's very little

485
00:45:22,800 --> 00:45:26,880
 reason that you and i have to use bitchat on a normal basis yeah other than being at a conference

486
00:45:26,880 --> 00:45:31,360
 and having fun yeah the only reason is like if you're in the conference and the wi-fi is overloaded

487
00:45:31,360 --> 00:45:35,680
 right something like that yeah um i mean another one would be like you're at a music festival and you

488
00:45:35,680 --> 00:45:39,200
 know there's no internet yeah and you like want to bounce across the festival to your friends somewhere

489
00:45:39,200 --> 00:45:44,800
 yeah um but you know like i love the fact that we're exploring all of those things and like kind

490
00:45:44,800 --> 00:45:50,480
 of pushing things out quickly and seeing what people are doing with them like bitchat was jack's thing

491
00:45:50,480 --> 00:45:54,560
 he pushed it out there kelly picked it up into the android app really quickly yeah and pushed that out

492
00:45:54,560 --> 00:46:01,760
 there and then it got started being picked up by you know movements and yeah protests and like kelly shared

493
00:46:01,760 --> 00:46:08,000
 it's like yeah you can see where something's going on just by looking at the geolocated uh downloads

494
00:46:08,000 --> 00:46:13,600
 oh something is happening in madagascar yeah exactly let me check the news yeah um yeah so i think like

495
00:46:13,600 --> 00:46:19,760
 bitchat is a super cool example of that i think you know the aos project in general uh i've been

496
00:46:19,760 --> 00:46:26,080
 like kind of thrilled with like it's um i think we kind of went into it i mean it's a year old

497
00:46:26,080 --> 00:46:32,240
 basically uh last year yeah it's still a baby demoed this thing we built yeah vibed over a week or you

498
00:46:32,240 --> 00:46:38,000
 know in in switzerland and like vibe coding was totally new to everybody at that point like the

499
00:46:38,000 --> 00:46:42,480
 models were kind of crap the tool we built kind of we de-dossed ourselves immediately and it went down

500
00:46:42,480 --> 00:46:48,240
 like you know all the normal things um but it's you know like i think we've grown from that point of

501
00:46:48,240 --> 00:46:53,200
 okay what the hell are we here for to a system of like how do we connect a bunch of builders working

502
00:46:53,200 --> 00:46:58,400
 in the space yeah how do we like help you know what are the shared things that everybody has to

503
00:46:58,400 --> 00:47:04,960
 deal with and like how can we maybe help you know grease the wheels on that stuff um and how can we

504
00:47:04,960 --> 00:47:10,000
 like keep experimenting and like quickly going okay this is dead end like drop that project whatever move

505
00:47:10,000 --> 00:47:17,360
 on or on you know in my case it's like i've got space and time to go really deep on can we actually

506
00:47:17,360 --> 00:47:22,480
 make this work yeah uh without being like okay i've got a really tight clock or you know it's just me

507
00:47:22,480 --> 00:47:28,880
 and i have to like figure it all out myself yeah yeah what what are you most excited about right now

508
00:47:28,880 --> 00:47:37,440
 outside of flight noise because you're more plugged in than most i think it's a fair question to ask you

509
00:47:37,440 --> 00:47:47,280
 yeah i mean i think the most interesting stuff is i mean from a technical point of view it's it's all the ai

510
00:47:47,280 --> 00:47:57,200
 stuff uh and i you know i've written zero lines of code since december like by hand i have read many

511
00:47:57,200 --> 00:48:04,560
 lines of code but increasingly or decreasingly so it's gotten to the point where i barely review lots

512
00:48:04,560 --> 00:48:09,680
 of stuff um now mostly that's because like the deep kind of crypto stuff on white noise is like pretty

513
00:48:09,680 --> 00:48:16,160
 baked already so we're not changing things there but um if you look at the curves it's very clear

514
00:48:16,160 --> 00:48:20,240
 where this is going yeah the models are going to continue getting better uh maybe at a decreasing

515
00:48:20,240 --> 00:48:29,600
 rate but maybe not um the job of software engineers has really kind of you know there used to be the

516
00:48:29,600 --> 00:48:37,360
 spectrum from uh product idea architecture of the technical thing the actual implementation which

517
00:48:37,360 --> 00:48:42,320
 is this like a long band in the middle it was extremely costly and time consuming and then like

518
00:48:42,320 --> 00:48:47,120
 at the other end the actual product hits the hands of users and what are the users doing

519
00:48:47,120 --> 00:48:53,680
 with it and how do you react to that to like go back to the beginning yeah and the feedback loop is

520
00:48:53,680 --> 00:48:58,400
 like so insane right now the middle is gone yeah like the bet the people that are going to be that

521
00:48:58,400 --> 00:49:02,160
 are going to win the hardest in this space are the people that are really good at high level architecture

522
00:49:02,160 --> 00:49:06,560
 yeah because the models still get that wrong often you have to know what you're doing you have to know

523
00:49:06,560 --> 00:49:12,720
 what you're doing the model can do some thinking for you but but by far not all of it and it's like

524
00:49:12,720 --> 00:49:18,960
 the way i always describe it is like they they always you know the bell curve meme yes and they always

525
00:49:18,960 --> 00:49:25,520
 the the the mount mid curve yes has the most gravity like they'll always gravitate you towards the

526
00:49:25,520 --> 00:49:30,080
 middle of the big architecture which everyone should know like the middle of the bell curve is the

527
00:49:30,080 --> 00:49:34,880
 most insufferable person yes you don't want to be there like if you do if you want to do something

528
00:49:34,880 --> 00:49:39,600
 really simple like left side yeah left left side of the bell curve the model all like you you will

529
00:49:39,600 --> 00:49:45,760
 have to fight with the model to do the stupid thing and if you and same on the very right side of the

530
00:49:45,760 --> 00:49:50,080
 bell curve something super intricate yeah you have to fight with the model again it's like no there's

531
00:49:50,080 --> 00:49:56,640
 a reason why i want to do it in this complicated way don't cheat do not mess around yeah exactly yeah

532
00:49:56,640 --> 00:50:02,080
 um so i think that's like but it has like very much collapsed the middle and yeah and i think honestly

533
00:50:02,080 --> 00:50:05,840
 like there's kind of no point for you to read the code anymore it's gotten good enough because

534
00:50:05,840 --> 00:50:10,240
 in the beginning all you're wanting to do is get the thing in the hands of people so that you can then

535
00:50:10,240 --> 00:50:14,960
 start the loop i mean there's people on nostor right now that are building android apps without

536
00:50:14,960 --> 00:50:19,840
 having an android device because they just have agents running yeah and they publish to sap store

537
00:50:19,840 --> 00:50:24,640
 and it's just like whatever the user feedback that comes in on nostor they'll just make changes right

538
00:50:24,640 --> 00:50:28,880
 they don't have an android device themselves they don't have an emulator nothing just like build a little

539
00:50:28,880 --> 00:50:33,360
 game and just like you can download it from sap store there yeah see if it works yeah i mean that

540
00:50:33,360 --> 00:50:38,240
 just shows you how far we've come yeah like that's just insane i agree that's so cool so i guess like

541
00:50:38,240 --> 00:50:42,640
 to to answer your question it's not really the like oh what harnesses and like what's your actual

542
00:50:42,640 --> 00:50:47,680
 workflow it's much more the higher level like okay now my job is just literally thinking about what do i

543
00:50:47,680 --> 00:50:52,320
 want the thing to create and why and like what do i what do i want the experience for the user using

544
00:50:52,320 --> 00:50:57,600
 the thing to feel like and okay then what is a good way to do things what is the same way to good things

545
00:50:57,600 --> 00:51:04,160
 and what is like a yeah you know insane foot gun way of doing things yeah yeah exactly and uh so yeah

546
00:51:04,160 --> 00:51:10,160
 i just you know way too many projects going on like way too many kind of where are you on the

547
00:51:10,800 --> 00:51:18,160
 um ai psychosis spectrum pretty deep pretty deep what's the first thing you do when you wake up

548
00:51:18,160 --> 00:51:23,760
 uh i walk past my office from my bedroom to go downstairs to get the kids up and i always stop

549
00:51:23,760 --> 00:51:29,760
 in and go prompt yeah that's why i'm making the porridge that's why i'm asking yeah i'm like i know

550
00:51:29,760 --> 00:51:34,880
 something is spinning upstairs and now that everything remote controls to your phone just my laptop stays

551
00:51:34,880 --> 00:51:38,400
 open and i yeah i'm happy to go for a walk in the middle of the day and just be like oh yeah keep

552
00:51:38,400 --> 00:51:43,360
 it going oh yeah i'll go for a swim with the kids like yeah no problem yeah oh yeah yeah it's strange

553
00:51:43,360 --> 00:51:47,200
 it's strange how how quickly it changed as well i mean again that's what exponential curves do they

554
00:51:47,200 --> 00:51:51,920
 just slap you in the face yeah and um yeah it's a strange new world it's a strange new world it's been

555
00:51:51,920 --> 00:51:56,560
 challenging to get everybody on the team sort of believing that uh that conviction could be yeah shout

556
00:51:56,560 --> 00:52:04,480
 out again yeah there you go there you go but he he caught the bug as well i've heard right like he

557
00:52:04,480 --> 00:52:11,360
 we everybody guys you guys were able to convince him that it's not um like that there is actually

558
00:52:11,360 --> 00:52:15,840
 something useful there that will make you more powerful and yes yes and and like i see where

559
00:52:15,840 --> 00:52:20,560
 people are coming from that are still like no i must understand it deeply myself and i need to make

560
00:52:20,560 --> 00:52:25,600
 sure that it's using the right patterns i get that but at the same time i'm like but it's obsolete you're

561
00:52:25,600 --> 00:52:30,960
 talking with someone who wrote like three blog posts on how much he hates slop yeah and there is

562
00:52:30,960 --> 00:52:36,960
 definitely software slop and design slop out there there's tons but you know what there's plenty of

563
00:52:36,960 --> 00:52:42,080
 slop made by humans oh sure yeah i mean sure there's tons of human slop that's how we ended up with the

564
00:52:42,080 --> 00:52:45,440
 slop in the first place i think right again back to the middle of the bell curve correct it's like

565
00:52:45,440 --> 00:52:49,600
 that's how these things work most of the stuff that the as we're reading was slop yeah they were learning

566
00:52:49,600 --> 00:52:55,440
 on slop yeah yeah all right all right yeah interesting so so what's your what's your

567
00:52:55,440 --> 00:53:00,320
 current setup in terms of of development if i may ask like how does your development workflow you look

568
00:53:00,320 --> 00:53:06,160
 like so i actually use uh the codex mac desktop app and the claude mac desktop app more than i use the

569
00:53:06,160 --> 00:53:10,080
 terminal anymore because you can just get more information density in there okay like i can see

570
00:53:10,080 --> 00:53:15,680
 loads of sessions down the side yeah rather than like trying to see all these tiny tiled windows and

571
00:53:15,680 --> 00:53:22,880
 multiple tabs across the terminal i just find it easier to view it that way um and i yeah i've just like

572
00:53:22,880 --> 00:53:29,760
 literally max 20 on all the services because it's by far the cheapest yeah um and i probably have

573
00:53:29,760 --> 00:53:36,000
 i don't know seven or eight things going on five or six projects in any one given time yeah uh and it's

574
00:53:36,000 --> 00:53:43,280
 just yeah i feel like that's kind of normal right now that's kind of if you're if you're um like most

575
00:53:43,280 --> 00:53:49,280
 people i talk to that have serious projects that are like high output people that's basically it's always the

576
00:53:49,280 --> 00:53:53,200
 same story and i actually like i said earlier i spend almost no time on trying to like

577
00:53:53,200 --> 00:53:59,440
 tune and tweak my workflows i'm just like nope that's good enough like yeah the output is not

578
00:53:59,440 --> 00:54:05,120
 going to be determined by which skills i have uh you know in the broad strokes of it like maybe i'll get

579
00:54:05,120 --> 00:54:09,040
 a couple percent different out of it but like it really comes down to maybe let's go this way before

580
00:54:09,040 --> 00:54:17,120
 we got shot up there yeah there's like a small army standing up there there's just the the it seems to

581
00:54:17,120 --> 00:54:25,760
 be the guard of the castle of the palace rotating let's not get in trouble we're wrecking tourists uh photos

582
00:54:28,800 --> 00:54:37,840
 do you have any thoughts on kind of the next whatever like six to 12 months in terms of um how to use ai

583
00:54:37,840 --> 00:54:42,320
 more privately how to use it more locally those kind of things that's actually the thing i'm really

584
00:54:42,320 --> 00:54:46,960
 really excited about the whole ai thing i do think we're on a curve now where the local models are going

585
00:54:46,960 --> 00:54:53,200
 to catch up insanely fast yeah i mean the latest high-end macbook pro yeah it's already like better than

586
00:54:53,200 --> 00:55:00,240
 you know an nvidia like giant workstation from a year ago um and so i think we're we're on a trajectory

587
00:55:00,240 --> 00:55:05,120
 now where very soon you're gonna run lots of local models without even knowing it because you're just

588
00:55:05,120 --> 00:55:09,600
 embedded in products yeah uh you're gonna run a really powerful local model on a machine somewhere

589
00:55:09,600 --> 00:55:13,760
 probably your normal laptop or something yeah and hopefully you're going to be able to talk with

590
00:55:13,760 --> 00:55:18,480
 that through you know something like white noise and that's just going to be how you do most things in

591
00:55:18,480 --> 00:55:24,800
 your life like i've got four or five open claws that run on different boxes um they are sys admins and

592
00:55:24,800 --> 00:55:29,840
 little brain things and they run servers for me and yeah they have their own git accounts and github

593
00:55:29,840 --> 00:55:36,160
 accounts and their own you know keys and they can ssh to different stuff and yeah um and so i think

594
00:55:36,160 --> 00:55:42,800
 for developers and builders you know whatever it's amazing like it's the best possible world um i never

595
00:55:42,800 --> 00:55:47,760
 have to think about the implementation details it's just like yeah idea do okay circle back let's you know

596
00:55:47,760 --> 00:55:52,160
 adjust and keep going yeah and i don't think people it's going to get that as well you know my wife is

597
00:55:52,160 --> 00:55:56,560
 now like can you just get the can you just get the claw to like do the thing like here's a bunch

598
00:55:56,560 --> 00:56:00,560
 of tax documents that we need like annotated for the accountant and i'm like okay yeah just like

599
00:56:00,560 --> 00:56:04,400
 send them to me and i'll push it on you know yeah that's a good point that's a good point it goes way

600
00:56:04,400 --> 00:56:08,800
 beyond uh software development way beyond yeah yeah like way beyond like and that's actually the thing

601
00:56:08,800 --> 00:56:13,440
 that's been more helpful on those because it frees you away from all this like you know

602
00:56:13,440 --> 00:56:18,240
 bullshit busy work yeah uh and i live in italy so there's a lot of bullshit yeah yeah sure i mean

603
00:56:18,240 --> 00:56:25,360
 you know i think everywhere in europe there's a lot of yeah forms to fill out yes you you can't escape

604
00:56:25,360 --> 00:56:31,360
 it you can't escape it yeah no it's a brave you it's a brave new world it's it's one of the

605
00:56:31,360 --> 00:56:37,120
 interesting side effects that i experience right now that's why i hate slop so much is that kind of

606
00:56:38,000 --> 00:56:44,400
 online discussions degrade because basically people just use llms to let them write the tweets

607
00:56:44,400 --> 00:56:50,240
 and the articles and everything page you know blog posts you're like and there's a there's a massive

608
00:56:50,240 --> 00:56:55,680
 asymmetry um like there's always an asymmetry in terms of refuting bullshit takes like 100x the

609
00:56:55,680 --> 00:57:02,000
 effort and just spouting bullshit but the llms make it so much worse yeah and so yeah i really appreciate

610
00:57:02,000 --> 00:57:07,360
 kind of the smaller in-person events i also yeah i was about to say like real life stuff i think is

611
00:57:07,360 --> 00:57:12,000
 actually the other piece that i'm quite excited about like the fact that you can just go out and

612
00:57:12,000 --> 00:57:17,280
 you know ping an agent to keep working on the thing it frees you up in terms of not needing to be in

613
00:57:17,280 --> 00:57:21,760
 front of the laptop exactly yeah exactly i think pablo said this a while back like his goal last year was

614
00:57:21,760 --> 00:57:27,680
 you know to spend a vastly you know fewer number of hours in front of the keyboard i mean that's why we are

615
00:57:27,680 --> 00:57:32,160
 outside walking and not sitting in a studio and that's why i built the vibe line for myself exactly

616
00:57:32,160 --> 00:57:38,240
 because once those things started working um i realized okay why do i need to type i'm just gonna

617
00:57:38,240 --> 00:57:42,960
 ramble into a microphone that i have always with me because it's my phone i also never type anymore

618
00:57:42,960 --> 00:57:49,040
 i do everything via voice to my agents let's go yeah let's go single key down and i just start talking

619
00:57:49,040 --> 00:57:54,720
 like a year low a year ago or one and a half years ago or so when i came up with the vibe line

620
00:57:54,720 --> 00:57:59,520
 i felt so alone everyone basically called me retarded for like you know just speaking into

621
00:57:59,520 --> 00:58:03,760
 the phone i thought i was like this is a good idea i can't wait to have a local model so i have to

622
00:58:03,760 --> 00:58:08,240
 send it to open ai my voice every time but it also it depends on what you do like i still i still type

623
00:58:08,240 --> 00:58:13,360
 obviously for for like highly iterative things and so on yep but most of like in the sovereign

624
00:58:13,360 --> 00:58:18,560
 engineering context for example most of the the demo day projects that i did and those kind of things

625
00:58:18,560 --> 00:58:23,920
 it's just about the idea and just kind of get the idea right and the easiest way for me is just to

626
00:58:23,920 --> 00:58:28,240
 talk about it for like five minutes 10 minutes 15 minutes just have a monologue about what i want

627
00:58:28,240 --> 00:58:34,720
 to build yeah and then like the whole that the slop of me talking is going to be fed into the machines

628
00:58:34,720 --> 00:58:40,080
 and something you know approximately okay it's going to come out there's like two modes i've noticed

629
00:58:40,080 --> 00:58:46,080
 there like one is um that which actually works surprisingly well sometimes even in like the

630
00:58:46,080 --> 00:58:51,600
 vagueness because when you speak versus you know type like very different you type at a pace that

631
00:58:51,600 --> 00:58:56,640
 you're thinking can be like quite precise yeah and so you're choosing your words properly and carefully

632
00:58:56,640 --> 00:59:00,640
 and you're it's very structured yeah when you talk often you're like stop in the middle you're like

633
00:59:00,640 --> 00:59:05,200
 just friendly oh what the hell yeah it's not gonna work even yeah i don't i don't know maybe we should

634
00:59:05,200 --> 00:59:08,800
 talk about it yeah but it doesn't but it doesn't matter yeah and it somehow pieces it together and

635
00:59:08,800 --> 00:59:12,160
 it's like okay i think you want to do this let's try it and then we'll come back and like circle back

636
00:59:12,160 --> 00:59:16,960
 and see if it yeah you're like great perfect thank you yeah yeah super yeah no it's and like although

637
00:59:16,960 --> 00:59:21,440
 you know the parakeet models and stuff means that you can do that without having to beam your voice

638
00:59:21,440 --> 00:59:27,280
 everywhere else and you know it works great yeah yeah it's exciting times it's exciting times it's it's i'm

639
00:59:27,280 --> 00:59:33,600
 i'm getting like i'm always of two minds for those kind of things you know i i tend to be very

640
00:59:33,600 --> 00:59:39,680
 optimistic and like also hyper bullish on things with one of my many faults i don't know i don't know

641
00:59:39,680 --> 00:59:51,040
 but but um now it's it's kind of um yeah i'm i'm i'm kind of where should i even start um those tools

642
00:59:51,040 --> 00:59:58,480
 are so powerful that you can also do a lot of damage if you just build things i would say in

643
00:59:58,480 --> 01:00:02,640
 the wrong way and we talked about this a lot in the sovereign engineer context like pre pre vibe

644
01:00:02,640 --> 01:00:08,320
 coding even but but vibe coding happened very early on in uh like with the second one or i don't know

645
01:00:08,320 --> 01:00:14,880
 the slide in sovereign one build it the right way yeah don't go to jail exactly exactly exactly yeah

646
01:00:14,880 --> 01:00:18,960
 build it right and don't go to jail that's the the two kind of cornerstones you know

647
01:00:18,960 --> 01:00:24,720
 yeah if you build it right you won't go to jail yeah yeah hopefully hopefully hopefully yeah but

648
01:00:24,720 --> 01:00:28,800
 but it's very hard it was always very and it still is it still is very hard for me to explain

649
01:00:28,800 --> 01:00:33,120
 what i mean by kind of building right and we talked about this in the past kind of like you know

650
01:00:33,120 --> 01:00:37,440
 building in the spirit of bitcoin all these like washy kind of things you know like nostril to me is

651
01:00:37,440 --> 01:00:42,320
 built in the spirit of bitcoin very clearly you know where it's just like it's like completely

652
01:00:42,320 --> 01:00:47,840
 permissionless cryptographic identities the nodes don't matter too much they can't go online and offline yep no

653
01:00:47,840 --> 01:00:52,240
 centralizing force like those kind of things like it should decentralize over trying to figure out how

654
01:00:52,240 --> 01:00:56,800
 to like coordinate yeah people's ideas are yeah with all the problems that come with it but it's

655
01:00:56,800 --> 01:01:02,960
 basically like if it works then it should decentralize over time and we should build like you you should

656
01:01:02,960 --> 01:01:09,360
 have basically an adversarial mindset and and and think through all these little details and just play

657
01:01:09,360 --> 01:01:14,240
 the clock forward in your head like five or ten years exactly and i think like bit torrent did this really

658
01:01:14,240 --> 01:01:18,960
 well you know like there's a bunch of projects the internet itself did this really well because it was

659
01:01:18,960 --> 01:01:23,920
 built in an adversarial like highly adversarial environment it's like nuclear war yes we need

660
01:01:23,920 --> 01:01:28,560
 something that is a communication system that still works if half the planet is destroyed nuclear war

661
01:01:28,560 --> 01:01:33,440
 yes so that's the mindset where the internet came from yeah and and i think it's the right mindset to

662
01:01:33,440 --> 01:01:39,760
 build to build systems that are that aren't brittle yeah and i think the world right now is very brittle like

663
01:01:39,760 --> 01:01:45,120
 both like from the social social economic political standpoint exactly but also doesn't matter which

664
01:01:45,120 --> 01:01:51,760
 perspective yes brittle everything's brittle and and that's that's in large parts why i'm interested in

665
01:01:51,760 --> 01:01:57,280
 robust and secure systems because they are non-brittle systems right and i think we'll need all the

666
01:01:57,280 --> 01:02:02,960
 non-brittle systems we can get if we want to rejuvenate society at a large scale and and like

667
01:02:02,960 --> 01:02:07,440
 make sure that the civilization doesn't collapse you're right though like on every single aspect

668
01:02:07,440 --> 01:02:13,520
 you can look at farming agriculture like food yeah everything is super brittle and that's also why

669
01:02:13,520 --> 01:02:18,320
 like a lot of bitcoiners turn themselves into regenerative agriculture people and a lot of the

670
01:02:18,320 --> 01:02:23,200
 region farmers turn themselves into bitcoins because it's the same idea it's like oh wow this will

671
01:02:23,200 --> 01:02:27,920
 actually work forever yeah it's like a closed loop system that works forever just like regenerative

672
01:02:27,920 --> 01:02:31,680
 agriculture and so on i'm not even sure where i wanted to go this with this train of thought

673
01:02:31,680 --> 01:02:36,640
 i think i think i do give me a second but now we're here let's break the law yeah

674
01:02:36,640 --> 01:02:42,880
 jaywalking i always find that funny which countries that's actually illegal in and which

675
01:02:42,880 --> 01:02:46,240
 countries don't get let's go we can do it we can do it you're not gonna hate us

676
01:02:46,240 --> 01:02:49,520
 they're like very oh yeah we're in a very polite very civil very polite society

677
01:02:49,520 --> 01:02:55,920
 the italians on the other hand yeah it's exactly the countries where i usually come from and reside in

678
01:02:55,920 --> 01:03:03,120
 like you don't want to jaywalk right taking your life into your hands um no i think like your point

679
01:03:03,120 --> 01:03:09,840
 is i started somewhere and then i lost her is like building it right on nostr means yeah thanks thanks

680
01:03:09,840 --> 01:03:14,720
 what does it mean to build it right what does it mean to build it right unstoppable and and but it's

681
01:03:14,720 --> 01:03:20,960
 not only that it's not only that because um and it relates to my coding because now everyone

682
01:03:22,240 --> 01:03:26,880
 traditionally to build it right or to build it really wrong both of them were very hard

683
01:03:26,880 --> 01:03:32,560
 yes like to fuck something up massively because you needed to be so competent it took such a long

684
01:03:32,560 --> 01:03:37,520
 time you spend a lot of time and energy and money to fuck it up badly yeah that usually doesn't happen

685
01:03:37,520 --> 01:03:42,800
 like someone who's competent will be part of the team or like part of the financing group or whatever

686
01:03:42,800 --> 01:03:46,480
 it'll tell you look actually we shouldn't do it this is a bad idea guys and now

687
01:03:47,520 --> 01:03:53,360
 now with all the tools which is discussed you can have a really bad idea and vibe it into existence

688
01:03:53,360 --> 01:04:00,080
 in like an afternoon yeah and i worry about that on the other side you can also if you have a deep

689
01:04:00,080 --> 01:04:04,560
 understanding and want to build it right like i think again like bitchat is a great example it's just

690
01:04:04,560 --> 01:04:10,320
 like you know nostrils identities bluetooth as transport and like let's go yeah and you can build this out

691
01:04:10,320 --> 01:04:18,720
 very quickly that's incredibly powerful and why i want to wanted to bring this up is because i feel um

692
01:04:18,720 --> 01:04:22,080
 yeah let's not go into the concert maybe

693
01:04:22,080 --> 01:04:28,640
 so funny right construction and concert if you don't wear microphones you'll never notice this

694
01:04:28,640 --> 01:04:32,880
 you start wearing microphones and everything is loud everywhere all the time

695
01:04:34,000 --> 01:04:42,640
 but but what does it mean to build it right is really hard to transfer because you're cursed with

696
01:04:42,640 --> 01:04:47,440
 like you have the curse of knowledge you don't even know what you know and explaining it to newcomers

697
01:04:47,440 --> 01:04:52,960
 like 20 something javascript kids that are that happen also happen to be nostril developers yes you

698
01:04:52,960 --> 01:04:59,200
 know like i made this joke yesterday already no no offense hazard you know yeah no but there is i don't

699
01:04:59,200 --> 01:05:05,680
 even mean hazard hazard is fantastic and really really smart and really like a deep thinker and all those

700
01:05:05,680 --> 01:05:12,720
 kind of things but we have many people that build nostril clients that don't have like 10 15 years of

701
01:05:12,720 --> 01:05:17,840
 expertise are 20 something and don't have a cryptography background or anything like that

702
01:05:17,840 --> 01:05:26,240
 and i worry that we're at the point right now where like if any gray birds are are listening out there

703
01:05:26,240 --> 01:05:32,880
 please come back please educate the younglings yeah please join the crowd so like i've you know

704
01:05:32,880 --> 01:05:38,000
 i think having kids has made me think a lot about this recently of like the education system and like

705
01:05:38,000 --> 01:05:43,680
 what with the speed at which the entire world is changing with ai like what is their schooling even

706
01:05:43,680 --> 01:05:49,120
 like or is it going to be useful at all yeah like what do they actually need in order to like be

707
01:05:49,120 --> 01:05:52,800
 able to function properly and whatever is going to be in front of them yeah and i think a lot of it is

708
01:05:53,840 --> 01:06:01,280
 is that is like how do you think through an idea and like both steel man the idea from the other side

709
01:06:01,280 --> 01:06:06,320
 and like understand the implications of second and third order yeah rather than just being like we can

710
01:06:06,320 --> 01:06:11,760
 do a thing let's do a thing yeah you know without kind of thinking about it more and i think you know

711
01:06:11,760 --> 01:06:16,000
 to my mind that's a huge part of the problem with uh the political system now it's like completely built

712
01:06:16,000 --> 01:06:20,960
 around keep me in the seat and so i'll do the first order thing that makes the person immediately go okay

713
01:06:20,960 --> 01:06:26,480
 yeah and will not think about any other knock-on effects yeah yeah yeah and i think we i think

714
01:06:26,480 --> 01:06:32,480
 we have it on the tech side as well where it's just like you know like it's and and now now we're

715
01:06:32,480 --> 01:06:39,040
 at an interesting point because we kind of we brought social media to the world basically without

716
01:06:39,040 --> 01:06:44,720
 thinking too much about it correct and and social media turned into attention farming slot machines yep

717
01:06:44,720 --> 01:06:50,560
 basically yep and um now we see the side effects on the global scale in society that it wasn't the best

718
01:06:50,560 --> 01:06:54,400
 idea to do that just ah let's just around and see what happens yeah and now we're doing the same with

719
01:06:54,400 --> 01:06:59,840
 ai right but we're also we see then the okay we've seen that effect and now there's like the first

720
01:06:59,840 --> 01:07:05,280
 order thinking of i know we'll just kyc the internet and that'll fix it yeah exactly yeah yeah i mean we

721
01:07:05,280 --> 01:07:11,680
 already talked about the scan your passport and bring a stool sample yeah and everything yeah it's it's

722
01:07:11,680 --> 01:07:19,120
 kind of insane so so again i'll make the appeal to i'm actually very happy talking about fips um that the

723
01:07:19,120 --> 01:07:25,920
 discussions about mesh networks and building networking infrastructure that doesn't allow uh rely on dns

724
01:07:25,920 --> 01:07:31,520
 authorities or even ip addresses um brought him back from retirement basically like he was away from the

725
01:07:31,520 --> 01:07:39,200
 the bitcoin space for like seven years he's like bitcoin og and and he basically was like ah you know like

726
01:07:39,200 --> 01:07:48,720
 all this everything got too too noisy basically and so on and and the very this tech problem brought

727
01:07:48,720 --> 01:07:54,560
 him back and and he did wonders already just by being at the last cohort talking to the 20 something

728
01:07:54,560 --> 01:08:00,320
 people before he even did phips he started talking to me about uh white noise and marmot he gave me

729
01:08:00,320 --> 01:08:06,720
 so much yeah like deep insight into like okay the structure of the way you're doing things is going

730
01:08:06,720 --> 01:08:10,800
 to cause all of these sorts of things and then i'm like you're you're absolutely right yeah i don't

731
01:08:10,800 --> 01:08:17,280
 know yeah yeah he and i quote he thinks white noise is the most important project in the nostal space

732
01:08:17,280 --> 01:08:23,440
 which makes me really worried i'm like this is too much i can't take it ah you can take it i very much

733
01:08:23,440 --> 01:08:29,040
 appreciate it like i really appreciate it yeah yeah jonathan's great and yeah so i think we we we need more

734
01:08:29,040 --> 01:08:34,240
 of that we need the wise old elders that come down from the mountain and i do i mean i think the

735
01:08:34,240 --> 01:08:38,240
 apprentice model really needs to come back because apprenticing wasn't just about learning the skill

736
01:08:38,240 --> 01:08:43,760
 of doing the thing it was the the learning the philosophy of why we do the thing and the wisdom

737
01:08:43,760 --> 01:08:48,320
 that can't be transferred easily i think you can only transfer it with apprenticeship basically like

738
01:08:48,320 --> 01:08:52,560
 a lot of things yeah i think that's totally it's because you can't put it down on paper no like there's

739
01:08:52,560 --> 01:08:59,840
 a lot of stuff that that has to be lived experience basically like like why like because you will if

740
01:08:59,840 --> 01:09:05,440
 you're living in a first world western country um thinking about privacy and getting docs or those

741
01:09:05,440 --> 01:09:10,320
 kind of things that usually doesn't matter that much thinking about financial privacy thinking

742
01:09:10,320 --> 01:09:13,760
 about all those kinds of why should you care you're like i got a visa it's like work yeah exactly

743
01:09:13,760 --> 01:09:21,040
 i don't even carry my visa anymore and you don't have uh you know like i i was about to say you

744
01:09:21,040 --> 01:09:26,240
 don't even have a lot of inflation and so on but like everything has a lot of there's even there's

745
01:09:26,240 --> 01:09:31,920
 even that but but but if you haven't lived through those kind of issues you'll never understand why

746
01:09:31,920 --> 01:09:37,040
 um a private system might be important and why a resilient system might be important and so on

747
01:09:37,040 --> 01:09:42,480
 yeah and so i think yeah i think it's not optional yeah uh yeah it's gonna be interesting to see you

748
01:09:42,480 --> 01:09:49,520
 know the school system and everything is like vastly behind let's end on that very uh whatever that

749
01:09:49,520 --> 01:09:56,000
 is statue oh the statue mother giving birth is that it yeah what's going on here something like that

750
01:09:56,000 --> 01:10:03,040
 okay i like that we're approaching it from the back so we're really not sure yeah not sure

751
01:10:03,040 --> 01:10:09,200
 is there gonna be clothing involved or not we'll see how spread are the legs no it's fine it's fine

752
01:10:09,200 --> 01:10:14,240
 i think yeah i think it's okay no it's okay it's okay my mind was playing tricks on me yeah

753
01:10:14,240 --> 01:10:21,840
 all right yeah i'm i'm i'm all out of steam i think this is uh anything anything we missed anything

754
01:10:21,840 --> 01:10:26,960
 you want to hit on anything that's i don't think so we'll do it again we'll do it again again all

755
01:10:26,960 --> 01:10:30,000
 right hopefully the next time we'll be able to go okay we've either solved it or

756
01:10:30,800 --> 01:10:36,320
 okay what's on the agenda for tomorrow on the aos event i think the aos event sort of is wrapping

757
01:10:36,320 --> 01:10:40,480
 with kind of going over hackathon stuff and just kind of wrap up conversation are we going to talk

758
01:10:40,480 --> 01:10:45,520
 on change apps again or no hope not i want to talk i want to stop talking about that like it's just

759
01:10:45,520 --> 01:10:54,480
 it was actually good like i um for for everyone who who's not aware uh i talked to to alex yesterday

760
01:10:54,480 --> 01:10:59,120
 about on change ups and the the issues that might cause and so on he's going to go ahead and and

761
01:10:59,120 --> 01:11:04,560
 and just ship it anyway he's gonna do everyone he's gonna do everyone but but that's that's in part kind

762
01:11:04,560 --> 01:11:12,160
 of um what i mean when i say like it's so easy now to build stuff that if you don't if you don't

763
01:11:12,160 --> 01:11:16,880
 have a mental model of the full system in mind it will be very hard to think about the second and

764
01:11:16,880 --> 01:11:22,240
 third order effects and i tried to point it out on on ossern in writing and so on but it's also i think

765
01:11:22,240 --> 01:11:30,160
 it's a it's a it's a it's a losing battle people will just will people will like he's a proper

766
01:11:30,160 --> 01:11:36,480
 software guy people that are not proper software people will ship whatever they're gonna ship yep

767
01:11:36,480 --> 01:11:42,000
 and we'll see what happens and i'm i've always been a big believer in rec education so i'm the biggest

768
01:11:42,000 --> 01:11:47,440
 proponent of that's why i stopped orange billing i wrote i i start i tried to orange build people for

769
01:11:47,440 --> 01:11:53,120
 like 10 years and then i i wrote the dear family dear friends thing and i'm like i'm done like if

770
01:11:53,120 --> 01:11:57,760
 you ever need to know something about bitcoin just read this and don't come back to me before you read

771
01:11:57,760 --> 01:12:04,560
 this and i'm done i'm not going to talk about bitcoin yeah nothing yeah because i learned that maybe i used

772
01:12:04,560 --> 01:12:10,960
 to say like two percent are curious enough to learn about it i revised that number to 0.2 percent yeah

773
01:12:10,960 --> 01:12:15,840
 and the rest 99.8 percent are just gonna get wrecked in one way or the other yeah and that's how

774
01:12:15,840 --> 01:12:21,200
 you're slowly or fast yeah and i think yeah there's not much you can do about that i'm in the same boat

775
01:12:21,200 --> 01:12:26,080
 and i think on nostr it's similar i mean we i think we will have certain apps that use nostr

776
01:12:26,080 --> 01:12:31,920
 underneath that will get big but i think in terms of you know like literally rolling your own

777
01:12:31,920 --> 01:12:35,760
 and sac running your own relay all those kind of things it will be people on the margin that are

778
01:12:35,760 --> 01:12:40,800
 that have got the platform like three times in a row just like on the bitcoin side you get

779
01:12:40,800 --> 01:12:45,440
 debanked a couple times and actually i think that is precisely why nostr hasn't grown faster is

780
01:12:45,440 --> 01:12:50,880
 because we've been mostly absolutely fixated on keeping it pure on that side of you must roll your

781
01:12:50,880 --> 01:12:56,160
 own insect you must you know run your own relay you must use it in the precise pure way yeah but

782
01:12:56,160 --> 01:12:59,280
 like look at divine it's getting huge and like people don't even know they have an insect they're

783
01:12:59,280 --> 01:13:04,640
 just like cool i make videos this is great yeah yeah um and so i think at some point you have to

784
01:13:04,640 --> 01:13:10,960
 you can't fight that right like you have to just go okay i can give you as many points of uh places

785
01:13:10,960 --> 01:13:15,680
 you can bump into it and want to learn more for whatever reason makes sense to you in that moment

786
01:13:15,680 --> 01:13:19,840
 but that's all i can do yeah you know yeah i think we went through that on the bitcoin side as well

787
01:13:19,840 --> 01:13:24,720
 i mean there's a reason why coinbase is so big and so on you know it's just like you make it super super easy

788
01:13:24,720 --> 01:13:31,280
 and but the the worry with that of course is like if you abstract more and more things away you end up

789
01:13:31,280 --> 01:13:35,680
 with the banking system exactly and are you even holding bitcoin like you know on the coinbase case

790
01:13:35,680 --> 01:13:40,160
 definitely not and there's of course the degradations like there's the shades to that like there's

791
01:13:40,160 --> 01:13:44,160
 levels to the whole thing and i think on the nostril side it's similar that's why i brought up

792
01:13:44,160 --> 01:13:52,000
 and sank bunker for pablo uh you know an hour ago so uh which i i consider his his original sin basically

793
01:13:52,000 --> 01:13:56,400
 because like he explained it to me and i was like really okay so you want to build coinbase for nostr

794
01:13:56,400 --> 01:14:00,400
 that's what you want to do like that that's that's what you're describing to me basically

795
01:14:00,400 --> 01:14:09,600
 and he was like no no no no no and i'm like oh yeah yeah that's what's gonna happen abandoned and

796
01:14:09,600 --> 01:14:15,760
 yeah well but i again like this stuff will pop up like we'll we'll have we'll have a mix of all

797
01:14:15,760 --> 01:14:22,800
 those things and i think as far as the system allows you to use it in a self-souvern way i'm fine

798
01:14:22,800 --> 01:14:27,440
 with that yeah like as long as there's options and you get to make the choice that's fine yeah that's

799
01:14:27,440 --> 01:14:33,680
 all you can hope for yeah yeah so here's to hope yeah all right that was great yeah that was great

800
01:14:33,680 --> 01:14:39,680
 all right let's see if all that worked if i need to edit something like i'm gonna shoot myself

801
01:14:39,680 --> 01:14:44,000
 but if that's still going all fine great done

