1
00:00:01,148 --> 00:00:05,968
Tim: Welcome to the fifth episode
of the 2024 season of Compose.
2
00:00:06,168 --> 00:00:11,718
Compose is a podcast for software
engineers, primarily those who are
interested in the Rust programming language.
3
00:00:13,278 --> 00:00:16,178
This episode is one for tool builders.
4
00:00:16,508 --> 00:00:22,888
We'll be talking to Hazel Weakly, one of
the people behind the Hackerderm Mastodon
instance, amongst several other things.
5
00:00:22,898 --> 00:00:26,458
For example, she also sits on the board
of the Haskell Software Foundation.
6
00:00:28,770 --> 00:00:35,830
Let's start by asking Hazel what
motivated her to write her blog post
asking for more humanity and technology.
7
00:00:39,076 --> 00:00:51,031
Hazel: I think it was maybe not necessarily a
single critical thing, but a combination of a lot
of things all together coming to a critical point
8
00:00:51,511 --> 00:01:06,471
where we have this AI thing coming in and everyone
being hell bent on misunderstanding it and trying
to misapply it and trying to say, okay, so we
9
00:01:06,481 --> 00:01:13,361
have this AI thing, we can use it to cut costs
and minimize humans and take all these things out.
10
00:01:13,661 --> 00:01:15,951
And I'm just like that's not how this works.
11
00:01:16,701 --> 00:01:27,711
And then on top of that the thing that was even
more egregious to me was the proliferation of just
the trend of everything on the internet being-
12
00:01:28,511 --> 00:01:40,381
We have taken human interaction and paywalled
it, so that you have to wade through a sea
of computer interacting with computer and
13
00:01:40,381 --> 00:01:48,786
computer generated information, computer
generated misinformation in order to find
the small remnants of humanity In the muck.
14
00:01:49,026 --> 00:01:57,966
And I'm like, that is, that's just so far from
the dream of what gets me going in the morning.
15
00:01:58,336 --> 00:02:04,196
And so I felt compelled to sit
down and articulate that dream.
16
00:02:04,646 --> 00:02:08,126
And I tend to articulate
things at different levels.
17
00:02:08,826 --> 00:02:11,336
At the beginning level, there is the information.
18
00:02:11,816 --> 00:02:21,166
And then at the higher level, when you
need to express something more real, Then
you start blending in analogies, you start
19
00:02:21,166 --> 00:02:28,726
blending in metaphors, you start blending
in a bit more artistic language in order
to give people a more accurate picture.
20
00:02:29,216 --> 00:02:32,596
So rather than taking those away,
those actually help humans communicate.
21
00:02:33,126 --> 00:02:38,936
But at some point the communication, you're
starting to communicate at such a deep level that
22
00:02:38,936 --> 00:02:43,566
you can no longer express things in the concrete
and you have to express them in abstract language.
23
00:02:44,016 --> 00:02:46,556
And at that point it starts sounding like poetry.
24
00:02:46,996 --> 00:02:50,966
And so when I wrote that, I
miss the days of humanity.
25
00:02:51,766 --> 00:02:53,286
That was really what I was coming from.
26
00:02:53,286 --> 00:02:58,416
I needed to connect to something so
deeply that I couldn't just write it out.
27
00:02:59,046 --> 00:02:59,656
Tim: That's cool.
28
00:02:59,716 --> 00:03:01,506
I love the story, actually.
29
00:03:01,556 --> 00:03:11,976
May I please ask you to describe an internet
that you probably were like harking back to
or that you remembered when this didn't exist.
30
00:03:11,986 --> 00:03:20,166
So you're describing essentially we had this kind
of enveloping cloud of darkness or like the storm
approaching and now everything is different.
31
00:03:20,176 --> 00:03:22,635
But what was it back in the day?
32
00:03:23,006 --> 00:03:25,866
Back then, was, did that exist?
33
00:03:27,066 --> 00:03:36,556
Hazel: There's this feeling that I've captured
throughout my career and I've been able to
capture this feeling in fleeting moments.
34
00:03:37,126 --> 00:03:50,181
And it's a feeling of When you get people together
in a group and you're working on something larger
than yourself, but you have such a deep mind
35
00:03:50,191 --> 00:04:00,381
meld and mesh connection that you feel larger
than yourself and you can almost, you get this
groupthink, you get this, outside of your body
36
00:04:00,401 --> 00:04:09,201
experience where you feel such deeply connected
to the collective that you start operating as a
whole greater than the sum of their parts and you
37
00:04:09,201 --> 00:04:20,881
get this sensation in like team sports you get
the sensation when you're in kind of the flow you
get the sensation but it's a whole enriching one
38
00:04:21,141 --> 00:04:31,761
when you're with a group of people and so I've
had that various points in my career and when I
talk with people who describe the early stages
39
00:04:31,811 --> 00:04:44,821
of the internet and when they describe the sort
of the discipline of what used to be the point
of academic research and exploration and when
40
00:04:44,821 --> 00:04:54,741
they describe these things they use the same
language they're pointing towards this thing and
we don't really have a word for it but it's when
41
00:04:54,741 --> 00:05:08,776
everyone is so deeply focused on this collective
actualization and self actualization that together
they become, you can't disentangle them anymore.
42
00:05:09,466 --> 00:05:18,686
And when the community and the individual
are so focused on enriching everything around
them and making it whole and bringing that
43
00:05:18,696 --> 00:05:30,731
wholeness to light, You get something beautifully
indescribable and effervescent in the nature of
human connection, and that is the feeling that
44
00:05:30,731 --> 00:05:42,286
I want everyone to have, and that is the feeling
that I feel like late stage capitalism and this
The concept of abstraction over sustainability
45
00:05:42,556 --> 00:05:52,936
has most taken away from us, because it's the
effort of gardening and exploring and co mingling
that creates the greater than the sum of the
46
00:05:52,936 --> 00:05:59,036
parts, but when you explicitly break down and
destroy the whole in order to hyper optimize
47
00:05:59,036 --> 00:06:06,636
the individual parts, you make it impossible
fundamentally for humans to become humanity.
48
00:06:07,836 --> 00:06:11,166
And that is the sole question to me.
49
00:06:11,726 --> 00:06:21,366
The idea that millions of people, the vast
majority of people in our society, are
never going to be able to be given the
50
00:06:21,376 --> 00:06:30,146
space to even understand the concept of self
actualization or community actualization,
much less Be empowered to seek it out.
51
00:06:31,326 --> 00:06:37,716
And so we're going to enter this very,
it feels like a very dark period of
52
00:06:37,716 --> 00:06:46,576
history where innovation becomes a thing
we're just not able to really do anymore.
53
00:06:46,976 --> 00:06:49,066
And everybody's going to
go where's the innovation?
54
00:06:49,066 --> 00:06:50,846
And you can already see it in the arts.
55
00:06:51,316 --> 00:06:55,706
You can already see it in the
lack of original content in the.
56
00:06:56,141 --> 00:06:59,721
Every movie ever released is a
sequel, or a rehash, or a reboot.
57
00:07:00,021 --> 00:07:02,621
Every, we've already seen it in the arts.
58
00:07:03,011 --> 00:07:04,761
We've lost the ability to innovate.
59
00:07:05,141 --> 00:07:08,121
And it's going to trickle all the
way down into everything else.
60
00:07:08,541 --> 00:07:15,651
And we're going to enter an ability where
people just don't know how to connect
with other humans and be human anymore.
61
00:07:16,541 --> 00:07:24,601
And, Computers to me was supposed to
be the thing that connected humanity.
62
00:07:24,651 --> 00:07:30,781
Tim: Essentially technology
is not facilitating humanity.
63
00:07:30,861 --> 00:07:37,181
There's an irony also in that images through let's
say Instagram and then video through I suppose
64
00:07:37,211 --> 00:07:43,521
TikTok and then, everywhere has actually become,
has facilitated something that's Internet-like.
65
00:07:43,781 --> 00:07:53,611
However, it's far different than
let's say the internet or like the
worldwide web in the early 2000s.
66
00:07:53,671 --> 00:08:02,561
it's almost as though using less text
has actually created fewer opportunities
for people to be able to contribute.
67
00:08:04,101 --> 00:08:08,501
And, how does that feel to you as an idea?
68
00:08:09,701 --> 00:08:21,701
Hazel: It's interesting because it's one of the
things that I think about when I think of TikTok
and other platforms like that is it's fascinating
69
00:08:21,701 --> 00:08:30,071
to me how everything goes through the same pattern
of you build this new service, this new platform.
70
00:08:30,531 --> 00:08:32,391
You get people on it and then.
71
00:08:32,871 --> 00:08:34,681
Three things happen in the same order.
72
00:08:35,241 --> 00:08:41,781
The first thing is you get a bunch
of underrepresented minorities on
the platform and they use it and they
73
00:08:41,791 --> 00:08:46,781
start deeply, rapidly innovating at
a level that you cannot keep up with.
74
00:08:47,211 --> 00:08:50,071
And that was the very beginning,
the very, very beginning of TikTok.
75
00:08:50,881 --> 00:08:57,041
And it just got to this wild point very
rapidly where there's a flash point
76
00:08:57,401 --> 00:09:02,391
and TikTok was dominating the creation
of social media and redefining it.
77
00:09:02,811 --> 00:09:10,841
And you had all of these predominantly
black creators really innovating
on the platform and using it.
78
00:09:11,251 --> 00:09:14,801
And it turns out the reason was Stage 2.
79
00:09:16,171 --> 00:09:17,671
It created an algorithm that worked.
80
00:09:18,731 --> 00:09:28,886
And it turns out if you just give people what they
want, And you design an algorithm without bias,
which is the default, then everything is great.
81
00:09:29,546 --> 00:09:35,446
Everything works fine, everything is fantastic,
but you don't necessarily maximize revenue.
82
00:09:35,856 --> 00:09:45,021
And then you enter in the second stage of
instead of having this Emerging property people
being able to discover exactly what they want
83
00:09:45,281 --> 00:09:50,881
and engage with it and innovate and remix on
top of it and create a call response dialogue.
84
00:09:52,611 --> 00:09:56,361
Twitter had this, TikTok
had this, it's been a thing.
85
00:09:56,701 --> 00:10:04,451
You end up with the quandary of how
do we not show people what they want?
86
00:10:04,801 --> 00:10:10,501
And the reason for that is because
if you show someone what they want,
you showed it to them for free.
87
00:10:11,871 --> 00:10:18,111
If you have the content creator pay to show
the person what they want, then what you're
88
00:10:18,161 --> 00:10:24,261
doing is the content creator and the person,
they don't have that relationship anymore.
89
00:10:24,441 --> 00:10:28,141
You want to monetize that relationship,
but they already found each other.
90
00:10:28,531 --> 00:10:32,861
So you end up having to have the situation
where you need to convince a bunch of
91
00:10:32,861 --> 00:10:38,321
people to pay to show their stuff to
people who are already interested in it.
92
00:10:39,681 --> 00:10:42,751
And they know they're interested in it,
because that's literally their follow base.
93
00:10:43,831 --> 00:10:51,361
And if you don't, then you end up shrinking the
follow base, and then you pay to go outside of
the follow base to people who are not interested.
94
00:10:52,261 --> 00:10:56,371
So you're, by definition,
paying to ask that don't work.
95
00:10:56,601 --> 00:11:02,311
so that people can see that, and then the feed
becomes filled with things you didn't want to see.
96
00:11:02,641 --> 00:11:08,851
Because everything you didn't want to see
was a monetary transaction, and the only way
to make the platform monetarily sustainable
97
00:11:09,161 --> 00:11:16,721
is to create this adversarial relationship
between people, which fundamentally
destroys how call and response works.
98
00:11:17,911 --> 00:11:25,091
And then you can't get this form dialogue,
because it's the Town Square form style dialogue
99
00:11:25,091 --> 00:11:32,171
of call and response that lets human engagement
on the internet scale past a certain point.
100
00:11:32,621 --> 00:11:41,321
That was the magic of Twitter where you
have this town form thing of people being
able to dialogue with each other at scale.
101
00:11:41,721 --> 00:11:49,511
And then TikTok has this where you have the
correspondence thing of being able to stitch
things together and create dialogue at scale.
102
00:11:49,951 --> 00:11:54,741
And then you broke that by monetizing
the endpoints and severing all the
103
00:11:54,741 --> 00:11:59,485
connections to make the human networks
work so that you can monetize it.
104
00:11:59,736 --> 00:12:00,236
Sell it.
105
00:12:00,776 --> 00:12:02,936
Tim: Yeah and, what do you
think people are selling?
106
00:12:02,936 --> 00:12:05,246
Because here's another sort of assumption.
107
00:12:05,246 --> 00:12:06,306
I'm so curious on your thoughts.
108
00:12:06,336 --> 00:12:19,156
Which was, the typical way to monetize, or let's
say sell engagement, which is the worst term
to use for clickbait is advertising, right?
109
00:12:19,206 --> 00:12:22,286
I'm from New Zealand and there's
plenty of advertising here.
110
00:12:22,316 --> 00:12:27,646
I grew up, like there are billboards
everywhere, but when I go to the States
for a visit, like I'm just inundated.
111
00:12:27,696 --> 00:12:29,976
I'm just totally saturated.
112
00:12:29,976 --> 00:12:37,656
It's like very strange cultural shock
where advertising is everywhere.
113
00:12:37,706 --> 00:12:38,395
I just find it very strange.
114
00:12:38,396 --> 00:12:43,605
And I suppose that's the natural
inclination of these systems.
115
00:12:43,625 --> 00:12:45,185
It's let's throw an ad in there.
116
00:12:45,685 --> 00:12:53,615
Is that is that what you're saying or right.
117
00:12:53,680 --> 00:13:06,450
Hazel: runs on because you have this interesting
thing of you have the power law distribution
of, 1 percent of creators create like 90
118
00:13:06,450 --> 00:13:10,980
percent of the content, 10%, like you have
this very power law distribution of creation.
119
00:13:11,540 --> 00:13:20,430
We also have a power law distribution of
consumption and people can't pay for their
own consumption, which is this really.
120
00:13:20,880 --> 00:13:21,670
Weird thing.
121
00:13:21,900 --> 00:13:27,950
And then so to get around the
paywall issue, you tier the pay.
122
00:13:28,210 --> 00:13:33,450
But the way you tier the pay is you need to
create a parallel distribution of payment.
123
00:13:34,360 --> 00:13:41,760
So you need to figure out how to separate
very high value users from very low value
users and make low value users cheap.
124
00:13:42,935 --> 00:13:47,575
And the best way to do that is to pay
via usage, but you're not going to have
125
00:13:47,575 --> 00:13:53,155
someone pay like a tenth of a penny
or something per view on a on a video.
126
00:13:53,155 --> 00:14:00,845
That, that doesn't work, but you essentially end
up doing that exactly by paying via advertisement.
127
00:14:01,680 --> 00:14:06,740
Because then that person purchases something
and you end up being a transaction proxy.
128
00:14:08,435 --> 00:14:09,685
Tim: Yeah, you absolutely do.
129
00:14:09,845 --> 00:14:14,145
The because that 20 seconds
or what have you of time.
130
00:14:15,055 --> 00:14:17,695
is worth something to you and the advertiser.
131
00:14:17,705 --> 00:14:21,235
It just doesn't happen to be a cash
transaction that you were involved in.
132
00:14:21,675 --> 00:14:23,575
It just is yeah, people are buying.
133
00:14:23,585 --> 00:14:25,905
Yeah, no, it's, that's an interesting idea.
134
00:14:27,630 --> 00:14:37,090
Hazel: And then so companies like marketplace
companies eBay, Etsy are good examples, but
marketplace companies were like, this is great.
135
00:14:37,100 --> 00:14:38,700
We'll just sit in the middle and we'll do this.
136
00:14:39,260 --> 00:14:52,260
But it turns out the amount of money required
to generate a profit Run the whole service,
operate it, and do that is a ridiculous
137
00:14:52,260 --> 00:14:56,690
amount of money because they do so very
inefficiently and they have none of the
138
00:14:56,710 --> 00:15:02,580
pressures to make An efficient exchange of
value when you take yourself on the equation.
139
00:15:03,930 --> 00:15:10,650
the whole capitalist thing ends up making
it to where you want to insert yourself in
the middle and add more points in the middle
140
00:15:10,840 --> 00:15:15,890
and then blow that up so it becomes very
inefficient and very, you can get that gap.
141
00:15:16,570 --> 00:15:24,260
And then you end up wanting to lock people out so
that they can't discover someone else via other
means, and so you capture them on the platform.
142
00:15:24,820 --> 00:15:33,850
And it's a very user hostile thing,
but it ends up dehumanizing the entire
platform and generating revenue.
143
00:15:34,890 --> 00:15:40,390
We don't need to generate that much
revenue if you don't have all these
weird perverse incentives in place.
144
00:15:41,360 --> 00:15:48,630
But it ends up making it to the point where the
internet can't run with all that type of model.
145
00:15:48,960 --> 00:15:52,660
We don't really know what it looks
like to have the internet not do that.
146
00:15:52,990 --> 00:15:53,260
So
147
00:15:53,835 --> 00:16:01,625
Tim: But may I ask as someone who spends
a lot of time on the Fediverse, how much
148
00:16:01,625 --> 00:16:09,870
does it cost to run Like a Fediverse server
with, let's say, tens of thousands of users.
149
00:16:11,070 --> 00:16:12,300
Hazel: that one's interesting.
150
00:16:12,350 --> 00:16:16,810
I helped build Hackaderm, which is one of
the largest of Maslow's instances out there.
151
00:16:17,340 --> 00:16:19,350
So that goes down to a couple different parts.
152
00:16:19,990 --> 00:16:24,380
The first one is Mastodon specifically
is horribly inefficient to run.
153
00:16:25,390 --> 00:16:26,940
It's a Ruby on Rails app.
154
00:16:27,170 --> 00:16:30,720
It's but the thing is the Ruby on
Rails part is not actually that hard.
155
00:16:31,520 --> 00:16:35,570
The hard part is federated media.
156
00:16:36,670 --> 00:16:46,300
That is the compute intensive thing that
destroys the whole value proposition
because that goes into content validation.
157
00:16:47,750 --> 00:16:55,720
And that's where the whole decentralizing
of the Fediverse falls apart because content
validation means that if someone puts an
158
00:16:55,730 --> 00:17:01,400
image on the internet, how do you know that
it's, A, an image and not something else?
159
00:17:01,760 --> 00:17:07,770
How do you know that, B, it is a safe
image to put on your computer or a
safe document to put on your computer?
160
00:17:08,010 --> 00:17:11,030
And, 3, how do you know that the image is legal?
161
00:17:11,595 --> 00:17:21,635
in the country of upload, in the country of
media storage, and in the country of download,
because they can all three be different things.
162
00:17:22,235 --> 00:17:29,665
And some countries have laws based on
whether or not something gets routed through
any quote internet tubes in that country.
163
00:17:30,365 --> 00:17:40,855
So for example, any mastodon server,
more than about 5, 000 people needs
to start worrying seriously about CCM.
164
00:17:41,275 --> 00:17:44,955
or child explicit horrible things on the internet.
165
00:17:45,495 --> 00:17:46,175
And
166
00:17:46,545 --> 00:17:52,905
the legal ramifications of that mean
that you have to have a legal protection
entity and you can't avoid that.
167
00:17:53,485 --> 00:17:58,305
But it also means that because of that and
viruses and other things like that, you
have to re include everything and you have
168
00:17:58,315 --> 00:18:04,675
to download it and then use image magic
to convert the image and re convert it.
169
00:18:04,835 --> 00:18:13,045
So every time you see an image on the
fediverse, it has been downloaded by all 5200,
000 different fediverse servers, and then
170
00:18:13,145 --> 00:18:21,215
every single one re encoded the image from
scratch to verify that it's a real image, and
not a virus, and then they re uploaded it.
171
00:18:21,905 --> 00:18:23,795
Tim: And they need to do that because they
172
00:18:23,805 --> 00:18:27,375
Hazel: breaks every single child
sam CSAM protection technique.
173
00:18:28,235 --> 00:18:31,415
Tim: yeah, because you can't
trust anything from anywhere.
174
00:18:31,415 --> 00:18:35,785
So you need to, the only thing you
can really trust is your own computer,
because it's literally the Fediverse.
175
00:18:36,285 --> 00:18:38,935
And the.
176
00:18:39,685 --> 00:18:44,565
So the inefficiency there, it sounds like
the money that we quite need in order to run,
177
00:18:44,585 --> 00:18:52,325
let's say, an active server comes from the
a, it's not really, okay, there's two parts.
178
00:18:52,365 --> 00:19:00,095
One is you need to do a lot of compute heavy
work because let's say every video or every
image, all multimedia needs to essentially meet
179
00:19:00,095 --> 00:19:07,645
some threshold of not being a virus, hopefully
being legal for jurisdictions that you probably
haven't heard of or don't know their laws.
180
00:19:07,795 --> 00:19:13,445
And then and then also we have to we
are, we'd prefer not to exp distribute.
181
00:19:13,785 --> 00:19:19,125
Obscene material, let's say because we could be
criminally liable for distribution and storage
182
00:19:19,125 --> 00:19:23,475
and so forth, as well as the fact that there
are pretty significant ethical things going on.
183
00:19:23,865 --> 00:19:33,035
So there is a com It sounds like there
is a combination of both technical
complexity or, uh, like inefficiencies.
184
00:19:34,060 --> 00:19:45,430
that way, or as well as like human time
or like essentially it takes a lot of work
that it gets duplicated for every server.
185
00:19:46,230 --> 00:19:46,670
Hazel: Yeah.
186
00:19:46,950 --> 00:19:57,950
Plus you want probably about one human
moderator per to two thousand users on the
application and that scales semi exponentially.
187
00:19:58,920 --> 00:20:00,120
It scales non linearly.
188
00:20:00,435 --> 00:20:08,025
Tim: Because as you become a more, sorry to
interrupt, but so as you become a more popular
server it's more likely that the creeps of
189
00:20:08,025 --> 00:20:12,685
the world are going to find their way to you
and you're actually quite a good target now.
190
00:20:13,420 --> 00:20:14,790
for distribution.
191
00:20:15,060 --> 00:20:18,910
Is that the reason why this
non linear scaling occurs?
192
00:20:20,110 --> 00:20:25,900
Hazel: It's that reason, but it's also because
communication over a network scales exponentially.
193
00:20:26,290 --> 00:20:31,620
And there's a lot of network and graph
theory things on that, but it turns out
human communication works the exact same way.
194
00:20:32,150 --> 00:20:35,710
The more users you have on a system,
the more they're talking to each other.
195
00:20:36,075 --> 00:20:39,165
In the morning you're going to
run into moderation problems.
196
00:20:40,135 --> 00:20:47,915
And most moderation problems don't
involve rule violations, which is a
thing that people don't anticipate.
197
00:20:48,525 --> 00:20:56,365
But if you have, for example, real real
examples, slightly modified, you might
have two users talking to each other.
198
00:20:57,245 --> 00:21:04,135
One is pro this will do that is
very controversial right now.
199
00:21:04,465 --> 00:21:06,035
One is on the other side.
200
00:21:06,630 --> 00:21:14,100
And the server rules say, essentially, no hate
speech, no pro genocide, no reasonable things.
201
00:21:14,430 --> 00:21:21,320
And they're talking about the topic,
but they're not breaking any rules,
but they need to tone it down.
202
00:21:21,760 --> 00:21:26,320
And so someone might say, Hey, this
is getting very emotionally charged.
203
00:21:26,760 --> 00:21:30,090
Someone might need to step in,
but no rules have been broken yet.
204
00:21:30,340 --> 00:21:31,160
How do you step in?
205
00:21:31,720 --> 00:21:38,110
Or when you have a rule set and the
rules that said, no hate speech.
206
00:21:39,260 --> 00:21:47,770
But to an American, the definition of hate
speech is actually very narrow compared
to pretty much everybody in Europe.
207
00:21:48,400 --> 00:21:52,720
So like an American we might say, oh yes,
that's just a Republican being a Republican.
208
00:21:52,970 --> 00:21:54,720
Or that's just this, political party.
209
00:21:55,520 --> 00:21:56,480
They're just all like that.
210
00:21:56,780 --> 00:22:01,610
That everybody else in the world is just horrified
at the things coming out of their mouths.
211
00:22:01,610 --> 00:22:01,960
And
212
00:22:02,490 --> 00:22:16,705
Tim: And it, it must be difficult when you have
people who, so- There are people in where I'm from
that talk about like first amendment rights, for
213
00:22:16,705 --> 00:22:25,635
example, when it's not even our constitution like
we and so you, so there's also and yeah, I think,
214
00:22:25,665 --> 00:22:30,655
so the definition of what hate speech is and the
fact that different countries do it differently.
215
00:22:31,165 --> 00:22:35,875
Free speech was originally a political
protection against tyranny of the state, but
216
00:22:35,875 --> 00:22:42,719
it's now interpreted in, as a much broader
term than I think was probably originally.
217
00:22:43,239 --> 00:22:45,539
Anyway, I'm probably going
to start getting jumped on.
218
00:22:45,689 --> 00:22:55,499
It's interesting how we use the term moderator
because if we were hosting a debate Let's
say like a town hall meeting and you had a
219
00:22:55,499 --> 00:23:03,159
moderator and there were a couple of people
representing views or you might have a few
local politicians like like in the literal
220
00:23:03,159 --> 00:23:12,059
town hall, let's say, and someone wants to
build like a new sewer and that's going to mean
that we're going to have to close the road.
221
00:23:12,059 --> 00:23:13,439
So when do we close the road?
222
00:23:13,689 --> 00:23:18,859
Do we pay more money and only do the roadworks at
night or do we essentially close the whole thing?
223
00:23:19,169 --> 00:23:20,389
And so we have some meeting.
224
00:23:20,609 --> 00:23:21,589
It gets heated.
225
00:23:21,889 --> 00:23:31,909
The idea of the moderator is to moderate
that discussion and actually it's very
acceptable to say, okay, this is difficult.
226
00:23:31,939 --> 00:23:41,796
We're going to either shift the discussion
entirely to something else, or we are going
to let's just breathe a little bit and that's
227
00:23:41,796 --> 00:23:53,546
the point of having a moderator but online
it's this very it's a different idea that a
moderator for most things I'd say online is
228
00:23:53,546 --> 00:24:03,786
that you are a sort of a judge, have they broken
some sort of standard and if so we then enforce
some sort of sanction which is typically like
229
00:24:03,816 --> 00:24:08,106
deleting posts or maybe even like kicking or
banning or having some sort of suspension.
230
00:24:08,506 --> 00:24:12,246
That's a different kind of
relationship with the participants.
231
00:24:14,426 --> 00:24:18,691
Do you think that technical
moderation should be like cExplicit?
232
00:24:18,711 --> 00:24:27,311
The risk of having kind of a a meta
discussion about how moderation is happening
in the server, which is happening while
233
00:24:27,311 --> 00:24:35,741
this other heated debate is occurring,
how do moderators in the Fediverse work?
234
00:24:35,801 --> 00:24:40,321
Do they just delete things or do they
have like private messages inside?
235
00:24:40,441 --> 00:24:49,781
I guess it's Macedon specific, but how
would that, how would the moderation group
go about the process of deciding this
236
00:24:49,781 --> 00:24:53,221
is somewhere where we should intervene
and how does that intervention happen?
237
00:24:54,421 --> 00:24:58,401
Hazel: And so the moderation
thing is really interesting.
238
00:24:58,921 --> 00:25:06,911
So I think a great example of what's difficult
with this is to put the punchline in the fun.
239
00:25:07,431 --> 00:25:14,981
I think the biggest issue with moderation
is actually not necessarily about how do
we secure them, but how do we scale it?
240
00:25:16,161 --> 00:25:19,251
So as an example we had a
user report on Hackaderm.
241
00:25:19,251 --> 00:25:19,326
Okay.
242
00:25:20,026 --> 00:25:27,746
And the user report was from someone who
asked me personally to like, figure out if
they should submit an actual report for this.
243
00:25:28,506 --> 00:25:34,046
And the reason was, the person was fine.
244
00:25:34,466 --> 00:25:37,271
They weren't, doing anything wrong.
245
00:25:38,601 --> 00:25:48,031
However, the language that they chose to use
for certain things was, via Google Translate
or via any translation mechanism, innocuous.
246
00:25:49,041 --> 00:25:57,281
But culturally speaking, if you
live in Berlin, only people who are
Nazi sympathizers use that word.
247
00:25:58,431 --> 00:26:04,841
It means a very innocuous meaning, but
it, the double cultural connotation, is of
248
00:26:04,841 --> 00:26:12,021
essentially a Nazi sympathizer, or it's very
heavily coded towards a genocidal context.
249
00:26:13,331 --> 00:26:14,281
But the word is fine.
250
00:26:15,911 --> 00:26:17,691
You're not saying a final solution.
251
00:26:17,701 --> 00:26:22,996
You're not saying any ridiculous
actual Nazi symbolism, but it's really
252
00:26:23,036 --> 00:26:23,306
Tim: It's
253
00:26:23,326 --> 00:26:24,986
Hazel: As in, it slips right
254
00:26:24,986 --> 00:26:25,196
by the
255
00:26:25,356 --> 00:26:25,756
Tim: don't know if this
256
00:26:25,946 --> 00:26:35,216
Hazel: unless you are not even a German speaker,
unless you're a native person who lives in
Berlin or knows enough about the Berlin subtype.
257
00:26:36,386 --> 00:26:37,026
Tim: yeah,
258
00:26:37,026 --> 00:26:42,276
Hazel: can't moderate this effectively,
and so you create an unsafe environment
for any Germans who are reading this.
259
00:26:43,406 --> 00:26:45,076
And something should be acted on.
260
00:26:45,986 --> 00:26:53,576
There's a bigger question here, because this is
a it's a federated setup, so it's Decentralized.
261
00:26:53,986 --> 00:27:05,256
How do I take the cultural context of one
person, attach a public notion of attestation
of on behalf of the server, here's the context
262
00:27:05,366 --> 00:27:14,836
we've discovered about this decision, and
we can put that context with the decision
and sort of scale out a web of trust so that
263
00:27:14,836 --> 00:27:25,161
smaller servers who don't have a 30 person
moderation team can actually pick up this type
of thing and make their own decisions with it.
264
00:27:26,461 --> 00:27:33,541
So it's similar to the content of how
do you scale trust of content so that
you don't have to re upload everything.
265
00:27:33,811 --> 00:27:35,681
You don't have to re encode every image.
266
00:27:36,021 --> 00:27:44,141
How do you take human interaction and
collaboration and learn from it collectively
and then scale that learning so that
267
00:27:45,026 --> 00:27:52,356
Putting, the definition of moderator aside,
how do we take human interaction and human
collaboration, figure out how to make it more
268
00:27:52,356 --> 00:28:02,516
productive and healthier, and then scale that
learning out beyond just that one room, or
out beyond just that one cultural context.
269
00:28:03,406 --> 00:28:04,316
How do you do that?
270
00:28:05,166 --> 00:28:14,016
And the answer traditionally has been to
centralize everything, automate it, and then
use an algorithm to filter out most of the
271
00:28:14,016 --> 00:28:20,036
nonsense, Segregate people in different corners
and then pretend the problem doesn't exist.
272
00:28:20,366 --> 00:28:25,196
And you see this in all of the big media
platforms, but if you wanna actually create
273
00:28:25,196 --> 00:28:31,326
something that's unique and beautiful,
pollination is a central facet to that.
274
00:28:32,296 --> 00:28:40,536
And cross pollination is uniquely difficult
in a de decentralized context, but that is
exactly how humans work naturally anyway.
275
00:28:41,546 --> 00:28:44,756
So then if you wanna build a wholesome internet.
276
00:28:45,536 --> 00:28:56,026
You have to figure out, not even moderation,
you have to figure out how do we scale
learning about how humans work together and
277
00:28:56,026 --> 00:29:00,936
what types of decisions we need to make in
order to have the outcome that you want.
278
00:29:02,136 --> 00:29:13,676
Tim: Is it possible to create a wholesome
programming language or like tools that facilitate
building like wholesome or beautiful or let's
279
00:29:13,806 --> 00:29:21,646
use whichever positive adjective they would like
but essentially these technological systems that
we're creating like the distributed internet and
280
00:29:22,156 --> 00:29:34,076
like they're not centralized social media like
we could create genuine social media not just
like, how, essentially, how do developer tools or
281
00:29:34,096 --> 00:29:43,246
developer tooling can that essentially be biased
towards outcomes for the downstream projects?
282
00:29:43,296 --> 00:29:45,616
I don't know if that, is that a question?
283
00:29:45,636 --> 00:29:47,176
I'm, I think maybe there is.
284
00:29:47,481 --> 00:29:48,691
Hazel: Does that make sense?
285
00:29:48,691 --> 00:29:49,991
And that's actually one of my favorite
286
00:29:50,026 --> 00:29:50,366
Tim: Okay.
287
00:29:51,891 --> 00:29:56,921
Hazel: When we, and this is something
I've been thinking about since forever.
288
00:29:57,471 --> 00:30:05,221
Can we make a wholesome language, a wholesome,
whatever what makes wholesome verbs work,
289
00:30:05,451 --> 00:30:12,101
and how do you apply that to work that feels
artificial or feels Concrete and mathematical.
290
00:30:12,741 --> 00:30:13,921
It's how I interpret that.
291
00:30:14,921 --> 00:30:20,971
And, so I think you can't
necessarily create a wholesome thing.
292
00:30:21,641 --> 00:30:28,271
What you can do is if you take the
wholeness and you treat it as an
emergent property of the system.
293
00:30:29,221 --> 00:30:35,371
You do something with the system, you interact
with it, and you see what comes out of that.
294
00:30:36,001 --> 00:30:39,121
And if you like the result,
you're on the right track.
295
00:30:39,936 --> 00:30:44,156
And so it brings to mind two
different writers for me.
296
00:30:44,616 --> 00:30:49,276
One is Adrienne Marie Brown, and the
other one is Christopher Alexander.
297
00:30:49,826 --> 00:30:56,066
Adrienne Marie Brown has this book called
Emerging Strategy, where she's thinking bottom up.
298
00:30:56,756 --> 00:31:06,976
How do you build communities of people
where the emergent behavior of that
community is this wholesome community that
299
00:31:07,116 --> 00:31:11,396
works well together and gets the results
that they want as their way of working.
300
00:31:12,286 --> 00:31:18,626
And then Christopher Alexander,
his work of say The Nature of Order
and things like that was about.
301
00:31:19,091 --> 00:31:29,661
How do you build processes and interactions,
and structures, and ecosystems and
environments, where existing in that
302
00:31:29,661 --> 00:31:36,461
environment and building that environment
creates this vibrancy and wholeness in the air.
303
00:31:37,051 --> 00:31:42,761
So it's like this top down approach of, can
you create an environment that's wholesome,
in which everyone in it is wholesome?
304
00:31:43,391 --> 00:31:48,181
feels wholeness and can create
wholeness and can grow that wholeness.
305
00:31:48,471 --> 00:31:55,721
Versus the bottom up of, can you
create a way of working with humans
that builds this wholeness out of it?
306
00:31:56,251 --> 00:31:58,881
And I think you need both
approaches simultaneously.
307
00:31:59,481 --> 00:32:10,741
What it brings to mind if you think of programming
as like a tool, or if you think of programming
as a process, or if you think of programming as a
308
00:32:11,241 --> 00:32:24,231
System of expiration, or one of my favorite ways
is, I like to think of programming as the ability
to articulate A conceptualization of a thought
309
00:32:25,101 --> 00:32:40,071
and then render that thought itself as a artifact
you can touch so that you're weaving together the
human thought and understanding of an idea into
310
00:32:40,201 --> 00:32:49,551
what we call like this rendered artifacts that you
cannot see play with it's not physical necessarily
but you can look at it and go this describes my
311
00:32:49,551 --> 00:32:54,281
thought or this describes my understanding of
the problem this describes something like that,
312
00:32:54,771 --> 00:32:58,851
and depending on how you think about it, we
can use kind of one of those three approaches.
313
00:33:00,001 --> 00:33:10,261
So if I think about programming language
theory and design, Rust has a lot of those
kind of popularities and properties that
314
00:33:10,261 --> 00:33:19,106
result in Because Rust has a cultural
approach to, you should make things easy, you
315
00:33:19,106 --> 00:33:22,996
should make it easy to do the right thing,
and the easy thing to be the same thing.
316
00:33:23,386 --> 00:33:31,506
And you have this, fearless concurrency, fearless,
why choose why, Suffer, a drawback of a choice.
317
00:33:31,846 --> 00:33:32,586
You should get all three.
318
00:33:32,586 --> 00:33:36,036
You should be greedy in your pursuit of enjoyment.
319
00:33:36,566 --> 00:33:42,796
And this idea that you can be greedy in the
pursuit of enjoyment and in the pursuit of
320
00:33:42,796 --> 00:33:52,096
wholeness and you shouldn't have to suffer
any downsides is this absolutely hubris idea.
321
00:33:52,476 --> 00:33:54,206
And it's so cheeky.
322
00:33:55,011 --> 00:33:56,911
Because it's completely impossible.
323
00:33:57,741 --> 00:33:59,911
You can't have no downsides.
324
00:34:00,111 --> 00:34:01,411
You can't have your cake and eat it too.
325
00:34:01,451 --> 00:34:02,341
And Russ is you know what?
326
00:34:02,641 --> 00:34:07,451
I want my cake, I want to eat it too, and I
want the cake to work the first time I make it.
327
00:34:07,991 --> 00:34:09,001
And then, and they get there.
328
00:34:09,431 --> 00:34:14,281
But it's the human sort of chivalrous to go on.
329
00:34:14,666 --> 00:34:20,066
I want to build something that's
beautiful, and I don't care if the
laws of physics say that I can't do it.
330
00:34:20,886 --> 00:34:21,966
That doesn't stop me from
331
00:34:21,966 --> 00:34:22,436
doing it.
332
00:34:23,091 --> 00:34:24,801
Tim: Look, Ruz does have.
333
00:34:25,756 --> 00:34:29,146
Things, which I think make it difficult.
334
00:34:29,146 --> 00:34:36,246
I think that it demands a lot of big, it demand,
it demands a lot from beginners in the sense of,
335
00:34:36,246 --> 00:34:44,491
it's just essentially it requires you to think
about programs slightly differently and apply.
336
00:34:44,991 --> 00:34:48,101
A different mental model to developing software.
337
00:34:48,641 --> 00:34:56,101
And part of that process is
that the compiler is stricter.
338
00:34:56,191 --> 00:34:59,321
It allows fewer programs through the door.
339
00:34:59,711 --> 00:35:01,381
It like, is a bit of a bouncer.
340
00:35:01,631 --> 00:35:02,381
And you're,
341
00:35:03,581 --> 00:35:05,831
You've got this mental idea
about yourself as a compiler.
342
00:35:06,611 --> 00:35:08,111
competent programmer.
343
00:35:08,421 --> 00:35:15,531
If the bouncer isn't letting you into
the club of happy programs, suddenly
you feel like you're being attacked.
344
00:35:15,541 --> 00:35:21,191
And I think that's one of the things
that is difficult for people when
they try to learn the language.
345
00:35:21,221 --> 00:35:27,321
But yeah I agree that maybe Rust, you've,
Does allow you to take from the whole buffet.
346
00:35:27,351 --> 00:35:30,711
Like I, we were stretching of
metaphors and analogies, but Right.
347
00:35:30,981 --> 00:35:31,131
Like
348
00:35:31,181 --> 00:35:31,341
Hazel: yeah.
349
00:35:31,871 --> 00:35:32,471
Tim: you can
350
00:35:32,841 --> 00:35:37,371
Hazel: So that's actually a great example
with the compiler, allowing fewer problems.
351
00:35:38,421 --> 00:35:42,791
So if you look at that from two different
perspectives, you have the compiler
352
00:35:42,791 --> 00:35:47,091
as a gatekeeper, or a balancer, where
not every program can make it in.
353
00:35:47,531 --> 00:35:52,991
And then you have the compiler as a
conversationalist, helping you navigate.
354
00:35:53,361 --> 00:36:00,641
The space of possible programs and choose and put
together the one that's going to work for you.
355
00:36:00,841 --> 00:36:03,511
And the one that articulates
your idea in a functional manner.
356
00:36:04,141 --> 00:36:10,711
And I like to compare and contrast
the efforts that rust and rust.
357
00:36:10,901 --> 00:36:24,521
and Haskell have made in this particular
regard because Haskell really is fundamentally
okay with the bouncer analogy and so they're
358
00:36:24,851 --> 00:36:29,501
actually wanting to make the hole smaller
and to make the bouncer more strict and as
359
00:36:29,501 --> 00:36:36,851
a result Haskell has this incredible ability
to make, illegal states unrepresentable.
360
00:36:37,271 --> 00:36:46,271
And you can put some absolutely wild things into
the type system, and you can encode invariants
that most programmers only dream about.
361
00:36:46,771 --> 00:36:54,741
It took Rust, I want to say five to eight
years to get close to higher kind of types, and
Haskell was like, oh, hold my beer, I got this.
362
00:36:55,141 --> 00:36:57,491
And they were like, oh, higher kind of types?
363
00:36:57,681 --> 00:37:06,186
How about There aren't a lot of fake dependent
types in the entire system, and you can stick the
whole program in the type system, just watch me.
364
00:37:06,466 --> 00:37:06,886
And,
365
00:37:08,391 --> 00:37:08,811
Tim: Do you
366
00:37:09,026 --> 00:37:18,016
Hazel: but the philosophical approach to
Rust, I think, has really always been, despite
367
00:37:18,086 --> 00:37:22,876
Rust kind of talking about things like a
bouncer, They want it to be a conversation.
368
00:37:23,216 --> 00:37:28,916
And that really changes the efforts
that the two different projects and
communities have put towards things.
369
00:37:29,466 --> 00:37:34,936
So while Haskell focuses on how rich
can you make your time system, how many
370
00:37:34,966 --> 00:37:38,566
invariants can you put in there, how
far can you push this correctness idea?
371
00:37:39,576 --> 00:37:42,546
Rust is you know what, we
want error messages to work.
372
00:37:43,126 --> 00:37:49,106
We want to make, do what you mean more acceptable.
373
00:37:49,676 --> 00:37:58,836
Rust has put an enormous amount of, theory, an
enormous amount of, okay, this program should
be legal, but we can't necessarily figure
374
00:37:58,836 --> 00:38:02,776
out whether or not the bar code checker or
the memory or whatever is going to work out.
375
00:38:03,116 --> 00:38:06,761
So rather than forcing you to write things
in a certain way, we're going to actually
force you to write things in a certain way.
376
00:38:07,041 --> 00:38:12,711
Make a whole bunch of PhD theses off
of this, and just reinvent a whole new
377
00:38:12,781 --> 00:38:17,711
we're just gonna forcibly pull out of
the ether a theory that makes this work.
378
00:38:17,821 --> 00:38:18,331
Tim: yeah, sure.
379
00:38:19,141 --> 00:38:27,846
Hazel: Very few languages And communities go
so far as to say, I know this should work,
so fuck it, we're going to make it work.
380
00:38:27,936 --> 00:38:36,116
I don't care how impossible the problem
is, we're going to make do what you mean
always work, as long as it's possibly valid.
381
00:38:36,416 --> 00:38:42,696
So they're simultaneously adding to
the safety of the language, but also
to the friendliness of the language.
382
00:38:42,986 --> 00:38:50,396
And also to the, we want that mental
model of how things work, to match
reality as closely as possible.
383
00:38:50,896 --> 00:38:55,116
If you use a variable inside a loop, it's And
then use it outside the loop, you know it's fine.
384
00:38:56,086 --> 00:38:59,236
And, up until, I want to say,
2018, the compiler didn't.
385
00:38:59,576 --> 00:39:03,166
And then non lexical lifetimes got introduced,
and they're like, you know what, screw you.
386
00:39:04,086 --> 00:39:11,626
This took maybe four years, and a PhD
thesis or two, and 20 RFCs, and 12,
000 pages of moderated discussion.
387
00:39:11,856 --> 00:39:12,056
But,
388
00:39:12,811 --> 00:39:13,291
Tim: it got
389
00:39:13,326 --> 00:39:13,706
Hazel: we figured it
390
00:39:13,771 --> 00:39:14,131
Tim: It's
391
00:39:14,431 --> 00:39:14,931
Hazel: We got there.
392
00:39:15,316 --> 00:39:19,106
Tim: I can I was trained or let's say molded.
393
00:39:19,906 --> 00:39:23,346
into this kind of older style.
394
00:39:23,356 --> 00:39:31,046
Like I learned Rust early and now
I sometimes make, quote, mistakes
that the borrow checker will allow.
395
00:39:31,046 --> 00:39:33,706
And I'm like, ah, that's much nicer.
396
00:39:33,726 --> 00:39:37,436
Thank you so much for all of the effort.
397
00:39:37,756 --> 00:39:43,566
And there are two things that I
think that we could maybe, actually
I would love your thoughts on.
398
00:39:43,576 --> 00:39:58,251
One is this Rust is infamous, potentially,
or at least Rust draws in a large number of
people that have a lot of opinions and does
399
00:39:59,441 --> 00:40:13,576
struggle with being able to have discussions
in a way that doesn't Simultaneously we, yeah,
tens of thousands of comments is probably
400
00:40:13,576 --> 00:40:20,496
not an exaggeration when one considers
all of the the threads and the there's a
discourse in fact, there are two discourses.
401
00:40:20,991 --> 00:40:29,491
instances, one for users, one for like
internal, there's a Zulip, plus there's the
RFC comment process inside of GitHub, and
402
00:40:29,491 --> 00:40:38,791
like all of these tend to be these kind of
voluminous threads and talking about kind
of the internet and humanity and the ability
403
00:40:38,791 --> 00:40:46,421
to allow people to express themselves and
so forth there is another way in which those
kinds of I'll allow you to get your thoughts.
404
00:40:46,421 --> 00:40:46,891
I'm sorry.
405
00:40:46,931 --> 00:40:52,461
But the, I am personally
turned off by a lot of that.
406
00:40:52,461 --> 00:40:53,961
I'm like that's its own form.
407
00:40:54,061 --> 00:41:03,171
Like it's just too much for me to really
engage in, but I'm glad that people do
invest their own time to really think.
408
00:41:03,221 --> 00:41:07,050
Yeah, I, is there another way to build
things collaboratively that doesn't
409
00:41:07,060 --> 00:41:11,500
involve people getting emotionally
burnt out as part of that process?
410
00:41:12,700 --> 00:41:18,760
Hazel: I think there is, but I think it
also requires reframing things a little bit.
411
00:41:19,200 --> 00:41:25,590
For example, rather than thinking
about the question, how do we prevent
people from getting burned out?
412
00:41:26,060 --> 00:41:28,870
If you step back a little bit
and you go, what causes that?
413
00:41:29,470 --> 00:41:36,190
And to me, the thing that causes
that is, is psychological safety.
414
00:41:37,220 --> 00:41:45,020
So you have the concept of psychological safety
in groups and then you have the energy of people
and like their emotional energy and their ability
415
00:41:45,080 --> 00:41:53,861
to handle certain things and it turns out the
psychological safety helps a lot in boosting
the energy but the energy is going to be drained
416
00:41:53,921 --> 00:42:06,836
regardless if you scratch the same spot over
and over and To me, one of the biggest issues
of the scale of that is if you go into any
417
00:42:06,866 --> 00:42:15,656
large thread, and you say, I'm going to look for
this type of idea, and then you find the idea,
and you find references to the idea, you find
418
00:42:15,675 --> 00:42:24,776
callbacks to the idea, you find counterpoints to
the idea, and then you find the same idea again,
87 times, and then you find the same rehashing
419
00:42:24,776 --> 00:42:35,011
of that, and the same, and what you end up with
is This thing of, you end up with a story of
two cultures, the people who are there in the
420
00:42:35,011 --> 00:42:42,641
beginning of the thread, who now come in and
they hear the same fucking idea for, the 200th
421
00:42:42,661 --> 00:42:45,041
time, and they are so done.
422
00:42:45,436 --> 00:42:45,706
That's
423
00:42:45,706 --> 00:42:46,426
So, over it.
424
00:42:46,636 --> 00:42:47,176
so
425
00:42:47,341 --> 00:42:47,721
Tim: done.
426
00:42:47,721 --> 00:42:48,041
Yeah.
427
00:42:48,156 --> 00:42:52,776
Hazel: you need to just read all
800 pages of this discussion.
428
00:42:52,986 --> 00:43:01,356
And on page 214, you will find very
clearly this idea was articulated and
laid out and dealt with four years ago
429
00:43:01,411 --> 00:43:01,771
Tim: Yeah.
430
00:43:01,901 --> 00:43:02,111
Yeah.
431
00:43:02,111 --> 00:43:02,281
Yeah.
432
00:43:02,281 --> 00:43:02,501
Yeah.
433
00:43:02,501 --> 00:43:04,771
And yeah, I can't believe you
haven't read the whole thing.
434
00:43:06,451 --> 00:43:07,341
And it's hard for everyone.
435
00:43:07,466 --> 00:43:15,566
Hazel: So that the collective understanding,
how do you take collective understanding
and exploration of a problem space and
436
00:43:15,566 --> 00:43:21,435
then make it summarizable and make it
expandable so that it behaves like a factal?
437
00:43:22,116 --> 00:43:28,466
So you want people to be able to dig
into the details and explore the problem
space, but you want to be able to zoom
438
00:43:28,466 --> 00:43:32,716
out and see the shape of the factal so
that you know where things are going.
439
00:43:33,201 --> 00:43:41,931
And you don't have that ability to build a
fractalist with human communication patterns,
and that, I think, is one of the biggest barriers
440
00:43:41,981 --> 00:43:55,580
that we have yet to solve in human communication
scale, because it is fractal in nature, we can't
represent that fractalness in a way that So you
441
00:43:55,580 --> 00:44:02,640
end up with a group of ten heroes or a group of
a couple heroes who build this giant factor in
442
00:44:02,650 --> 00:44:08,480
their head and you have to just go, I trust you
that you have the whole problem in your head.
443
00:44:08,750 --> 00:44:16,540
And I trust that you have read the All 800 pages
of discussion and that you've not skipped anything
and you've built this complex rich structure
444
00:44:16,540 --> 00:44:20,990
in your head that you will never be able to
represent on paper and you can't take anyone to
445
00:44:20,990 --> 00:44:27,700
the attorney without, 50 spoons of yarn looking
like a mad person and, a 50 hour long discussion.
446
00:44:29,130 --> 00:44:29,730
You
447
00:44:29,730 --> 00:44:30,350
just can't do that.
448
00:44:30,390 --> 00:44:30,600
Tim: And
449
00:44:30,900 --> 00:44:31,690
Hazel: So then,
450
00:44:32,020 --> 00:44:37,130
Tim: because the one, I think the sub point or
like in between the lines here is that actually
451
00:44:37,130 --> 00:44:42,960
those 800 pages or what have you, people
did actually spend a lot of time and effort.
452
00:44:43,800 --> 00:44:44,820
during that discussion.
453
00:44:44,820 --> 00:44:47,980
That's all important content in context.
454
00:44:48,410 --> 00:44:55,120
And it is genuinely impossible to
yeah, to yeah, join all of those dots
unless you fully immerse yourself.
455
00:44:55,120 --> 00:44:56,300
And there are some people that will.
456
00:44:56,570 --> 00:45:03,450
I have a question for you relating to seeing if
I can join a few dots between this discussion.
457
00:45:03,450 --> 00:45:04,950
So we started talking about.
458
00:45:05,930 --> 00:45:15,241
creating a human centric web, and we've
touched on and I want to ask you a question
around, and in programming languages, and the
459
00:45:15,241 --> 00:45:21,011
question that I have is, who is the audience
for the website of a programming language?
460
00:45:21,521 --> 00:45:28,356
And the, because, I'll because I think it's
an odd question, I think those websites
461
00:45:28,416 --> 00:45:32,536
are more important than they seem to
facilitate a lot of what we're talking about.
462
00:45:33,736 --> 00:45:39,711
Hazel: yeah, it's So the websites, those
are, it's a really interesting question
and I think about it a lot because I'm
463
00:45:39,711 --> 00:45:45,461
on the board of the Haskell Foundation
and we think about this type of problem.
464
00:45:46,031 --> 00:45:54,091
And so when I think about like the ecosystem
of a programming language, you have the
language, you have the compiler, you have
465
00:45:54,091 --> 00:46:02,021
the tools built around it, the communities of
people, those who use it, those who build it,
those who share it and teach it and learn it.
466
00:46:02,041 --> 00:46:07,681
And you have all these different users
and you have the companies they work for
and the projects that are built with it.
467
00:46:07,681 --> 00:46:11,441
You need to represent that whole
thing, almost through a website.
468
00:46:12,131 --> 00:46:19,151
So you end up with a couple of different
main demographics of people, all which
have very wildly different needs.
469
00:46:20,431 --> 00:46:26,031
You have the beginner people who just
want to learn a language and they want
to learn, and they're going to jump into
470
00:46:26,031 --> 00:46:32,291
this giant rat nest and they need a way
to traverse this in a very easy way.
471
00:46:32,631 --> 00:46:36,401
And they need to go from 0
to monkey see, monkey do.
472
00:46:37,001 --> 00:46:43,531
How soon can you get them to write 1 plus 1
equals 2 in the language and have it work?
473
00:46:44,541 --> 00:46:50,551
Shockingly, for a lot of languages,
the answer is about 15 steps and it
doesn't involve the main website.
474
00:46:50,551 --> 00:46:58,701
It involves the main website, the secondary
one, maybe there's one thing in the corner, 14
steps to download everything and you've already
475
00:46:58,796 --> 00:46:58,825
Tim: Yeah,
476
00:46:58,876 --> 00:47:00,066
Hazel: can't do that to a beginner.
477
00:47:00,191 --> 00:47:00,691
Tim: yeah, if,
478
00:47:00,856 --> 00:47:01,756
Hazel: See you at the beginner!
479
00:47:02,976 --> 00:47:11,966
You have, then, the evangelist who wants to share
the language and feed people and show them this.
480
00:47:12,226 --> 00:47:17,106
And so they need something they can
show people to demonstrate all the cool
things they love about the language.
481
00:47:17,706 --> 00:47:23,596
And that can get hard sometimes because
sometimes the things they love about the
language are the emergent properties of it.
482
00:47:24,096 --> 00:47:28,036
For example, people love to talk about
refactoring in both Rust and Haskell.
483
00:47:28,556 --> 00:47:34,746
But neither of the Rust website,
Northeastern Haskell website,
showcases the power of refactoring.
484
00:47:35,206 --> 00:47:39,566
They might talk about it, but
there's no compelling thing.
485
00:47:40,256 --> 00:47:43,426
And you have the evangelists
who get short sighted by things.
486
00:47:43,876 --> 00:47:49,576
You have the power users and the reference
material people and the experts who
need to dig it and find something.
487
00:47:50,026 --> 00:47:52,936
And they would like a central place
to be able to find it and index
488
00:47:53,036 --> 00:47:54,616
things and link it.
489
00:47:55,226 --> 00:47:58,236
Maybe to less experienced
people rather than having to go.
490
00:47:58,266 --> 00:47:59,876
Oh, yes, this one person's blog post.
491
00:48:00,466 --> 00:48:05,666
Oh, yes It's one person's thing or oh, yeah,
you know the documentation but it's packaged.
492
00:48:05,666 --> 00:48:12,696
It's great But don't look at the latest version
documentation Four versions back has a really
nice diagram in it and they took the diagram
493
00:48:12,696 --> 00:48:18,216
out and I have a portal quest open to add It
back in but anyway, so so look at version 2.
494
00:48:18,351 --> 00:48:19,361
Tim: yeah, that's the good one.
495
00:48:19,691 --> 00:48:20,021
Hazel: What?
496
00:48:21,281 --> 00:48:21,661
And then you
497
00:48:21,671 --> 00:48:22,211
have
498
00:48:22,501 --> 00:48:28,976
Tim: We, we literally had that, I
think, with the Rust But the West
website, where people would point back.
499
00:48:28,976 --> 00:48:30,295
It's oh no, go to the old one.
500
00:48:30,565 --> 00:48:34,825
Because there we talk about much more of
the technical advantages of the language.
501
00:48:34,865 --> 00:48:36,475
It used to be very engineering focused.
502
00:48:36,475 --> 00:48:41,715
And then there was the shift towards
this and empowering, empowerment mantra.
503
00:48:42,795 --> 00:48:50,975
And so you did have a phase, I think,
where people would be like, oh yeah, the
website exists, but the real website is
504
00:48:50,975 --> 00:48:54,855
the one that they've taken is still in the
repository that you can go and hunt through.
505
00:48:55,305 --> 00:49:01,455
And yeah, and it's probably a case
of different audiences expecting
different things from that front page.
506
00:49:02,655 --> 00:49:10,215
Hazel: You also have the, I think
the most uninsured people, and
this is the really difficult one.
507
00:49:11,095 --> 00:49:20,625
It is the group of people trying to get the
adoption of the technology of choice, like
the programming language, in the company.
508
00:49:21,385 --> 00:49:27,235
So particularly for smaller programming
languages, you have this chasm of everybody
509
00:49:27,235 --> 00:49:32,035
uses Java, or everybody uses Timescript, or
everybody uses one of the four languages.
510
00:49:33,080 --> 00:49:39,790
And then you have literally every other
language on the internet, and they're
all in the miscellaneous category.
511
00:49:40,170 --> 00:49:47,480
And so when you're in the miscellaneous
category and someone says, This language will
legitimately be the best language of choice here.
512
00:49:49,180 --> 00:49:56,480
How do I show this to engineering leadership or to
business leadership or to anybody in the company?
513
00:49:56,840 --> 00:50:01,935
And say, A, this, yes, will
save the company money.
514
00:50:02,445 --> 00:50:07,995
B, if I leave the one and only language
expert in the company, you are not screwed.
515
00:50:09,155 --> 00:50:16,245
C, you can hire experts to help
with things and make sure that there
is a path to de risking success.
516
00:50:16,755 --> 00:50:25,595
And then another one is, yes, the proving
that there's a return on value in the
investment and it can continue to grow that
517
00:50:25,595 --> 00:50:29,645
investment, but even if you don't, it's
still successful in the one small case.
518
00:50:30,155 --> 00:50:36,845
And that type of pattern of trying to
evangelize things to get leadership buy
519
00:50:36,845 --> 00:50:42,525
in is very common for smaller languages,
but it's very deeply underserved.
520
00:50:42,935 --> 00:50:46,545
Unless you have someone who happens to be
an expert in the language and also an expert
521
00:50:46,555 --> 00:50:52,875
in selling things and getting alignment to
leadership, you're going to run into this problem.
522
00:50:54,075 --> 00:51:01,650
even when you are successful,
often cases Leadership, like often
cases, the success is transient.
523
00:51:02,490 --> 00:51:08,700
So Meta, for example, this is a problem that
the Haskell language has had before, where
various large companies that are very public
524
00:51:08,700 --> 00:51:16,490
about using the programming language didn't
use it necessarily for smaller projects going
forward, but for other projects going forward,
525
00:51:16,710 --> 00:51:22,590
because the cost of continuing maintenance
on internal tooling integration It's hype.
526
00:51:23,640 --> 00:51:25,980
And so that was a thing.
527
00:51:26,010 --> 00:51:30,580
So when you, as an engineering leader,
look at this problem, you're also looking
528
00:51:30,580 --> 00:51:36,750
at what is the cost of integrating this
language into how we do everything.
529
00:51:37,120 --> 00:51:43,290
So that's security, that's compliance,
that is okay, we have our internal tooling
530
00:51:43,290 --> 00:51:47,240
genes, we have our internal CI pipelines,
our internal, all these other things.
531
00:51:47,970 --> 00:51:50,420
How do we integrate this
into all of our other stuff?
532
00:51:51,465 --> 00:51:56,475
We just say, find it for yourself
and have fun, because that's a great
way to not get anybody using it.
533
00:51:57,675 --> 00:51:59,945
And, so you can't ignore that.
534
00:52:00,275 --> 00:52:10,065
But, pretty much no programming language
website necessarily has a very clear link to
here's our compliance page, here's our CVE
535
00:52:10,075 --> 00:52:15,235
list that applies to every single package
that is third party and or first party.
536
00:52:15,555 --> 00:52:24,720
Here's all of our vendors, here's a way that
we can say that you can use this package and
it is Tested via this process and there's
537
00:52:24,830 --> 00:52:33,170
some sort of certification of we have an SLA
around CVEs It's not just, Samantha opens a
pull request and then maybe it's finished.
538
00:52:34,230 --> 00:52:37,730
Where's your business de risking things?
539
00:52:38,230 --> 00:52:39,850
And most don't have that.
540
00:52:40,260 --> 00:52:45,260
But also pretty much nobody cares about that
except in the one case That you are trying to
541
00:52:45,260 --> 00:52:49,500
sell this to leadership And leadership cares
about that because they're in that environment.
542
00:52:50,750 --> 00:52:56,360
Tim: Yeah, no, and it's never going
to be the fun thing, like it's never
going to be the first thing that you do.
543
00:52:56,750 --> 00:52:58,270
And fascinating.
544
00:52:58,320 --> 00:53:02,150
Like I've got so many thoughts,
but we are quite close to.
545
00:53:02,975 --> 00:53:09,125
to the end of the chat and I do wish to
allow you to go on with your evening.
546
00:53:09,455 --> 00:53:16,245
Before we wrap up, I should ask you,
Hazel who are you and why did you
start to think about all of this stuff?
547
00:53:16,265 --> 00:53:16,705
Hazel: Yeah.
548
00:53:17,245 --> 00:53:25,975
So my name is Hazel Weekly and I do a lot
of platform engineering, observability,
549
00:53:26,035 --> 00:53:31,195
infrastructure, DevOps, program
and language theory related things.
550
00:53:31,545 --> 00:53:35,045
And all to me is actually deeply interrelated.
551
00:53:35,765 --> 00:53:46,720
And the thing that really drives a lot of the
pursuit for me is that question of wholeness
of how do you Build tools and ecosystems
552
00:53:46,720 --> 00:53:57,530
and ways of working and collaboration
between people to get them to a point where
they are greater than some of their parts.
553
00:53:57,800 --> 00:54:05,290
And also to do this magical thing where
you enable people to do things they didn't
554
00:54:05,290 --> 00:54:11,200
even know that they could, and they see the
results of those efforts and then they go.
555
00:54:12,000 --> 00:54:14,560
Wow, I didn't know I could do that.
556
00:54:14,560 --> 00:54:25,770
I didn't know I was, and then they light
up and their eyes just glow with this
deep inner confidence of everything.
557
00:54:25,780 --> 00:54:35,765
And that feeling more than anything else,
being able to give people that deep glow of,
Achievement of purpose, of actualization.
558
00:54:36,315 --> 00:54:39,785
That really drives so much of what
I do and so much of what I think
559
00:54:40,095 --> 00:54:47,345
Tim: and thank you so much for being
greedy and essentially continuing
to drive for a better humanity.
560
00:54:47,345 --> 00:54:58,670
I know that it must be tiring because it feels
like this is this is just waves and waves of
new things but hopefully having discussions
561
00:54:58,670 --> 00:55:06,400
like this and raising the conversation and so
forth means that we can again start to create
communities which are stronger and better for it.
562
00:55:06,550 --> 00:55:07,770
So thank you so much, Hazel.
563
00:55:08,570 --> 00:55:10,560
Hazel: Thank you, this was
lovely and I look forward to
564
00:55:10,860 --> 00:55:11,260
Tim: Please do!
565
00:55:11,330 --> 00:55:13,150
Yeah no, we will definitely say hi again.
00:00:01,148 --> 00:00:05,968
Tim: Welcome to the fifth episode
of the 2024 season of Compose.
2
00:00:06,168 --> 00:00:11,718
Compose is a podcast for software
engineers, primarily those who are
interested in the Rust programming language.
3
00:00:13,278 --> 00:00:16,178
This episode is one for tool builders.
4
00:00:16,508 --> 00:00:22,888
We'll be talking to Hazel Weakly, one of
the people behind the Hackerderm Mastodon
instance, amongst several other things.
5
00:00:22,898 --> 00:00:26,458
For example, she also sits on the board
of the Haskell Software Foundation.
6
00:00:28,770 --> 00:00:35,830
Let's start by asking Hazel what
motivated her to write her blog post
asking for more humanity and technology.
7
00:00:39,076 --> 00:00:51,031
Hazel: I think it was maybe not necessarily a
single critical thing, but a combination of a lot
of things all together coming to a critical point
8
00:00:51,511 --> 00:01:06,471
where we have this AI thing coming in and everyone
being hell bent on misunderstanding it and trying
to misapply it and trying to say, okay, so we
9
00:01:06,481 --> 00:01:13,361
have this AI thing, we can use it to cut costs
and minimize humans and take all these things out.
10
00:01:13,661 --> 00:01:15,951
And I'm just like that's not how this works.
11
00:01:16,701 --> 00:01:27,711
And then on top of that the thing that was even
more egregious to me was the proliferation of just
the trend of everything on the internet being-
12
00:01:28,511 --> 00:01:40,381
We have taken human interaction and paywalled
it, so that you have to wade through a sea
of computer interacting with computer and
13
00:01:40,381 --> 00:01:48,786
computer generated information, computer
generated misinformation in order to find
the small remnants of humanity In the muck.
14
00:01:49,026 --> 00:01:57,966
And I'm like, that is, that's just so far from
the dream of what gets me going in the morning.
15
00:01:58,336 --> 00:02:04,196
And so I felt compelled to sit
down and articulate that dream.
16
00:02:04,646 --> 00:02:08,126
And I tend to articulate
things at different levels.
17
00:02:08,826 --> 00:02:11,336
At the beginning level, there is the information.
18
00:02:11,816 --> 00:02:21,166
And then at the higher level, when you
need to express something more real, Then
you start blending in analogies, you start
19
00:02:21,166 --> 00:02:28,726
blending in metaphors, you start blending
in a bit more artistic language in order
to give people a more accurate picture.
20
00:02:29,216 --> 00:02:32,596
So rather than taking those away,
those actually help humans communicate.
21
00:02:33,126 --> 00:02:38,936
But at some point the communication, you're
starting to communicate at such a deep level that
22
00:02:38,936 --> 00:02:43,566
you can no longer express things in the concrete
and you have to express them in abstract language.
23
00:02:44,016 --> 00:02:46,556
And at that point it starts sounding like poetry.
24
00:02:46,996 --> 00:02:50,966
And so when I wrote that, I
miss the days of humanity.
25
00:02:51,766 --> 00:02:53,286
That was really what I was coming from.
26
00:02:53,286 --> 00:02:58,416
I needed to connect to something so
deeply that I couldn't just write it out.
27
00:02:59,046 --> 00:02:59,656
Tim: That's cool.
28
00:02:59,716 --> 00:03:01,506
I love the story, actually.
29
00:03:01,556 --> 00:03:11,976
May I please ask you to describe an internet
that you probably were like harking back to
or that you remembered when this didn't exist.
30
00:03:11,986 --> 00:03:20,166
So you're describing essentially we had this kind
of enveloping cloud of darkness or like the storm
approaching and now everything is different.
31
00:03:20,176 --> 00:03:22,635
But what was it back in the day?
32
00:03:23,006 --> 00:03:25,866
Back then, was, did that exist?
33
00:03:27,066 --> 00:03:36,556
Hazel: There's this feeling that I've captured
throughout my career and I've been able to
capture this feeling in fleeting moments.
34
00:03:37,126 --> 00:03:50,181
And it's a feeling of When you get people together
in a group and you're working on something larger
than yourself, but you have such a deep mind
35
00:03:50,191 --> 00:04:00,381
meld and mesh connection that you feel larger
than yourself and you can almost, you get this
groupthink, you get this, outside of your body
36
00:04:00,401 --> 00:04:09,201
experience where you feel such deeply connected
to the collective that you start operating as a
whole greater than the sum of their parts and you
37
00:04:09,201 --> 00:04:20,881
get this sensation in like team sports you get
the sensation when you're in kind of the flow you
get the sensation but it's a whole enriching one
38
00:04:21,141 --> 00:04:31,761
when you're with a group of people and so I've
had that various points in my career and when I
talk with people who describe the early stages
39
00:04:31,811 --> 00:04:44,821
of the internet and when they describe the sort
of the discipline of what used to be the point
of academic research and exploration and when
40
00:04:44,821 --> 00:04:54,741
they describe these things they use the same
language they're pointing towards this thing and
we don't really have a word for it but it's when
41
00:04:54,741 --> 00:05:08,776
everyone is so deeply focused on this collective
actualization and self actualization that together
they become, you can't disentangle them anymore.
42
00:05:09,466 --> 00:05:18,686
And when the community and the individual
are so focused on enriching everything around
them and making it whole and bringing that
43
00:05:18,696 --> 00:05:30,731
wholeness to light, You get something beautifully
indescribable and effervescent in the nature of
human connection, and that is the feeling that
44
00:05:30,731 --> 00:05:42,286
I want everyone to have, and that is the feeling
that I feel like late stage capitalism and this
The concept of abstraction over sustainability
45
00:05:42,556 --> 00:05:52,936
has most taken away from us, because it's the
effort of gardening and exploring and co mingling
that creates the greater than the sum of the
46
00:05:52,936 --> 00:05:59,036
parts, but when you explicitly break down and
destroy the whole in order to hyper optimize
47
00:05:59,036 --> 00:06:06,636
the individual parts, you make it impossible
fundamentally for humans to become humanity.
48
00:06:07,836 --> 00:06:11,166
And that is the sole question to me.
49
00:06:11,726 --> 00:06:21,366
The idea that millions of people, the vast
majority of people in our society, are
never going to be able to be given the
50
00:06:21,376 --> 00:06:30,146
space to even understand the concept of self
actualization or community actualization,
much less Be empowered to seek it out.
51
00:06:31,326 --> 00:06:37,716
And so we're going to enter this very,
it feels like a very dark period of
52
00:06:37,716 --> 00:06:46,576
history where innovation becomes a thing
we're just not able to really do anymore.
53
00:06:46,976 --> 00:06:49,066
And everybody's going to
go where's the innovation?
54
00:06:49,066 --> 00:06:50,846
And you can already see it in the arts.
55
00:06:51,316 --> 00:06:55,706
You can already see it in the
lack of original content in the.
56
00:06:56,141 --> 00:06:59,721
Every movie ever released is a
sequel, or a rehash, or a reboot.
57
00:07:00,021 --> 00:07:02,621
Every, we've already seen it in the arts.
58
00:07:03,011 --> 00:07:04,761
We've lost the ability to innovate.
59
00:07:05,141 --> 00:07:08,121
And it's going to trickle all the
way down into everything else.
60
00:07:08,541 --> 00:07:15,651
And we're going to enter an ability where
people just don't know how to connect
with other humans and be human anymore.
61
00:07:16,541 --> 00:07:24,601
And, Computers to me was supposed to
be the thing that connected humanity.
62
00:07:24,651 --> 00:07:30,781
Tim: Essentially technology
is not facilitating humanity.
63
00:07:30,861 --> 00:07:37,181
There's an irony also in that images through let's
say Instagram and then video through I suppose
64
00:07:37,211 --> 00:07:43,521
TikTok and then, everywhere has actually become,
has facilitated something that's Internet-like.
65
00:07:43,781 --> 00:07:53,611
However, it's far different than
let's say the internet or like the
worldwide web in the early 2000s.
66
00:07:53,671 --> 00:08:02,561
it's almost as though using less text
has actually created fewer opportunities
for people to be able to contribute.
67
00:08:04,101 --> 00:08:08,501
And, how does that feel to you as an idea?
68
00:08:09,701 --> 00:08:21,701
Hazel: It's interesting because it's one of the
things that I think about when I think of TikTok
and other platforms like that is it's fascinating
69
00:08:21,701 --> 00:08:30,071
to me how everything goes through the same pattern
of you build this new service, this new platform.
70
00:08:30,531 --> 00:08:32,391
You get people on it and then.
71
00:08:32,871 --> 00:08:34,681
Three things happen in the same order.
72
00:08:35,241 --> 00:08:41,781
The first thing is you get a bunch
of underrepresented minorities on
the platform and they use it and they
73
00:08:41,791 --> 00:08:46,781
start deeply, rapidly innovating at
a level that you cannot keep up with.
74
00:08:47,211 --> 00:08:50,071
And that was the very beginning,
the very, very beginning of TikTok.
75
00:08:50,881 --> 00:08:57,041
And it just got to this wild point very
rapidly where there's a flash point
76
00:08:57,401 --> 00:09:02,391
and TikTok was dominating the creation
of social media and redefining it.
77
00:09:02,811 --> 00:09:10,841
And you had all of these predominantly
black creators really innovating
on the platform and using it.
78
00:09:11,251 --> 00:09:14,801
And it turns out the reason was Stage 2.
79
00:09:16,171 --> 00:09:17,671
It created an algorithm that worked.
80
00:09:18,731 --> 00:09:28,886
And it turns out if you just give people what they
want, And you design an algorithm without bias,
which is the default, then everything is great.
81
00:09:29,546 --> 00:09:35,446
Everything works fine, everything is fantastic,
but you don't necessarily maximize revenue.
82
00:09:35,856 --> 00:09:45,021
And then you enter in the second stage of
instead of having this Emerging property people
being able to discover exactly what they want
83
00:09:45,281 --> 00:09:50,881
and engage with it and innovate and remix on
top of it and create a call response dialogue.
84
00:09:52,611 --> 00:09:56,361
Twitter had this, TikTok
had this, it's been a thing.
85
00:09:56,701 --> 00:10:04,451
You end up with the quandary of how
do we not show people what they want?
86
00:10:04,801 --> 00:10:10,501
And the reason for that is because
if you show someone what they want,
you showed it to them for free.
87
00:10:11,871 --> 00:10:18,111
If you have the content creator pay to show
the person what they want, then what you're
88
00:10:18,161 --> 00:10:24,261
doing is the content creator and the person,
they don't have that relationship anymore.
89
00:10:24,441 --> 00:10:28,141
You want to monetize that relationship,
but they already found each other.
90
00:10:28,531 --> 00:10:32,861
So you end up having to have the situation
where you need to convince a bunch of
91
00:10:32,861 --> 00:10:38,321
people to pay to show their stuff to
people who are already interested in it.
92
00:10:39,681 --> 00:10:42,751
And they know they're interested in it,
because that's literally their follow base.
93
00:10:43,831 --> 00:10:51,361
And if you don't, then you end up shrinking the
follow base, and then you pay to go outside of
the follow base to people who are not interested.
94
00:10:52,261 --> 00:10:56,371
So you're, by definition,
paying to ask that don't work.
95
00:10:56,601 --> 00:11:02,311
so that people can see that, and then the feed
becomes filled with things you didn't want to see.
96
00:11:02,641 --> 00:11:08,851
Because everything you didn't want to see
was a monetary transaction, and the only way
to make the platform monetarily sustainable
97
00:11:09,161 --> 00:11:16,721
is to create this adversarial relationship
between people, which fundamentally
destroys how call and response works.
98
00:11:17,911 --> 00:11:25,091
And then you can't get this form dialogue,
because it's the Town Square form style dialogue
99
00:11:25,091 --> 00:11:32,171
of call and response that lets human engagement
on the internet scale past a certain point.
100
00:11:32,621 --> 00:11:41,321
That was the magic of Twitter where you
have this town form thing of people being
able to dialogue with each other at scale.
101
00:11:41,721 --> 00:11:49,511
And then TikTok has this where you have the
correspondence thing of being able to stitch
things together and create dialogue at scale.
102
00:11:49,951 --> 00:11:54,741
And then you broke that by monetizing
the endpoints and severing all the
103
00:11:54,741 --> 00:11:59,485
connections to make the human networks
work so that you can monetize it.
104
00:11:59,736 --> 00:12:00,236
Sell it.
105
00:12:00,776 --> 00:12:02,936
Tim: Yeah and, what do you
think people are selling?
106
00:12:02,936 --> 00:12:05,246
Because here's another sort of assumption.
107
00:12:05,246 --> 00:12:06,306
I'm so curious on your thoughts.
108
00:12:06,336 --> 00:12:19,156
Which was, the typical way to monetize, or let's
say sell engagement, which is the worst term
to use for clickbait is advertising, right?
109
00:12:19,206 --> 00:12:22,286
I'm from New Zealand and there's
plenty of advertising here.
110
00:12:22,316 --> 00:12:27,646
I grew up, like there are billboards
everywhere, but when I go to the States
for a visit, like I'm just inundated.
111
00:12:27,696 --> 00:12:29,976
I'm just totally saturated.
112
00:12:29,976 --> 00:12:37,656
It's like very strange cultural shock
where advertising is everywhere.
113
00:12:37,706 --> 00:12:38,395
I just find it very strange.
114
00:12:38,396 --> 00:12:43,605
And I suppose that's the natural
inclination of these systems.
115
00:12:43,625 --> 00:12:45,185
It's let's throw an ad in there.
116
00:12:45,685 --> 00:12:53,615
Is that is that what you're saying or right.
117
00:12:53,680 --> 00:13:06,450
Hazel: runs on because you have this interesting
thing of you have the power law distribution
of, 1 percent of creators create like 90
118
00:13:06,450 --> 00:13:10,980
percent of the content, 10%, like you have
this very power law distribution of creation.
119
00:13:11,540 --> 00:13:20,430
We also have a power law distribution of
consumption and people can't pay for their
own consumption, which is this really.
120
00:13:20,880 --> 00:13:21,670
Weird thing.
121
00:13:21,900 --> 00:13:27,950
And then so to get around the
paywall issue, you tier the pay.
122
00:13:28,210 --> 00:13:33,450
But the way you tier the pay is you need to
create a parallel distribution of payment.
123
00:13:34,360 --> 00:13:41,760
So you need to figure out how to separate
very high value users from very low value
users and make low value users cheap.
124
00:13:42,935 --> 00:13:47,575
And the best way to do that is to pay
via usage, but you're not going to have
125
00:13:47,575 --> 00:13:53,155
someone pay like a tenth of a penny
or something per view on a on a video.
126
00:13:53,155 --> 00:14:00,845
That, that doesn't work, but you essentially end
up doing that exactly by paying via advertisement.
127
00:14:01,680 --> 00:14:06,740
Because then that person purchases something
and you end up being a transaction proxy.
128
00:14:08,435 --> 00:14:09,685
Tim: Yeah, you absolutely do.
129
00:14:09,845 --> 00:14:14,145
The because that 20 seconds
or what have you of time.
130
00:14:15,055 --> 00:14:17,695
is worth something to you and the advertiser.
131
00:14:17,705 --> 00:14:21,235
It just doesn't happen to be a cash
transaction that you were involved in.
132
00:14:21,675 --> 00:14:23,575
It just is yeah, people are buying.
133
00:14:23,585 --> 00:14:25,905
Yeah, no, it's, that's an interesting idea.
134
00:14:27,630 --> 00:14:37,090
Hazel: And then so companies like marketplace
companies eBay, Etsy are good examples, but
marketplace companies were like, this is great.
135
00:14:37,100 --> 00:14:38,700
We'll just sit in the middle and we'll do this.
136
00:14:39,260 --> 00:14:52,260
But it turns out the amount of money required
to generate a profit Run the whole service,
operate it, and do that is a ridiculous
137
00:14:52,260 --> 00:14:56,690
amount of money because they do so very
inefficiently and they have none of the
138
00:14:56,710 --> 00:15:02,580
pressures to make An efficient exchange of
value when you take yourself on the equation.
139
00:15:03,930 --> 00:15:10,650
the whole capitalist thing ends up making
it to where you want to insert yourself in
the middle and add more points in the middle
140
00:15:10,840 --> 00:15:15,890
and then blow that up so it becomes very
inefficient and very, you can get that gap.
141
00:15:16,570 --> 00:15:24,260
And then you end up wanting to lock people out so
that they can't discover someone else via other
means, and so you capture them on the platform.
142
00:15:24,820 --> 00:15:33,850
And it's a very user hostile thing,
but it ends up dehumanizing the entire
platform and generating revenue.
143
00:15:34,890 --> 00:15:40,390
We don't need to generate that much
revenue if you don't have all these
weird perverse incentives in place.
144
00:15:41,360 --> 00:15:48,630
But it ends up making it to the point where the
internet can't run with all that type of model.
145
00:15:48,960 --> 00:15:52,660
We don't really know what it looks
like to have the internet not do that.
146
00:15:52,990 --> 00:15:53,260
So
147
00:15:53,835 --> 00:16:01,625
Tim: But may I ask as someone who spends
a lot of time on the Fediverse, how much
148
00:16:01,625 --> 00:16:09,870
does it cost to run Like a Fediverse server
with, let's say, tens of thousands of users.
149
00:16:11,070 --> 00:16:12,300
Hazel: that one's interesting.
150
00:16:12,350 --> 00:16:16,810
I helped build Hackaderm, which is one of
the largest of Maslow's instances out there.
151
00:16:17,340 --> 00:16:19,350
So that goes down to a couple different parts.
152
00:16:19,990 --> 00:16:24,380
The first one is Mastodon specifically
is horribly inefficient to run.
153
00:16:25,390 --> 00:16:26,940
It's a Ruby on Rails app.
154
00:16:27,170 --> 00:16:30,720
It's but the thing is the Ruby on
Rails part is not actually that hard.
155
00:16:31,520 --> 00:16:35,570
The hard part is federated media.
156
00:16:36,670 --> 00:16:46,300
That is the compute intensive thing that
destroys the whole value proposition
because that goes into content validation.
157
00:16:47,750 --> 00:16:55,720
And that's where the whole decentralizing
of the Fediverse falls apart because content
validation means that if someone puts an
158
00:16:55,730 --> 00:17:01,400
image on the internet, how do you know that
it's, A, an image and not something else?
159
00:17:01,760 --> 00:17:07,770
How do you know that, B, it is a safe
image to put on your computer or a
safe document to put on your computer?
160
00:17:08,010 --> 00:17:11,030
And, 3, how do you know that the image is legal?
161
00:17:11,595 --> 00:17:21,635
in the country of upload, in the country of
media storage, and in the country of download,
because they can all three be different things.
162
00:17:22,235 --> 00:17:29,665
And some countries have laws based on
whether or not something gets routed through
any quote internet tubes in that country.
163
00:17:30,365 --> 00:17:40,855
So for example, any mastodon server,
more than about 5, 000 people needs
to start worrying seriously about CCM.
164
00:17:41,275 --> 00:17:44,955
or child explicit horrible things on the internet.
165
00:17:45,495 --> 00:17:46,175
And
166
00:17:46,545 --> 00:17:52,905
the legal ramifications of that mean
that you have to have a legal protection
entity and you can't avoid that.
167
00:17:53,485 --> 00:17:58,305
But it also means that because of that and
viruses and other things like that, you
have to re include everything and you have
168
00:17:58,315 --> 00:18:04,675
to download it and then use image magic
to convert the image and re convert it.
169
00:18:04,835 --> 00:18:13,045
So every time you see an image on the
fediverse, it has been downloaded by all 5200,
000 different fediverse servers, and then
170
00:18:13,145 --> 00:18:21,215
every single one re encoded the image from
scratch to verify that it's a real image, and
not a virus, and then they re uploaded it.
171
00:18:21,905 --> 00:18:23,795
Tim: And they need to do that because they
172
00:18:23,805 --> 00:18:27,375
Hazel: breaks every single child
sam CSAM protection technique.
173
00:18:28,235 --> 00:18:31,415
Tim: yeah, because you can't
trust anything from anywhere.
174
00:18:31,415 --> 00:18:35,785
So you need to, the only thing you
can really trust is your own computer,
because it's literally the Fediverse.
175
00:18:36,285 --> 00:18:38,935
And the.
176
00:18:39,685 --> 00:18:44,565
So the inefficiency there, it sounds like
the money that we quite need in order to run,
177
00:18:44,585 --> 00:18:52,325
let's say, an active server comes from the
a, it's not really, okay, there's two parts.
178
00:18:52,365 --> 00:19:00,095
One is you need to do a lot of compute heavy
work because let's say every video or every
image, all multimedia needs to essentially meet
179
00:19:00,095 --> 00:19:07,645
some threshold of not being a virus, hopefully
being legal for jurisdictions that you probably
haven't heard of or don't know their laws.
180
00:19:07,795 --> 00:19:13,445
And then and then also we have to we
are, we'd prefer not to exp distribute.
181
00:19:13,785 --> 00:19:19,125
Obscene material, let's say because we could be
criminally liable for distribution and storage
182
00:19:19,125 --> 00:19:23,475
and so forth, as well as the fact that there
are pretty significant ethical things going on.
183
00:19:23,865 --> 00:19:33,035
So there is a com It sounds like there
is a combination of both technical
complexity or, uh, like inefficiencies.
184
00:19:34,060 --> 00:19:45,430
that way, or as well as like human time
or like essentially it takes a lot of work
that it gets duplicated for every server.
185
00:19:46,230 --> 00:19:46,670
Hazel: Yeah.
186
00:19:46,950 --> 00:19:57,950
Plus you want probably about one human
moderator per to two thousand users on the
application and that scales semi exponentially.
187
00:19:58,920 --> 00:20:00,120
It scales non linearly.
188
00:20:00,435 --> 00:20:08,025
Tim: Because as you become a more, sorry to
interrupt, but so as you become a more popular
server it's more likely that the creeps of
189
00:20:08,025 --> 00:20:12,685
the world are going to find their way to you
and you're actually quite a good target now.
190
00:20:13,420 --> 00:20:14,790
for distribution.
191
00:20:15,060 --> 00:20:18,910
Is that the reason why this
non linear scaling occurs?
192
00:20:20,110 --> 00:20:25,900
Hazel: It's that reason, but it's also because
communication over a network scales exponentially.
193
00:20:26,290 --> 00:20:31,620
And there's a lot of network and graph
theory things on that, but it turns out
human communication works the exact same way.
194
00:20:32,150 --> 00:20:35,710
The more users you have on a system,
the more they're talking to each other.
195
00:20:36,075 --> 00:20:39,165
In the morning you're going to
run into moderation problems.
196
00:20:40,135 --> 00:20:47,915
And most moderation problems don't
involve rule violations, which is a
thing that people don't anticipate.
197
00:20:48,525 --> 00:20:56,365
But if you have, for example, real real
examples, slightly modified, you might
have two users talking to each other.
198
00:20:57,245 --> 00:21:04,135
One is pro this will do that is
very controversial right now.
199
00:21:04,465 --> 00:21:06,035
One is on the other side.
200
00:21:06,630 --> 00:21:14,100
And the server rules say, essentially, no hate
speech, no pro genocide, no reasonable things.
201
00:21:14,430 --> 00:21:21,320
And they're talking about the topic,
but they're not breaking any rules,
but they need to tone it down.
202
00:21:21,760 --> 00:21:26,320
And so someone might say, Hey, this
is getting very emotionally charged.
203
00:21:26,760 --> 00:21:30,090
Someone might need to step in,
but no rules have been broken yet.
204
00:21:30,340 --> 00:21:31,160
How do you step in?
205
00:21:31,720 --> 00:21:38,110
Or when you have a rule set and the
rules that said, no hate speech.
206
00:21:39,260 --> 00:21:47,770
But to an American, the definition of hate
speech is actually very narrow compared
to pretty much everybody in Europe.
207
00:21:48,400 --> 00:21:52,720
So like an American we might say, oh yes,
that's just a Republican being a Republican.
208
00:21:52,970 --> 00:21:54,720
Or that's just this, political party.
209
00:21:55,520 --> 00:21:56,480
They're just all like that.
210
00:21:56,780 --> 00:22:01,610
That everybody else in the world is just horrified
at the things coming out of their mouths.
211
00:22:01,610 --> 00:22:01,960
And
212
00:22:02,490 --> 00:22:16,705
Tim: And it, it must be difficult when you have
people who, so- There are people in where I'm from
that talk about like first amendment rights, for
213
00:22:16,705 --> 00:22:25,635
example, when it's not even our constitution like
we and so you, so there's also and yeah, I think,
214
00:22:25,665 --> 00:22:30,655
so the definition of what hate speech is and the
fact that different countries do it differently.
215
00:22:31,165 --> 00:22:35,875
Free speech was originally a political
protection against tyranny of the state, but
216
00:22:35,875 --> 00:22:42,719
it's now interpreted in, as a much broader
term than I think was probably originally.
217
00:22:43,239 --> 00:22:45,539
Anyway, I'm probably going
to start getting jumped on.
218
00:22:45,689 --> 00:22:55,499
It's interesting how we use the term moderator
because if we were hosting a debate Let's
say like a town hall meeting and you had a
219
00:22:55,499 --> 00:23:03,159
moderator and there were a couple of people
representing views or you might have a few
local politicians like like in the literal
220
00:23:03,159 --> 00:23:12,059
town hall, let's say, and someone wants to
build like a new sewer and that's going to mean
that we're going to have to close the road.
221
00:23:12,059 --> 00:23:13,439
So when do we close the road?
222
00:23:13,689 --> 00:23:18,859
Do we pay more money and only do the roadworks at
night or do we essentially close the whole thing?
223
00:23:19,169 --> 00:23:20,389
And so we have some meeting.
224
00:23:20,609 --> 00:23:21,589
It gets heated.
225
00:23:21,889 --> 00:23:31,909
The idea of the moderator is to moderate
that discussion and actually it's very
acceptable to say, okay, this is difficult.
226
00:23:31,939 --> 00:23:41,796
We're going to either shift the discussion
entirely to something else, or we are going
to let's just breathe a little bit and that's
227
00:23:41,796 --> 00:23:53,546
the point of having a moderator but online
it's this very it's a different idea that a
moderator for most things I'd say online is
228
00:23:53,546 --> 00:24:03,786
that you are a sort of a judge, have they broken
some sort of standard and if so we then enforce
some sort of sanction which is typically like
229
00:24:03,816 --> 00:24:08,106
deleting posts or maybe even like kicking or
banning or having some sort of suspension.
230
00:24:08,506 --> 00:24:12,246
That's a different kind of
relationship with the participants.
231
00:24:14,426 --> 00:24:18,691
Do you think that technical
moderation should be like cExplicit?
232
00:24:18,711 --> 00:24:27,311
The risk of having kind of a a meta
discussion about how moderation is happening
in the server, which is happening while
233
00:24:27,311 --> 00:24:35,741
this other heated debate is occurring,
how do moderators in the Fediverse work?
234
00:24:35,801 --> 00:24:40,321
Do they just delete things or do they
have like private messages inside?
235
00:24:40,441 --> 00:24:49,781
I guess it's Macedon specific, but how
would that, how would the moderation group
go about the process of deciding this
236
00:24:49,781 --> 00:24:53,221
is somewhere where we should intervene
and how does that intervention happen?
237
00:24:54,421 --> 00:24:58,401
Hazel: And so the moderation
thing is really interesting.
238
00:24:58,921 --> 00:25:06,911
So I think a great example of what's difficult
with this is to put the punchline in the fun.
239
00:25:07,431 --> 00:25:14,981
I think the biggest issue with moderation
is actually not necessarily about how do
we secure them, but how do we scale it?
240
00:25:16,161 --> 00:25:19,251
So as an example we had a
user report on Hackaderm.
241
00:25:19,251 --> 00:25:19,326
Okay.
242
00:25:20,026 --> 00:25:27,746
And the user report was from someone who
asked me personally to like, figure out if
they should submit an actual report for this.
243
00:25:28,506 --> 00:25:34,046
And the reason was, the person was fine.
244
00:25:34,466 --> 00:25:37,271
They weren't, doing anything wrong.
245
00:25:38,601 --> 00:25:48,031
However, the language that they chose to use
for certain things was, via Google Translate
or via any translation mechanism, innocuous.
246
00:25:49,041 --> 00:25:57,281
But culturally speaking, if you
live in Berlin, only people who are
Nazi sympathizers use that word.
247
00:25:58,431 --> 00:26:04,841
It means a very innocuous meaning, but
it, the double cultural connotation, is of
248
00:26:04,841 --> 00:26:12,021
essentially a Nazi sympathizer, or it's very
heavily coded towards a genocidal context.
249
00:26:13,331 --> 00:26:14,281
But the word is fine.
250
00:26:15,911 --> 00:26:17,691
You're not saying a final solution.
251
00:26:17,701 --> 00:26:22,996
You're not saying any ridiculous
actual Nazi symbolism, but it's really
252
00:26:23,036 --> 00:26:23,306
Tim: It's
253
00:26:23,326 --> 00:26:24,986
Hazel: As in, it slips right
254
00:26:24,986 --> 00:26:25,196
by the
255
00:26:25,356 --> 00:26:25,756
Tim: don't know if this
256
00:26:25,946 --> 00:26:35,216
Hazel: unless you are not even a German speaker,
unless you're a native person who lives in
Berlin or knows enough about the Berlin subtype.
257
00:26:36,386 --> 00:26:37,026
Tim: yeah,
258
00:26:37,026 --> 00:26:42,276
Hazel: can't moderate this effectively,
and so you create an unsafe environment
for any Germans who are reading this.
259
00:26:43,406 --> 00:26:45,076
And something should be acted on.
260
00:26:45,986 --> 00:26:53,576
There's a bigger question here, because this is
a it's a federated setup, so it's Decentralized.
261
00:26:53,986 --> 00:27:05,256
How do I take the cultural context of one
person, attach a public notion of attestation
of on behalf of the server, here's the context
262
00:27:05,366 --> 00:27:14,836
we've discovered about this decision, and
we can put that context with the decision
and sort of scale out a web of trust so that
263
00:27:14,836 --> 00:27:25,161
smaller servers who don't have a 30 person
moderation team can actually pick up this type
of thing and make their own decisions with it.
264
00:27:26,461 --> 00:27:33,541
So it's similar to the content of how
do you scale trust of content so that
you don't have to re upload everything.
265
00:27:33,811 --> 00:27:35,681
You don't have to re encode every image.
266
00:27:36,021 --> 00:27:44,141
How do you take human interaction and
collaboration and learn from it collectively
and then scale that learning so that
267
00:27:45,026 --> 00:27:52,356
Putting, the definition of moderator aside,
how do we take human interaction and human
collaboration, figure out how to make it more
268
00:27:52,356 --> 00:28:02,516
productive and healthier, and then scale that
learning out beyond just that one room, or
out beyond just that one cultural context.
269
00:28:03,406 --> 00:28:04,316
How do you do that?
270
00:28:05,166 --> 00:28:14,016
And the answer traditionally has been to
centralize everything, automate it, and then
use an algorithm to filter out most of the
271
00:28:14,016 --> 00:28:20,036
nonsense, Segregate people in different corners
and then pretend the problem doesn't exist.
272
00:28:20,366 --> 00:28:25,196
And you see this in all of the big media
platforms, but if you wanna actually create
273
00:28:25,196 --> 00:28:31,326
something that's unique and beautiful,
pollination is a central facet to that.
274
00:28:32,296 --> 00:28:40,536
And cross pollination is uniquely difficult
in a de decentralized context, but that is
exactly how humans work naturally anyway.
275
00:28:41,546 --> 00:28:44,756
So then if you wanna build a wholesome internet.
276
00:28:45,536 --> 00:28:56,026
You have to figure out, not even moderation,
you have to figure out how do we scale
learning about how humans work together and
277
00:28:56,026 --> 00:29:00,936
what types of decisions we need to make in
order to have the outcome that you want.
278
00:29:02,136 --> 00:29:13,676
Tim: Is it possible to create a wholesome
programming language or like tools that facilitate
building like wholesome or beautiful or let's
279
00:29:13,806 --> 00:29:21,646
use whichever positive adjective they would like
but essentially these technological systems that
we're creating like the distributed internet and
280
00:29:22,156 --> 00:29:34,076
like they're not centralized social media like
we could create genuine social media not just
like, how, essentially, how do developer tools or
281
00:29:34,096 --> 00:29:43,246
developer tooling can that essentially be biased
towards outcomes for the downstream projects?
282
00:29:43,296 --> 00:29:45,616
I don't know if that, is that a question?
283
00:29:45,636 --> 00:29:47,176
I'm, I think maybe there is.
284
00:29:47,481 --> 00:29:48,691
Hazel: Does that make sense?
285
00:29:48,691 --> 00:29:49,991
And that's actually one of my favorite
286
00:29:50,026 --> 00:29:50,366
Tim: Okay.
287
00:29:51,891 --> 00:29:56,921
Hazel: When we, and this is something
I've been thinking about since forever.
288
00:29:57,471 --> 00:30:05,221
Can we make a wholesome language, a wholesome,
whatever what makes wholesome verbs work,
289
00:30:05,451 --> 00:30:12,101
and how do you apply that to work that feels
artificial or feels Concrete and mathematical.
290
00:30:12,741 --> 00:30:13,921
It's how I interpret that.
291
00:30:14,921 --> 00:30:20,971
And, so I think you can't
necessarily create a wholesome thing.
292
00:30:21,641 --> 00:30:28,271
What you can do is if you take the
wholeness and you treat it as an
emergent property of the system.
293
00:30:29,221 --> 00:30:35,371
You do something with the system, you interact
with it, and you see what comes out of that.
294
00:30:36,001 --> 00:30:39,121
And if you like the result,
you're on the right track.
295
00:30:39,936 --> 00:30:44,156
And so it brings to mind two
different writers for me.
296
00:30:44,616 --> 00:30:49,276
One is Adrienne Marie Brown, and the
other one is Christopher Alexander.
297
00:30:49,826 --> 00:30:56,066
Adrienne Marie Brown has this book called
Emerging Strategy, where she's thinking bottom up.
298
00:30:56,756 --> 00:31:06,976
How do you build communities of people
where the emergent behavior of that
community is this wholesome community that
299
00:31:07,116 --> 00:31:11,396
works well together and gets the results
that they want as their way of working.
300
00:31:12,286 --> 00:31:18,626
And then Christopher Alexander,
his work of say The Nature of Order
and things like that was about.
301
00:31:19,091 --> 00:31:29,661
How do you build processes and interactions,
and structures, and ecosystems and
environments, where existing in that
302
00:31:29,661 --> 00:31:36,461
environment and building that environment
creates this vibrancy and wholeness in the air.
303
00:31:37,051 --> 00:31:42,761
So it's like this top down approach of, can
you create an environment that's wholesome,
in which everyone in it is wholesome?
304
00:31:43,391 --> 00:31:48,181
feels wholeness and can create
wholeness and can grow that wholeness.
305
00:31:48,471 --> 00:31:55,721
Versus the bottom up of, can you
create a way of working with humans
that builds this wholeness out of it?
306
00:31:56,251 --> 00:31:58,881
And I think you need both
approaches simultaneously.
307
00:31:59,481 --> 00:32:10,741
What it brings to mind if you think of programming
as like a tool, or if you think of programming
as a process, or if you think of programming as a
308
00:32:11,241 --> 00:32:24,231
System of expiration, or one of my favorite ways
is, I like to think of programming as the ability
to articulate A conceptualization of a thought
309
00:32:25,101 --> 00:32:40,071
and then render that thought itself as a artifact
you can touch so that you're weaving together the
human thought and understanding of an idea into
310
00:32:40,201 --> 00:32:49,551
what we call like this rendered artifacts that you
cannot see play with it's not physical necessarily
but you can look at it and go this describes my
311
00:32:49,551 --> 00:32:54,281
thought or this describes my understanding of
the problem this describes something like that,
312
00:32:54,771 --> 00:32:58,851
and depending on how you think about it, we
can use kind of one of those three approaches.
313
00:33:00,001 --> 00:33:10,261
So if I think about programming language
theory and design, Rust has a lot of those
kind of popularities and properties that
314
00:33:10,261 --> 00:33:19,106
result in Because Rust has a cultural
approach to, you should make things easy, you
315
00:33:19,106 --> 00:33:22,996
should make it easy to do the right thing,
and the easy thing to be the same thing.
316
00:33:23,386 --> 00:33:31,506
And you have this, fearless concurrency, fearless,
why choose why, Suffer, a drawback of a choice.
317
00:33:31,846 --> 00:33:32,586
You should get all three.
318
00:33:32,586 --> 00:33:36,036
You should be greedy in your pursuit of enjoyment.
319
00:33:36,566 --> 00:33:42,796
And this idea that you can be greedy in the
pursuit of enjoyment and in the pursuit of
320
00:33:42,796 --> 00:33:52,096
wholeness and you shouldn't have to suffer
any downsides is this absolutely hubris idea.
321
00:33:52,476 --> 00:33:54,206
And it's so cheeky.
322
00:33:55,011 --> 00:33:56,911
Because it's completely impossible.
323
00:33:57,741 --> 00:33:59,911
You can't have no downsides.
324
00:34:00,111 --> 00:34:01,411
You can't have your cake and eat it too.
325
00:34:01,451 --> 00:34:02,341
And Russ is you know what?
326
00:34:02,641 --> 00:34:07,451
I want my cake, I want to eat it too, and I
want the cake to work the first time I make it.
327
00:34:07,991 --> 00:34:09,001
And then, and they get there.
328
00:34:09,431 --> 00:34:14,281
But it's the human sort of chivalrous to go on.
329
00:34:14,666 --> 00:34:20,066
I want to build something that's
beautiful, and I don't care if the
laws of physics say that I can't do it.
330
00:34:20,886 --> 00:34:21,966
That doesn't stop me from
331
00:34:21,966 --> 00:34:22,436
doing it.
332
00:34:23,091 --> 00:34:24,801
Tim: Look, Ruz does have.
333
00:34:25,756 --> 00:34:29,146
Things, which I think make it difficult.
334
00:34:29,146 --> 00:34:36,246
I think that it demands a lot of big, it demand,
it demands a lot from beginners in the sense of,
335
00:34:36,246 --> 00:34:44,491
it's just essentially it requires you to think
about programs slightly differently and apply.
336
00:34:44,991 --> 00:34:48,101
A different mental model to developing software.
337
00:34:48,641 --> 00:34:56,101
And part of that process is
that the compiler is stricter.
338
00:34:56,191 --> 00:34:59,321
It allows fewer programs through the door.
339
00:34:59,711 --> 00:35:01,381
It like, is a bit of a bouncer.
340
00:35:01,631 --> 00:35:02,381
And you're,
341
00:35:03,581 --> 00:35:05,831
You've got this mental idea
about yourself as a compiler.
342
00:35:06,611 --> 00:35:08,111
competent programmer.
343
00:35:08,421 --> 00:35:15,531
If the bouncer isn't letting you into
the club of happy programs, suddenly
you feel like you're being attacked.
344
00:35:15,541 --> 00:35:21,191
And I think that's one of the things
that is difficult for people when
they try to learn the language.
345
00:35:21,221 --> 00:35:27,321
But yeah I agree that maybe Rust, you've,
Does allow you to take from the whole buffet.
346
00:35:27,351 --> 00:35:30,711
Like I, we were stretching of
metaphors and analogies, but Right.
347
00:35:30,981 --> 00:35:31,131
Like
348
00:35:31,181 --> 00:35:31,341
Hazel: yeah.
349
00:35:31,871 --> 00:35:32,471
Tim: you can
350
00:35:32,841 --> 00:35:37,371
Hazel: So that's actually a great example
with the compiler, allowing fewer problems.
351
00:35:38,421 --> 00:35:42,791
So if you look at that from two different
perspectives, you have the compiler
352
00:35:42,791 --> 00:35:47,091
as a gatekeeper, or a balancer, where
not every program can make it in.
353
00:35:47,531 --> 00:35:52,991
And then you have the compiler as a
conversationalist, helping you navigate.
354
00:35:53,361 --> 00:36:00,641
The space of possible programs and choose and put
together the one that's going to work for you.
355
00:36:00,841 --> 00:36:03,511
And the one that articulates
your idea in a functional manner.
356
00:36:04,141 --> 00:36:10,711
And I like to compare and contrast
the efforts that rust and rust.
357
00:36:10,901 --> 00:36:24,521
and Haskell have made in this particular
regard because Haskell really is fundamentally
okay with the bouncer analogy and so they're
358
00:36:24,851 --> 00:36:29,501
actually wanting to make the hole smaller
and to make the bouncer more strict and as
359
00:36:29,501 --> 00:36:36,851
a result Haskell has this incredible ability
to make, illegal states unrepresentable.
360
00:36:37,271 --> 00:36:46,271
And you can put some absolutely wild things into
the type system, and you can encode invariants
that most programmers only dream about.
361
00:36:46,771 --> 00:36:54,741
It took Rust, I want to say five to eight
years to get close to higher kind of types, and
Haskell was like, oh, hold my beer, I got this.
362
00:36:55,141 --> 00:36:57,491
And they were like, oh, higher kind of types?
363
00:36:57,681 --> 00:37:06,186
How about There aren't a lot of fake dependent
types in the entire system, and you can stick the
whole program in the type system, just watch me.
364
00:37:06,466 --> 00:37:06,886
And,
365
00:37:08,391 --> 00:37:08,811
Tim: Do you
366
00:37:09,026 --> 00:37:18,016
Hazel: but the philosophical approach to
Rust, I think, has really always been, despite
367
00:37:18,086 --> 00:37:22,876
Rust kind of talking about things like a
bouncer, They want it to be a conversation.
368
00:37:23,216 --> 00:37:28,916
And that really changes the efforts
that the two different projects and
communities have put towards things.
369
00:37:29,466 --> 00:37:34,936
So while Haskell focuses on how rich
can you make your time system, how many
370
00:37:34,966 --> 00:37:38,566
invariants can you put in there, how
far can you push this correctness idea?
371
00:37:39,576 --> 00:37:42,546
Rust is you know what, we
want error messages to work.
372
00:37:43,126 --> 00:37:49,106
We want to make, do what you mean more acceptable.
373
00:37:49,676 --> 00:37:58,836
Rust has put an enormous amount of, theory, an
enormous amount of, okay, this program should
be legal, but we can't necessarily figure
374
00:37:58,836 --> 00:38:02,776
out whether or not the bar code checker or
the memory or whatever is going to work out.
375
00:38:03,116 --> 00:38:06,761
So rather than forcing you to write things
in a certain way, we're going to actually
force you to write things in a certain way.
376
00:38:07,041 --> 00:38:12,711
Make a whole bunch of PhD theses off
of this, and just reinvent a whole new
377
00:38:12,781 --> 00:38:17,711
we're just gonna forcibly pull out of
the ether a theory that makes this work.
378
00:38:17,821 --> 00:38:18,331
Tim: yeah, sure.
379
00:38:19,141 --> 00:38:27,846
Hazel: Very few languages And communities go
so far as to say, I know this should work,
so fuck it, we're going to make it work.
380
00:38:27,936 --> 00:38:36,116
I don't care how impossible the problem
is, we're going to make do what you mean
always work, as long as it's possibly valid.
381
00:38:36,416 --> 00:38:42,696
So they're simultaneously adding to
the safety of the language, but also
to the friendliness of the language.
382
00:38:42,986 --> 00:38:50,396
And also to the, we want that mental
model of how things work, to match
reality as closely as possible.
383
00:38:50,896 --> 00:38:55,116
If you use a variable inside a loop, it's And
then use it outside the loop, you know it's fine.
384
00:38:56,086 --> 00:38:59,236
And, up until, I want to say,
2018, the compiler didn't.
385
00:38:59,576 --> 00:39:03,166
And then non lexical lifetimes got introduced,
and they're like, you know what, screw you.
386
00:39:04,086 --> 00:39:11,626
This took maybe four years, and a PhD
thesis or two, and 20 RFCs, and 12,
000 pages of moderated discussion.
387
00:39:11,856 --> 00:39:12,056
But,
388
00:39:12,811 --> 00:39:13,291
Tim: it got
389
00:39:13,326 --> 00:39:13,706
Hazel: we figured it
390
00:39:13,771 --> 00:39:14,131
Tim: It's
391
00:39:14,431 --> 00:39:14,931
Hazel: We got there.
392
00:39:15,316 --> 00:39:19,106
Tim: I can I was trained or let's say molded.
393
00:39:19,906 --> 00:39:23,346
into this kind of older style.
394
00:39:23,356 --> 00:39:31,046
Like I learned Rust early and now
I sometimes make, quote, mistakes
that the borrow checker will allow.
395
00:39:31,046 --> 00:39:33,706
And I'm like, ah, that's much nicer.
396
00:39:33,726 --> 00:39:37,436
Thank you so much for all of the effort.
397
00:39:37,756 --> 00:39:43,566
And there are two things that I
think that we could maybe, actually
I would love your thoughts on.
398
00:39:43,576 --> 00:39:58,251
One is this Rust is infamous, potentially,
or at least Rust draws in a large number of
people that have a lot of opinions and does
399
00:39:59,441 --> 00:40:13,576
struggle with being able to have discussions
in a way that doesn't Simultaneously we, yeah,
tens of thousands of comments is probably
400
00:40:13,576 --> 00:40:20,496
not an exaggeration when one considers
all of the the threads and the there's a
discourse in fact, there are two discourses.
401
00:40:20,991 --> 00:40:29,491
instances, one for users, one for like
internal, there's a Zulip, plus there's the
RFC comment process inside of GitHub, and
402
00:40:29,491 --> 00:40:38,791
like all of these tend to be these kind of
voluminous threads and talking about kind
of the internet and humanity and the ability
403
00:40:38,791 --> 00:40:46,421
to allow people to express themselves and
so forth there is another way in which those
kinds of I'll allow you to get your thoughts.
404
00:40:46,421 --> 00:40:46,891
I'm sorry.
405
00:40:46,931 --> 00:40:52,461
But the, I am personally
turned off by a lot of that.
406
00:40:52,461 --> 00:40:53,961
I'm like that's its own form.
407
00:40:54,061 --> 00:41:03,171
Like it's just too much for me to really
engage in, but I'm glad that people do
invest their own time to really think.
408
00:41:03,221 --> 00:41:07,050
Yeah, I, is there another way to build
things collaboratively that doesn't
409
00:41:07,060 --> 00:41:11,500
involve people getting emotionally
burnt out as part of that process?
410
00:41:12,700 --> 00:41:18,760
Hazel: I think there is, but I think it
also requires reframing things a little bit.
411
00:41:19,200 --> 00:41:25,590
For example, rather than thinking
about the question, how do we prevent
people from getting burned out?
412
00:41:26,060 --> 00:41:28,870
If you step back a little bit
and you go, what causes that?
413
00:41:29,470 --> 00:41:36,190
And to me, the thing that causes
that is, is psychological safety.
414
00:41:37,220 --> 00:41:45,020
So you have the concept of psychological safety
in groups and then you have the energy of people
and like their emotional energy and their ability
415
00:41:45,080 --> 00:41:53,861
to handle certain things and it turns out the
psychological safety helps a lot in boosting
the energy but the energy is going to be drained
416
00:41:53,921 --> 00:42:06,836
regardless if you scratch the same spot over
and over and To me, one of the biggest issues
of the scale of that is if you go into any
417
00:42:06,866 --> 00:42:15,656
large thread, and you say, I'm going to look for
this type of idea, and then you find the idea,
and you find references to the idea, you find
418
00:42:15,675 --> 00:42:24,776
callbacks to the idea, you find counterpoints to
the idea, and then you find the same idea again,
87 times, and then you find the same rehashing
419
00:42:24,776 --> 00:42:35,011
of that, and the same, and what you end up with
is This thing of, you end up with a story of
two cultures, the people who are there in the
420
00:42:35,011 --> 00:42:42,641
beginning of the thread, who now come in and
they hear the same fucking idea for, the 200th
421
00:42:42,661 --> 00:42:45,041
time, and they are so done.
422
00:42:45,436 --> 00:42:45,706
That's
423
00:42:45,706 --> 00:42:46,426
So, over it.
424
00:42:46,636 --> 00:42:47,176
so
425
00:42:47,341 --> 00:42:47,721
Tim: done.
426
00:42:47,721 --> 00:42:48,041
Yeah.
427
00:42:48,156 --> 00:42:52,776
Hazel: you need to just read all
800 pages of this discussion.
428
00:42:52,986 --> 00:43:01,356
And on page 214, you will find very
clearly this idea was articulated and
laid out and dealt with four years ago
429
00:43:01,411 --> 00:43:01,771
Tim: Yeah.
430
00:43:01,901 --> 00:43:02,111
Yeah.
431
00:43:02,111 --> 00:43:02,281
Yeah.
432
00:43:02,281 --> 00:43:02,501
Yeah.
433
00:43:02,501 --> 00:43:04,771
And yeah, I can't believe you
haven't read the whole thing.
434
00:43:06,451 --> 00:43:07,341
And it's hard for everyone.
435
00:43:07,466 --> 00:43:15,566
Hazel: So that the collective understanding,
how do you take collective understanding
and exploration of a problem space and
436
00:43:15,566 --> 00:43:21,435
then make it summarizable and make it
expandable so that it behaves like a factal?
437
00:43:22,116 --> 00:43:28,466
So you want people to be able to dig
into the details and explore the problem
space, but you want to be able to zoom
438
00:43:28,466 --> 00:43:32,716
out and see the shape of the factal so
that you know where things are going.
439
00:43:33,201 --> 00:43:41,931
And you don't have that ability to build a
fractalist with human communication patterns,
and that, I think, is one of the biggest barriers
440
00:43:41,981 --> 00:43:55,580
that we have yet to solve in human communication
scale, because it is fractal in nature, we can't
represent that fractalness in a way that So you
441
00:43:55,580 --> 00:44:02,640
end up with a group of ten heroes or a group of
a couple heroes who build this giant factor in
442
00:44:02,650 --> 00:44:08,480
their head and you have to just go, I trust you
that you have the whole problem in your head.
443
00:44:08,750 --> 00:44:16,540
And I trust that you have read the All 800 pages
of discussion and that you've not skipped anything
and you've built this complex rich structure
444
00:44:16,540 --> 00:44:20,990
in your head that you will never be able to
represent on paper and you can't take anyone to
445
00:44:20,990 --> 00:44:27,700
the attorney without, 50 spoons of yarn looking
like a mad person and, a 50 hour long discussion.
446
00:44:29,130 --> 00:44:29,730
You
447
00:44:29,730 --> 00:44:30,350
just can't do that.
448
00:44:30,390 --> 00:44:30,600
Tim: And
449
00:44:30,900 --> 00:44:31,690
Hazel: So then,
450
00:44:32,020 --> 00:44:37,130
Tim: because the one, I think the sub point or
like in between the lines here is that actually
451
00:44:37,130 --> 00:44:42,960
those 800 pages or what have you, people
did actually spend a lot of time and effort.
452
00:44:43,800 --> 00:44:44,820
during that discussion.
453
00:44:44,820 --> 00:44:47,980
That's all important content in context.
454
00:44:48,410 --> 00:44:55,120
And it is genuinely impossible to
yeah, to yeah, join all of those dots
unless you fully immerse yourself.
455
00:44:55,120 --> 00:44:56,300
And there are some people that will.
456
00:44:56,570 --> 00:45:03,450
I have a question for you relating to seeing if
I can join a few dots between this discussion.
457
00:45:03,450 --> 00:45:04,950
So we started talking about.
458
00:45:05,930 --> 00:45:15,241
creating a human centric web, and we've
touched on and I want to ask you a question
around, and in programming languages, and the
459
00:45:15,241 --> 00:45:21,011
question that I have is, who is the audience
for the website of a programming language?
460
00:45:21,521 --> 00:45:28,356
And the, because, I'll because I think it's
an odd question, I think those websites
461
00:45:28,416 --> 00:45:32,536
are more important than they seem to
facilitate a lot of what we're talking about.
462
00:45:33,736 --> 00:45:39,711
Hazel: yeah, it's So the websites, those
are, it's a really interesting question
and I think about it a lot because I'm
463
00:45:39,711 --> 00:45:45,461
on the board of the Haskell Foundation
and we think about this type of problem.
464
00:45:46,031 --> 00:45:54,091
And so when I think about like the ecosystem
of a programming language, you have the
language, you have the compiler, you have
465
00:45:54,091 --> 00:46:02,021
the tools built around it, the communities of
people, those who use it, those who build it,
those who share it and teach it and learn it.
466
00:46:02,041 --> 00:46:07,681
And you have all these different users
and you have the companies they work for
and the projects that are built with it.
467
00:46:07,681 --> 00:46:11,441
You need to represent that whole
thing, almost through a website.
468
00:46:12,131 --> 00:46:19,151
So you end up with a couple of different
main demographics of people, all which
have very wildly different needs.
469
00:46:20,431 --> 00:46:26,031
You have the beginner people who just
want to learn a language and they want
to learn, and they're going to jump into
470
00:46:26,031 --> 00:46:32,291
this giant rat nest and they need a way
to traverse this in a very easy way.
471
00:46:32,631 --> 00:46:36,401
And they need to go from 0
to monkey see, monkey do.
472
00:46:37,001 --> 00:46:43,531
How soon can you get them to write 1 plus 1
equals 2 in the language and have it work?
473
00:46:44,541 --> 00:46:50,551
Shockingly, for a lot of languages,
the answer is about 15 steps and it
doesn't involve the main website.
474
00:46:50,551 --> 00:46:58,701
It involves the main website, the secondary
one, maybe there's one thing in the corner, 14
steps to download everything and you've already
475
00:46:58,796 --> 00:46:58,825
Tim: Yeah,
476
00:46:58,876 --> 00:47:00,066
Hazel: can't do that to a beginner.
477
00:47:00,191 --> 00:47:00,691
Tim: yeah, if,
478
00:47:00,856 --> 00:47:01,756
Hazel: See you at the beginner!
479
00:47:02,976 --> 00:47:11,966
You have, then, the evangelist who wants to share
the language and feed people and show them this.
480
00:47:12,226 --> 00:47:17,106
And so they need something they can
show people to demonstrate all the cool
things they love about the language.
481
00:47:17,706 --> 00:47:23,596
And that can get hard sometimes because
sometimes the things they love about the
language are the emergent properties of it.
482
00:47:24,096 --> 00:47:28,036
For example, people love to talk about
refactoring in both Rust and Haskell.
483
00:47:28,556 --> 00:47:34,746
But neither of the Rust website,
Northeastern Haskell website,
showcases the power of refactoring.
484
00:47:35,206 --> 00:47:39,566
They might talk about it, but
there's no compelling thing.
485
00:47:40,256 --> 00:47:43,426
And you have the evangelists
who get short sighted by things.
486
00:47:43,876 --> 00:47:49,576
You have the power users and the reference
material people and the experts who
need to dig it and find something.
487
00:47:50,026 --> 00:47:52,936
And they would like a central place
to be able to find it and index
488
00:47:53,036 --> 00:47:54,616
things and link it.
489
00:47:55,226 --> 00:47:58,236
Maybe to less experienced
people rather than having to go.
490
00:47:58,266 --> 00:47:59,876
Oh, yes, this one person's blog post.
491
00:48:00,466 --> 00:48:05,666
Oh, yes It's one person's thing or oh, yeah,
you know the documentation but it's packaged.
492
00:48:05,666 --> 00:48:12,696
It's great But don't look at the latest version
documentation Four versions back has a really
nice diagram in it and they took the diagram
493
00:48:12,696 --> 00:48:18,216
out and I have a portal quest open to add It
back in but anyway, so so look at version 2.
494
00:48:18,351 --> 00:48:19,361
Tim: yeah, that's the good one.
495
00:48:19,691 --> 00:48:20,021
Hazel: What?
496
00:48:21,281 --> 00:48:21,661
And then you
497
00:48:21,671 --> 00:48:22,211
have
498
00:48:22,501 --> 00:48:28,976
Tim: We, we literally had that, I
think, with the Rust But the West
website, where people would point back.
499
00:48:28,976 --> 00:48:30,295
It's oh no, go to the old one.
500
00:48:30,565 --> 00:48:34,825
Because there we talk about much more of
the technical advantages of the language.
501
00:48:34,865 --> 00:48:36,475
It used to be very engineering focused.
502
00:48:36,475 --> 00:48:41,715
And then there was the shift towards
this and empowering, empowerment mantra.
503
00:48:42,795 --> 00:48:50,975
And so you did have a phase, I think,
where people would be like, oh yeah, the
website exists, but the real website is
504
00:48:50,975 --> 00:48:54,855
the one that they've taken is still in the
repository that you can go and hunt through.
505
00:48:55,305 --> 00:49:01,455
And yeah, and it's probably a case
of different audiences expecting
different things from that front page.
506
00:49:02,655 --> 00:49:10,215
Hazel: You also have the, I think
the most uninsured people, and
this is the really difficult one.
507
00:49:11,095 --> 00:49:20,625
It is the group of people trying to get the
adoption of the technology of choice, like
the programming language, in the company.
508
00:49:21,385 --> 00:49:27,235
So particularly for smaller programming
languages, you have this chasm of everybody
509
00:49:27,235 --> 00:49:32,035
uses Java, or everybody uses Timescript, or
everybody uses one of the four languages.
510
00:49:33,080 --> 00:49:39,790
And then you have literally every other
language on the internet, and they're
all in the miscellaneous category.
511
00:49:40,170 --> 00:49:47,480
And so when you're in the miscellaneous
category and someone says, This language will
legitimately be the best language of choice here.
512
00:49:49,180 --> 00:49:56,480
How do I show this to engineering leadership or to
business leadership or to anybody in the company?
513
00:49:56,840 --> 00:50:01,935
And say, A, this, yes, will
save the company money.
514
00:50:02,445 --> 00:50:07,995
B, if I leave the one and only language
expert in the company, you are not screwed.
515
00:50:09,155 --> 00:50:16,245
C, you can hire experts to help
with things and make sure that there
is a path to de risking success.
516
00:50:16,755 --> 00:50:25,595
And then another one is, yes, the proving
that there's a return on value in the
investment and it can continue to grow that
517
00:50:25,595 --> 00:50:29,645
investment, but even if you don't, it's
still successful in the one small case.
518
00:50:30,155 --> 00:50:36,845
And that type of pattern of trying to
evangelize things to get leadership buy
519
00:50:36,845 --> 00:50:42,525
in is very common for smaller languages,
but it's very deeply underserved.
520
00:50:42,935 --> 00:50:46,545
Unless you have someone who happens to be
an expert in the language and also an expert
521
00:50:46,555 --> 00:50:52,875
in selling things and getting alignment to
leadership, you're going to run into this problem.
522
00:50:54,075 --> 00:51:01,650
even when you are successful,
often cases Leadership, like often
cases, the success is transient.
523
00:51:02,490 --> 00:51:08,700
So Meta, for example, this is a problem that
the Haskell language has had before, where
various large companies that are very public
524
00:51:08,700 --> 00:51:16,490
about using the programming language didn't
use it necessarily for smaller projects going
forward, but for other projects going forward,
525
00:51:16,710 --> 00:51:22,590
because the cost of continuing maintenance
on internal tooling integration It's hype.
526
00:51:23,640 --> 00:51:25,980
And so that was a thing.
527
00:51:26,010 --> 00:51:30,580
So when you, as an engineering leader,
look at this problem, you're also looking
528
00:51:30,580 --> 00:51:36,750
at what is the cost of integrating this
language into how we do everything.
529
00:51:37,120 --> 00:51:43,290
So that's security, that's compliance,
that is okay, we have our internal tooling
530
00:51:43,290 --> 00:51:47,240
genes, we have our internal CI pipelines,
our internal, all these other things.
531
00:51:47,970 --> 00:51:50,420
How do we integrate this
into all of our other stuff?
532
00:51:51,465 --> 00:51:56,475
We just say, find it for yourself
and have fun, because that's a great
way to not get anybody using it.
533
00:51:57,675 --> 00:51:59,945
And, so you can't ignore that.
534
00:52:00,275 --> 00:52:10,065
But, pretty much no programming language
website necessarily has a very clear link to
here's our compliance page, here's our CVE
535
00:52:10,075 --> 00:52:15,235
list that applies to every single package
that is third party and or first party.
536
00:52:15,555 --> 00:52:24,720
Here's all of our vendors, here's a way that
we can say that you can use this package and
it is Tested via this process and there's
537
00:52:24,830 --> 00:52:33,170
some sort of certification of we have an SLA
around CVEs It's not just, Samantha opens a
pull request and then maybe it's finished.
538
00:52:34,230 --> 00:52:37,730
Where's your business de risking things?
539
00:52:38,230 --> 00:52:39,850
And most don't have that.
540
00:52:40,260 --> 00:52:45,260
But also pretty much nobody cares about that
except in the one case That you are trying to
541
00:52:45,260 --> 00:52:49,500
sell this to leadership And leadership cares
about that because they're in that environment.
542
00:52:50,750 --> 00:52:56,360
Tim: Yeah, no, and it's never going
to be the fun thing, like it's never
going to be the first thing that you do.
543
00:52:56,750 --> 00:52:58,270
And fascinating.
544
00:52:58,320 --> 00:53:02,150
Like I've got so many thoughts,
but we are quite close to.
545
00:53:02,975 --> 00:53:09,125
to the end of the chat and I do wish to
allow you to go on with your evening.
546
00:53:09,455 --> 00:53:16,245
Before we wrap up, I should ask you,
Hazel who are you and why did you
start to think about all of this stuff?
547
00:53:16,265 --> 00:53:16,705
Hazel: Yeah.
548
00:53:17,245 --> 00:53:25,975
So my name is Hazel Weekly and I do a lot
of platform engineering, observability,
549
00:53:26,035 --> 00:53:31,195
infrastructure, DevOps, program
and language theory related things.
550
00:53:31,545 --> 00:53:35,045
And all to me is actually deeply interrelated.
551
00:53:35,765 --> 00:53:46,720
And the thing that really drives a lot of the
pursuit for me is that question of wholeness
of how do you Build tools and ecosystems
552
00:53:46,720 --> 00:53:57,530
and ways of working and collaboration
between people to get them to a point where
they are greater than some of their parts.
553
00:53:57,800 --> 00:54:05,290
And also to do this magical thing where
you enable people to do things they didn't
554
00:54:05,290 --> 00:54:11,200
even know that they could, and they see the
results of those efforts and then they go.
555
00:54:12,000 --> 00:54:14,560
Wow, I didn't know I could do that.
556
00:54:14,560 --> 00:54:25,770
I didn't know I was, and then they light
up and their eyes just glow with this
deep inner confidence of everything.
557
00:54:25,780 --> 00:54:35,765
And that feeling more than anything else,
being able to give people that deep glow of,
Achievement of purpose, of actualization.
558
00:54:36,315 --> 00:54:39,785
That really drives so much of what
I do and so much of what I think
559
00:54:40,095 --> 00:54:47,345
Tim: and thank you so much for being
greedy and essentially continuing
to drive for a better humanity.
560
00:54:47,345 --> 00:54:58,670
I know that it must be tiring because it feels
like this is this is just waves and waves of
new things but hopefully having discussions
561
00:54:58,670 --> 00:55:06,400
like this and raising the conversation and so
forth means that we can again start to create
communities which are stronger and better for it.
562
00:55:06,550 --> 00:55:07,770
So thank you so much, Hazel.
563
00:55:08,570 --> 00:55:10,560
Hazel: Thank you, this was
lovely and I look forward to
564
00:55:10,860 --> 00:55:11,260
Tim: Please do!
565
00:55:11,330 --> 00:55:13,150
Yeah no, we will definitely say hi again.