Navigated to Tech tools for humans - Interview with Hazel Weakly - Transcript
Compose

·S2024 E5

Tech tools for humans - Interview with Hazel Weakly

Episode Transcript

Tim

Tim: Welcome to the fifth episode of the 2024 season of Compose.

Compose is a podcast for software engineers, primarily those who are interested in the Rust programming language.

This episode is one for tool builders.

We'll be talking to Hazel Weakly, one of the people behind the Hackerderm Mastodon instance, amongst several other things.

For example, she also sits on the board of the Haskell Software Foundation.

Let's start by asking Hazel what motivated her to write her blog post asking for more humanity and technology.

Hazel

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 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 have this AI thing, we can use it to cut costs and minimize humans and take all these things out.

And I'm just like that's not how this works.

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- We have taken human interaction and paywalled it, so that you have to wade through a sea of computer interacting with computer and computer generated information, computer generated misinformation in order to find the small remnants of humanity In the muck.

And I'm like, that is, that's just so far from the dream of what gets me going in the morning.

And so I felt compelled to sit down and articulate that dream.

And I tend to articulate things at different levels.

At the beginning level, there is the information.

And then at the higher level, when you need to express something more real, Then you start blending in analogies, you start blending in metaphors, you start blending in a bit more artistic language in order to give people a more accurate picture.

So rather than taking those away, those actually help humans communicate.

But at some point the communication, you're starting to communicate at such a deep level that you can no longer express things in the concrete and you have to express them in abstract language.

And at that point it starts sounding like poetry.

And so when I wrote that, I miss the days of humanity.

That was really what I was coming from.

I needed to connect to something so deeply that I couldn't just write it out.

Tim

Tim: That's cool.

I love the story, actually.

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.

So you're describing essentially we had this kind of enveloping cloud of darkness or like the storm approaching and now everything is different.

But what was it back in the day?

Back then, was, did that exist?

Hazel

Hazel: There's this feeling that I've captured throughout my career and I've been able to capture this feeling in fleeting moments.

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 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 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 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 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 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 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 everyone is so deeply focused on this collective actualization and self actualization that together they become, you can't disentangle them anymore.

And when the community and the individual are so focused on enriching everything around them and making it whole and bringing that wholeness to light, You get something beautifully indescribable and effervescent in the nature of human connection, and that is the feeling that 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 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 parts, but when you explicitly break down and destroy the whole in order to hyper optimize the individual parts, you make it impossible fundamentally for humans to become humanity.

And that is the sole question to me.

The idea that millions of people, the vast majority of people in our society, are never going to be able to be given the space to even understand the concept of self actualization or community actualization, much less Be empowered to seek it out.

And so we're going to enter this very, it feels like a very dark period of history where innovation becomes a thing we're just not able to really do anymore.

And everybody's going to go where's the innovation?

And you can already see it in the arts.

You can already see it in the lack of original content in the.

Every movie ever released is a sequel, or a rehash, or a reboot.

Every, we've already seen it in the arts.

We've lost the ability to innovate.

And it's going to trickle all the way down into everything else.

And we're going to enter an ability where people just don't know how to connect with other humans and be human anymore.

And, Computers to me was supposed to be the thing that connected humanity.

Tim

Tim: Essentially technology is not facilitating humanity.

There's an irony also in that images through let's say Instagram and then video through I suppose TikTok and then, everywhere has actually become, has facilitated something that's Internet-like.

However, it's far different than let's say the internet or like the worldwide web in the early 2000s.

it's almost as though using less text has actually created fewer opportunities for people to be able to contribute.

And, how does that feel to you as an idea?

Hazel

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 to me how everything goes through the same pattern of you build this new service, this new platform.

You get people on it and then.

Three things happen in the same order.

The first thing is you get a bunch of underrepresented minorities on the platform and they use it and they start deeply, rapidly innovating at a level that you cannot keep up with.

And that was the very beginning, the very, very beginning of TikTok.

And it just got to this wild point very rapidly where there's a flash point and TikTok was dominating the creation of social media and redefining it.

And you had all of these predominantly black creators really innovating on the platform and using it.

And it turns out the reason was Stage 2.

It created an algorithm that worked.

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.

Everything works fine, everything is fantastic, but you don't necessarily maximize revenue.

And then you enter in the second stage of instead of having this Emerging property people being able to discover exactly what they want and engage with it and innovate and remix on top of it and create a call response dialogue.

Twitter had this, TikTok had this, it's been a thing.

You end up with the quandary of how do we not show people what they want?

And the reason for that is because if you show someone what they want, you showed it to them for free.

If you have the content creator pay to show the person what they want, then what you're doing is the content creator and the person, they don't have that relationship anymore.

You want to monetize that relationship, but they already found each other.

So you end up having to have the situation where you need to convince a bunch of people to pay to show their stuff to people who are already interested in it.

And they know they're interested in it, because that's literally their follow base.

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.

So you're, by definition, paying to ask that don't work.

so that people can see that, and then the feed becomes filled with things you didn't want to see.

Because everything you didn't want to see was a monetary transaction, and the only way to make the platform monetarily sustainable is to create this adversarial relationship between people, which fundamentally destroys how call and response works.

And then you can't get this form dialogue, because it's the Town Square form style dialogue of call and response that lets human engagement on the internet scale past a certain point.

That was the magic of Twitter where you have this town form thing of people being able to dialogue with each other at scale.

And then TikTok has this where you have the correspondence thing of being able to stitch things together and create dialogue at scale.

And then you broke that by monetizing the endpoints and severing all the connections to make the human networks work so that you can monetize it.

Sell it.

Tim

Tim: Yeah and, what do you think people are selling?

Because here's another sort of assumption.

I'm so curious on your thoughts.

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?

I'm from New Zealand and there's plenty of advertising here.

I grew up, like there are billboards everywhere, but when I go to the States for a visit, like I'm just inundated.

I'm just totally saturated.

It's like very strange cultural shock where advertising is everywhere.

I just find it very strange.

And I suppose that's the natural inclination of these systems.

It's let's throw an ad in there.

Is that is that what you're saying or right.

Hazel

Hazel: runs on because you have this interesting thing of you have the power law distribution of, 1 percent of creators create like 90 percent of the content, 10%, like you have this very power law distribution of creation.

We also have a power law distribution of consumption and people can't pay for their own consumption, which is this really.

Weird thing.

And then so to get around the paywall issue, you tier the pay.

But the way you tier the pay is you need to create a parallel distribution of payment.

So you need to figure out how to separate very high value users from very low value users and make low value users cheap.

And the best way to do that is to pay via usage, but you're not going to have someone pay like a tenth of a penny or something per view on a on a video.

That, that doesn't work, but you essentially end up doing that exactly by paying via advertisement.

Because then that person purchases something and you end up being a transaction proxy.

Tim

Tim: Yeah, you absolutely do.

The because that 20 seconds or what have you of time.

is worth something to you and the advertiser.

It just doesn't happen to be a cash transaction that you were involved in.

It just is yeah, people are buying.

Yeah, no, it's, that's an interesting idea.

Hazel

Hazel: And then so companies like marketplace companies eBay, Etsy are good examples, but marketplace companies were like, this is great.

We'll just sit in the middle and we'll do this.

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 amount of money because they do so very inefficiently and they have none of the pressures to make An efficient exchange of value when you take yourself on the equation.

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 and then blow that up so it becomes very inefficient and very, you can get that gap.

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.

And it's a very user hostile thing, but it ends up dehumanizing the entire platform and generating revenue.

We don't need to generate that much revenue if you don't have all these weird perverse incentives in place.

But it ends up making it to the point where the internet can't run with all that type of model.

We don't really know what it looks like to have the internet not do that.

So

Tim

Tim: But may I ask as someone who spends a lot of time on the Fediverse, how much does it cost to run Like a Fediverse server with, let's say, tens of thousands of users.

Hazel

Hazel: that one's interesting.

I helped build Hackaderm, which is one of the largest of Maslow's instances out there.

So that goes down to a couple different parts.

The first one is Mastodon specifically is horribly inefficient to run.

It's a Ruby on Rails app.

It's but the thing is the Ruby on Rails part is not actually that hard.

The hard part is federated media.

That is the compute intensive thing that destroys the whole value proposition because that goes into content validation.

And that's where the whole decentralizing of the Fediverse falls apart because content validation means that if someone puts an image on the internet, how do you know that it's, A, an image and not something else?

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?

And, 3, how do you know that the image is legal?

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.

And some countries have laws based on whether or not something gets routed through any quote internet tubes in that country.

So for example, any mastodon server, more than about 5, 000 people needs to start worrying seriously about CCM.

or child explicit horrible things on the internet.

And the legal ramifications of that mean that you have to have a legal protection entity and you can't avoid that.

But it also means that because of that and viruses and other things like that, you have to re include everything and you have to download it and then use image magic to convert the image and re convert it.

So every time you see an image on the fediverse, it has been downloaded by all 5200, 000 different fediverse servers, and then 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.

Tim

Tim: And they need to do that because they

Hazel

Hazel: breaks every single child sam CSAM protection technique.

Tim

Tim: yeah, because you can't trust anything from anywhere.

So you need to, the only thing you can really trust is your own computer, because it's literally the Fediverse.

And the.

So the inefficiency there, it sounds like the money that we quite need in order to run, let's say, an active server comes from the a, it's not really, okay, there's two parts.

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 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.

And then and then also we have to we are, we'd prefer not to exp distribute.

Obscene material, let's say because we could be criminally liable for distribution and storage and so forth, as well as the fact that there are pretty significant ethical things going on.

So there is a com It sounds like there is a combination of both technical complexity or, uh, like inefficiencies.

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.

Hazel

Hazel: Yeah.

Plus you want probably about one human moderator per to two thousand users on the application and that scales semi exponentially.

It scales non linearly.

Tim

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 the world are going to find their way to you and you're actually quite a good target now.

for distribution.

Is that the reason why this non linear scaling occurs?

Hazel

Hazel: It's that reason, but it's also because communication over a network scales exponentially.

And there's a lot of network and graph theory things on that, but it turns out human communication works the exact same way.

The more users you have on a system, the more they're talking to each other.

In the morning you're going to run into moderation problems.

And most moderation problems don't involve rule violations, which is a thing that people don't anticipate.

But if you have, for example, real real examples, slightly modified, you might have two users talking to each other.

One is pro this will do that is very controversial right now.

One is on the other side.

And the server rules say, essentially, no hate speech, no pro genocide, no reasonable things.

And they're talking about the topic, but they're not breaking any rules, but they need to tone it down.

And so someone might say, Hey, this is getting very emotionally charged.

Someone might need to step in, but no rules have been broken yet.

How do you step in?

Or when you have a rule set and the rules that said, no hate speech.

But to an American, the definition of hate speech is actually very narrow compared to pretty much everybody in Europe.

So like an American we might say, oh yes, that's just a Republican being a Republican.

Or that's just this, political party.

They're just all like that.

That everybody else in the world is just horrified at the things coming out of their mouths.

And

Tim

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 example, when it's not even our constitution like we and so you, so there's also and yeah, I think, so the definition of what hate speech is and the fact that different countries do it differently.

Free speech was originally a political protection against tyranny of the state, but it's now interpreted in, as a much broader term than I think was probably originally.

Anyway, I'm probably going to start getting jumped on.

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 moderator and there were a couple of people representing views or you might have a few local politicians like like in the literal 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.

So when do we close the road?

Do we pay more money and only do the roadworks at night or do we essentially close the whole thing?

And so we have some meeting.

It gets heated.

The idea of the moderator is to moderate that discussion and actually it's very acceptable to say, okay, this is difficult.

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 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 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 deleting posts or maybe even like kicking or banning or having some sort of suspension.

That's a different kind of relationship with the participants.

Do you think that technical moderation should be like cExplicit?

The risk of having kind of a a meta discussion about how moderation is happening in the server, which is happening while this other heated debate is occurring, how do moderators in the Fediverse work?

Do they just delete things or do they have like private messages inside?

I guess it's Macedon specific, but how would that, how would the moderation group go about the process of deciding this is somewhere where we should intervene and how does that intervention happen?

Hazel

Hazel: And so the moderation thing is really interesting.

So I think a great example of what's difficult with this is to put the punchline in the fun.

I think the biggest issue with moderation is actually not necessarily about how do we secure them, but how do we scale it?

So as an example we had a user report on Hackaderm.

Okay.

And the user report was from someone who asked me personally to like, figure out if they should submit an actual report for this.

And the reason was, the person was fine.

They weren't, doing anything wrong.

However, the language that they chose to use for certain things was, via Google Translate or via any translation mechanism, innocuous.

But culturally speaking, if you live in Berlin, only people who are Nazi sympathizers use that word.

It means a very innocuous meaning, but it, the double cultural connotation, is of essentially a Nazi sympathizer, or it's very heavily coded towards a genocidal context.

But the word is fine.

You're not saying a final solution.

You're not saying any ridiculous actual Nazi symbolism, but it's really

Tim

Tim: It's

Hazel

Hazel: As in, it slips right by the

Tim

Tim: don't know if this

Hazel

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.

Tim

Tim: yeah,

Hazel

Hazel: can't moderate this effectively, and so you create an unsafe environment for any Germans who are reading this.

And something should be acted on.

There's a bigger question here, because this is a it's a federated setup, so it's Decentralized.

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 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 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.

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.

You don't have to re encode every image.

How do you take human interaction and collaboration and learn from it collectively and then scale that learning so that Putting, the definition of moderator aside, how do we take human interaction and human collaboration, figure out how to make it more productive and healthier, and then scale that learning out beyond just that one room, or out beyond just that one cultural context.

How do you do that?

And the answer traditionally has been to centralize everything, automate it, and then use an algorithm to filter out most of the nonsense, Segregate people in different corners and then pretend the problem doesn't exist.

And you see this in all of the big media platforms, but if you wanna actually create something that's unique and beautiful, pollination is a central facet to that.

And cross pollination is uniquely difficult in a de decentralized context, but that is exactly how humans work naturally anyway.

So then if you wanna build a wholesome internet.

You have to figure out, not even moderation, you have to figure out how do we scale learning about how humans work together and what types of decisions we need to make in order to have the outcome that you want.

Tim

Tim: Is it possible to create a wholesome programming language or like tools that facilitate building like wholesome or beautiful or let's use whichever positive adjective they would like but essentially these technological systems that we're creating like the distributed internet and like they're not centralized social media like we could create genuine social media not just like, how, essentially, how do developer tools or developer tooling can that essentially be biased towards outcomes for the downstream projects?

I don't know if that, is that a question?

I'm, I think maybe there is.

Hazel

Hazel: Does that make sense?

And that's actually one of my favorite

Tim

Tim: Okay.

Hazel

Hazel: When we, and this is something I've been thinking about since forever.

Can we make a wholesome language, a wholesome, whatever what makes wholesome verbs work, and how do you apply that to work that feels artificial or feels Concrete and mathematical.

It's how I interpret that.

And, so I think you can't necessarily create a wholesome thing.

What you can do is if you take the wholeness and you treat it as an emergent property of the system.

You do something with the system, you interact with it, and you see what comes out of that.

And if you like the result, you're on the right track.

And so it brings to mind two different writers for me.

One is Adrienne Marie Brown, and the other one is Christopher Alexander.

Adrienne Marie Brown has this book called Emerging Strategy, where she's thinking bottom up.

How do you build communities of people where the emergent behavior of that community is this wholesome community that works well together and gets the results that they want as their way of working.

And then Christopher Alexander, his work of say The Nature of Order and things like that was about.

How do you build processes and interactions, and structures, and ecosystems and environments, where existing in that environment and building that environment creates this vibrancy and wholeness in the air.

So it's like this top down approach of, can you create an environment that's wholesome, in which everyone in it is wholesome?

feels wholeness and can create wholeness and can grow that wholeness.

Versus the bottom up of, can you create a way of working with humans that builds this wholeness out of it?

And I think you need both approaches simultaneously.

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 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 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 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 thought or this describes my understanding of the problem this describes something like that, and depending on how you think about it, we can use kind of one of those three approaches.

So if I think about programming language theory and design, Rust has a lot of those kind of popularities and properties that result in Because Rust has a cultural approach to, you should make things easy, you should make it easy to do the right thing, and the easy thing to be the same thing.

And you have this, fearless concurrency, fearless, why choose why, Suffer, a drawback of a choice.

You should get all three.

You should be greedy in your pursuit of enjoyment.

And this idea that you can be greedy in the pursuit of enjoyment and in the pursuit of wholeness and you shouldn't have to suffer any downsides is this absolutely hubris idea.

And it's so cheeky.

Because it's completely impossible.

You can't have no downsides.

You can't have your cake and eat it too.

And Russ is you know what?

I want my cake, I want to eat it too, and I want the cake to work the first time I make it.

And then, and they get there.

But it's the human sort of chivalrous to go on.

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.

That doesn't stop me from doing it.

Tim

Tim: Look, Ruz does have.

Things, which I think make it difficult.

I think that it demands a lot of big, it demand, it demands a lot from beginners in the sense of, it's just essentially it requires you to think about programs slightly differently and apply.

A different mental model to developing software.

And part of that process is that the compiler is stricter.

It allows fewer programs through the door.

It like, is a bit of a bouncer.

And you're, You've got this mental idea about yourself as a compiler.

competent programmer.

If the bouncer isn't letting you into the club of happy programs, suddenly you feel like you're being attacked.

And I think that's one of the things that is difficult for people when they try to learn the language.

But yeah I agree that maybe Rust, you've, Does allow you to take from the whole buffet.

Like I, we were stretching of metaphors and analogies, but Right.

Like

Hazel

Hazel: yeah.

Tim

Tim: you can

Hazel

Hazel: So that's actually a great example with the compiler, allowing fewer problems.

So if you look at that from two different perspectives, you have the compiler as a gatekeeper, or a balancer, where not every program can make it in.

And then you have the compiler as a conversationalist, helping you navigate.

The space of possible programs and choose and put together the one that's going to work for you.

And the one that articulates your idea in a functional manner.

And I like to compare and contrast the efforts that rust and rust.

and Haskell have made in this particular regard because Haskell really is fundamentally okay with the bouncer analogy and so they're actually wanting to make the hole smaller and to make the bouncer more strict and as a result Haskell has this incredible ability to make, illegal states unrepresentable.

And you can put some absolutely wild things into the type system, and you can encode invariants that most programmers only dream about.

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.

And they were like, oh, higher kind of types?

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.

And,

Tim

Tim: Do you

Hazel

Hazel: but the philosophical approach to Rust, I think, has really always been, despite Rust kind of talking about things like a bouncer, They want it to be a conversation.

And that really changes the efforts that the two different projects and communities have put towards things.

So while Haskell focuses on how rich can you make your time system, how many invariants can you put in there, how far can you push this correctness idea?

Rust is you know what, we want error messages to work.

We want to make, do what you mean more acceptable.

Rust has put an enormous amount of, theory, an enormous amount of, okay, this program should be legal, but we can't necessarily figure out whether or not the bar code checker or the memory or whatever is going to work out.

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.

Make a whole bunch of PhD theses off of this, and just reinvent a whole new we're just gonna forcibly pull out of the ether a theory that makes this work.

Tim

Tim: yeah, sure.

Hazel

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.

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.

So they're simultaneously adding to the safety of the language, but also to the friendliness of the language.

And also to the, we want that mental model of how things work, to match reality as closely as possible.

If you use a variable inside a loop, it's And then use it outside the loop, you know it's fine.

And, up until, I want to say, 2018, the compiler didn't.

And then non lexical lifetimes got introduced, and they're like, you know what, screw you.

This took maybe four years, and a PhD thesis or two, and 20 RFCs, and 12, 000 pages of moderated discussion.

But,

Tim

Tim: it got

Hazel

Hazel: we figured it

Tim

Tim: It's

Hazel

Hazel: We got there.

Tim

Tim: I can I was trained or let's say molded.

into this kind of older style.

Like I learned Rust early and now I sometimes make, quote, mistakes that the borrow checker will allow.

And I'm like, ah, that's much nicer.

Thank you so much for all of the effort.

And there are two things that I think that we could maybe, actually I would love your thoughts on.

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 struggle with being able to have discussions in a way that doesn't Simultaneously we, yeah, tens of thousands of comments is probably not an exaggeration when one considers all of the the threads and the there's a discourse in fact, there are two discourses.

instances, one for users, one for like internal, there's a Zulip, plus there's the RFC comment process inside of GitHub, and like all of these tend to be these kind of voluminous threads and talking about kind of the internet and humanity and the ability 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.

I'm sorry.

But the, I am personally turned off by a lot of that.

I'm like that's its own form.

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.

Yeah, I, is there another way to build things collaboratively that doesn't involve people getting emotionally burnt out as part of that process?

Hazel

Hazel: I think there is, but I think it also requires reframing things a little bit.

For example, rather than thinking about the question, how do we prevent people from getting burned out?

If you step back a little bit and you go, what causes that?

And to me, the thing that causes that is, is psychological safety.

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 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 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 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 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 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 beginning of the thread, who now come in and they hear the same fucking idea for, the 200th time, and they are so done.

That's So, over it.

so

Tim

Tim: done.

Yeah.

Hazel

Hazel: you need to just read all 800 pages of this discussion.

And on page 214, you will find very clearly this idea was articulated and laid out and dealt with four years ago

Tim

Tim: Yeah.

Yeah.

Yeah.

Yeah.

And yeah, I can't believe you haven't read the whole thing.

And it's hard for everyone.

Hazel

Hazel: So that the collective understanding, how do you take collective understanding and exploration of a problem space and then make it summarizable and make it expandable so that it behaves like a factal?

So you want people to be able to dig into the details and explore the problem space, but you want to be able to oom out and see the shape of the factal so that you know where things are going.

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 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 end up with a group of ten heroes or a group of a couple heroes who build this giant factor in their head and you have to just go, I trust you that you have the whole problem in your head.

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 in your head that you will never be able to represent on paper and you can't take anyone to the attorney without, 50 spoons of yarn looking like a mad person and, a 50 hour long discussion.

You just can't do that.

Tim

Tim: And

Hazel

Hazel: So then,

Tim

Tim: because the one, I think the sub point or like in between the lines here is that actually those 800 pages or what have you, people did actually spend a lot of time and effort.

during that discussion.

That's all important content in context.

And it is genuinely impossible to yeah, to yeah, join all of those dots unless you fully immerse yourself.

And there are some people that will.

I have a question for you relating to seeing if I can join a few dots between this discussion.

So we started talking about.

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 question that I have is, who is the audience for the website of a programming language?

And the, because, I'll because I think it's an odd question, I think those websites are more important than they seem to facilitate a lot of what we're talking about.

Hazel

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 on the board of the Haskell Foundation and we think about this type of problem.

And so when I think about like the ecosystem of a programming language, you have the language, you have the compiler, you have 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.

And you have all these different users and you have the companies they work for and the projects that are built with it.

You need to represent that whole thing, almost through a website.

So you end up with a couple of different main demographics of people, all which have very wildly different needs.

You have the beginner people who just want to learn a language and they want to learn, and they're going to jump into this giant rat nest and they need a way to traverse this in a very easy way.

And they need to go from 0 to monkey see, monkey do.

How soon can you get them to write 1 plus 1 equals 2 in the language and have it work?

Shockingly, for a lot of languages, the answer is about 15 steps and it doesn't involve the main website.

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

Tim

Tim: Yeah,

Hazel

Hazel: can't do that to a beginner.

Tim

Tim: yeah, if,

Hazel

Hazel: See you at the beginner!

You have, then, the evangelist who wants to share the language and feed people and show them this.

And so they need something they can show people to demonstrate all the cool things they love about the language.

And that can get hard sometimes because sometimes the things they love about the language are the emergent properties of it.

For example, people love to talk about refactoring in both Rust and Haskell.

But neither of the Rust website, Northeastern Haskell website, showcases the power of refactoring.

They might talk about it, but there's no compelling thing.

And you have the evangelists who get short sighted by things.

You have the power users and the reference material people and the experts who need to dig it and find something.

And they would like a central place to be able to find it and index things and link it.

Maybe to less experienced people rather than having to go.

Oh, yes, this one person's blog post.

Oh, yes It's one person's thing or oh, yeah, you know the documentation but it's packaged.

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 out and I have a portal quest open to add It back in but anyway, so so look at version 2.

Tim

Tim: yeah, that's the good one.

Hazel

Hazel: What?

And then you have

Tim

Tim: We, we literally had that, I think, with the Rust But the West website, where people would point back.

It's oh no, go to the old one.

Because there we talk about much more of the technical advantages of the language.

It used to be very engineering focused.

And then there was the shift towards this and empowering, empowerment mantra.

And so you did have a phase, I think, where people would be like, oh yeah, the website exists, but the real website is the one that they've taken is still in the repository that you can go and hunt through.

And yeah, and it's probably a case of different audiences expecting different things from that front page.

Hazel

Hazel: You also have the, I think the most uninsured people, and this is the really difficult one.

It is the group of people trying to get the adoption of the technology of choice, like the programming language, in the company.

So particularly for smaller programming languages, you have this chasm of everybody uses Java, or everybody uses Timescript, or everybody uses one of the four languages.

And then you have literally every other language on the internet, and they're all in the miscellaneous category.

And so when you're in the miscellaneous category and someone says, This language will legitimately be the best language of choice here.

How do I show this to engineering leadership or to business leadership or to anybody in the company?

And say, A, this, yes, will save the company money.

B, if I leave the one and only language expert in the company, you are not screwed.

C, you can hire experts to help with things and make sure that there is a path to de risking success.

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 investment, but even if you don't, it's still successful in the one small case.

And that type of pattern of trying to evangelize things to get leadership buy in is very common for smaller languages, but it's very deeply underserved.

Unless you have someone who happens to be an expert in the language and also an expert in selling things and getting alignment to leadership, you're going to run into this problem.

even when you are successful, often cases Leadership, like often cases, the success is transient.

So Meta, for example, this is a problem that the Haskell language has had before, where various large companies that are very public about using the programming language didn't use it necessarily for smaller projects going forward, but for other projects going forward, because the cost of continuing maintenance on internal tooling integration It's hype.

And so that was a thing.

So when you, as an engineering leader, look at this problem, you're also looking at what is the cost of integrating this language into how we do everything.

So that's security, that's compliance, that is okay, we have our internal tooling genes, we have our internal CI pipelines, our internal, all these other things.

How do we integrate this into all of our other stuff?

We just say, find it for yourself and have fun, because that's a great way to not get anybody using it.

And, so you can't ignore that.

But, pretty much no programming language website necessarily has a very clear link to here's our compliance page, here's our CVE list that applies to every single package that is third party and or first party.

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 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.

Where's your business de risking things?

And most don't have that.

But also pretty much nobody cares about that except in the one case That you are trying to sell this to leadership And leadership cares about that because they're in that environment.

Tim

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.

And fascinating.

Like I've got so many thoughts, but we are quite close to.

to the end of the chat and I do wish to allow you to go on with your evening.

Before we wrap up, I should ask you, Hazel who are you and why did you start to think about all of this stuff?

Hazel

Hazel: Yeah.

So my name is Hazel Weekly and I do a lot of platform engineering, observability, infrastructure, DevOps, program and language theory related things.

And all to me is actually deeply interrelated.

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 and ways of working and collaboration between people to get them to a point where they are greater than some of their parts.

And also to do this magical thing where you enable people to do things they didn't even know that they could, and they see the results of those efforts and then they go.

Wow, I didn't know I could do that.

I didn't know I was, and then they light up and their eyes just glow with this deep inner confidence of everything.

And that feeling more than anything else, being able to give people that deep glow of, Achievement of purpose, of actualization.

That really drives so much of what I do and so much of what I think

Tim

Tim: and thank you so much for being greedy and essentially continuing to drive for a better humanity.

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 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.

So thank you so much, Hazel.

Hazel

Hazel: Thank you, this was lovely and I look forward to

Tim

Tim: Please do!

Yeah no, we will definitely say hi again.